• CAN

    • CAN网络应用

      • 简单案例

        • 典型汽车网络拓扑结构

        • 动力CAN(1)
          • 负责车辆动力和必须实时响应的安全相关ECU接入这条CAN
        • 底盘动态CAN(2)
          • 负责底盘动态控制和辅助相关的功能的ECU接入到这条CAN
        • 信息CAN(3)
          • 负责仪表、中控相关的ECU
        • 车体CAN(4)
          • 负责车辆上和驾驶无关的一些车门、车窗、天窗、空调、电动座椅的控制相关的ECU接入到这条CAN
        • 诊断CAN(7)
          • 负责全车检测和ECU升级通道
      • 实际开发中一定是根据功能组来定义报文优先级,同一个网段发送的报文可能被网关转换成各种不同优先级的报文甚至由网关来拆分,功能越是复杂的整车网络,网关的设计就会越复杂,所以网关才是CAN网络的实际中心枢纽。
      • 诊断CAN上的报文必须遵照UDS协议,它是固定的,也不存在网关转发时转换优先级的问题,因为它本来就是优先级最低的报文了。
    • CAN软件设计
      • CAN的传输速率和同步参数

        • 传输速率
        • 系统时钟
        • 位电平采样点位置
        • 分频系数
        • 时序寄存器
      • 接收端报文过滤器
        • 把ECU需要的报文ID写入到CAN控制器的接收ID寄存器里
      • 节点在Bus Off时的行为
        • 自动退出Bus Off
        • 软件干预节点
          • 进入Bus Off状态后一直维持至软件控制退出Bus Off
          • 进入Bus Off状态后仍可硬件根据协议自动退出Bus Off状态,但在退出前可以被软件阻止退出
      • 数据收发处理
        • 接收

          • 软件轮询/操作系统调度

            • 需确定接收处理的调度周期和接收FIFO深度
        • 发送
          • 时间触发/周期触发

            • 软件可以通过操作系统调度或消息队列等形式统一处理
            • 周期触发
              • 可通过配置MCU的计时器中断或者用轮询的方式确定发送时间点
      • 错误处理
        • 由软件干预Bus Off退出行为时,如果不使用Bus Off中断,而使用轮询Bus Off状态标志寄存器来作为进入Bus Off处理条件时,在一些控制器上Bus Off状态寄存器是不锁存的,也有一些控制器是有锁存和不锁存两种寄存器同时存在的。
        • 因为ACK错误不会使节点进入Bus Off状态,所以如果ECU设计要求对全错误类型都要做软件干预处理的话,则需要在特别发送处理后关注错误状态寄存器和错误类型寄存器。当错误状态寄存器置起且错误类型寄存器为ACK错误时,要单独的进入ACK错误处理流程
    • CANoe软件页面介绍
      • CANoe软件页面

        • File:文件处理

          • 新建文件

            • File这个菜单可以新建各个各样的模板,比如CAN、LIN、以太网模板,例如: CAN 500kBaud 1ch代表CAN总线模板、波特率500k、一个通道(波特率和通道后续可修改)
          • Save
            • Save可以储存当前的CANoe工程cfg文件Save as可以储存之前版本的文件,CANoe支持高版本打开低版本
          • Sample Configurations
            • 这里边Vector带了很多的Demo示例,包含仿真系统、CAPL函数、面板控件等
          • Options
            • 这里边可进行配置,值得注意的一点就是数据历史,如果测试的数据庞大,数据中会出现丢失,数据曲线可能只录了一小段。原因就是配置中没有把缓存调大。
        • Home:主运行窗口
        • Analysis:分析
        • Simulation:仿真
        • Test:测试
        • Diagnostics:诊断
        • Environment:外部变量
        • Hardware:硬件配置
        • Tool:工具编辑器
        • Window:窗口配置
    • CANoe测试环境搭建
      • 界面介绍

        • Simulation Setup
        • Measurement Setup
      • 附加工具
        • CAPL Browser
        • CANdb++ Editor
      • CANoe相关文件格式
        • .cfg

          • CANoe项目配置文件,可以理解为工程文件
        • .dbc
          • CAN数据库文件
        • .can
          • 仿真节点程序源代码,编译后生成.cbf
      • 简易工作流程
        • 使用File> New Configuration>CAN 500k Baud 1ch> Create Configuration新建一个CANoe项目配置文件
        • 打开Simulation Setup窗口, 为仿真网络添加CAN数据库
        • 在Simulation Setup内添加仿真节点
        • 为仿真节点编写程序,语言可以使用CAPL
        • 选择全仿真网络 (Simulated bus) 或者真实网络 (Real bus),半仿真同样使用Real bus;6、运行CANoe,开始仿真或者分析
        • 通过Measurement Setup打开各个窗口观察CAN网络,通过Write窗口观察仿真程序的输出
        • 结束
      • CAN数据库
        • CAN数据库编辑工具

          • CANdb++ Editor
        • CAN数据库结构
          • 报文信号
          • 报文
          • 网络节点
          • 网关
          • 环境变量
          • ECU
          • 网络
        • CAN信号格式
          • Motorola格式
          • Intel格式
        • CAN数据库的设计
          • 新建.dbc文件
          • 建立网络节点
          • 建立报文
          • 建立信号
          • 编辑报文信号
          • 建立环境变量
      • 配置仿真设置
      • 利用CAPL添加节点说明
      • 开始仿真
      • PANEL的使用
    • CAN FD基础
      • CAN FD与CAN2.0的区别

        • 为什么是CAN FD

          • 该协议能够支持更高的速率,可以更快的刷写ECU
          • 在单个数据帧内传送率可达64字节,避免了经常发生的数据分拆传输的状况
          • 对汽车行业而言, CAN-FD协议显得非常重要, CAN线束和其他物理层面元件可重新再利用
          • 更高的带宽,在电动车以及今后的动力CAN上应用更有优势>上层应用层架构不需要改变,在原来基础上扩展即可
        • 非ISO CAN FD与ISO CAN FD不兼容
        • 关于CAN FD的波特率
          • SAE标准
          • CIA标准
        • 位时间配置建议
          • 设置tqA=tqD(可减少量化误差)
          • 使tqA尽可能短(可最小化量化误差)
          • 选择最高可用的CAN时钟频率(例如80MHz)
          • 在仲裁场和数据场中,所有节点应分别具有完全一致的采样点位置,但仲裁场和数据场的采样点位置是可以不同的
          • 设置SJWA和SJWD尽可能大(可使网络更坚固)
          • 当数据场的比特率为1Mbit/s或更高时,开启发送器环路延时补偿功能(TDC)
        • CAN FD不再支持远程帧
        • 控制场
          • EDF

            • 可变数据波特率格式
          • BRS
            • 波特率切换,隐性表示转换可变速率
          • ESI
            • 错误状态指示,隐性表示发送节点处于被动错误状态
          • res
            • 保留位
      • CAN与CAN FD网络兼容性的问题
        • 通讯速率和数据长度不同的冲突

          • 传统CAN节点以1Mbit/s 传输数据到CAN FD:直接通过 (CAN FD向下兼容)
          • CAN FD设备以8Mbit/s传输数据到传统CAN:采用CAN FD路由器:先将传统CAN FD的速率自动降为1Mbit/s再转出去
          • 传统CAN节点向 CAN FD节点传输8字节的数据:直接通过(CAN FD向下兼容)
          • CAN FD节点向传统CAN节点传输64字节的数据:采用可编程CAN FD路由器:预先编程并下载到路由器,CAN FD的数据通过路由器后可以按照预先设置的程序将数据做拆包等处理再转成8字节转发出去给传统CAN设备
        • 非ISO CAN FD与ISO CAN FD设备的通讯问题
          • 采用Router FD可以实现两种CAN FD机制的转换
        • 多个设备交叉通讯的问题,多个切换的问题,如何解决一个设备需要同时与CAN FD节点和传统CAN节点通讯的切换问题
          • 未来的CAN网络,较长时间内都会存在着传统CAN与CAN FD并存的情况。部分亟需解决速率问题的节点会率先采用CAN FD技术。其他对实时要求不高的节点仍然会保存原有技术并存在着。
        • 如何解决测试平台共用的问题?(如针对非通讯状态下的:疲劳测试,寿命测试,环境测试等,共用平台)
          • 采用Router FD可以将同一个待测的CAN FD设备连入不同的测试平台中,最终完成各项测试任务
    • CAN-FD核心技术简介
      • 在保证CAN总线上非相关节点软硬件基本不动的前提下(硬件上只需更换收发器),CAN-FD是一种性价比最好的方法
      • CAN FD核心技术
        • 提高CAN时钟源频率的前提下依然保证误差容许范围不超过9000ppm(由CPU制造商保证)
        • 自动测量隐性到显性的传播延迟时间Tloop,结合不同波特率下隐性到显性传播延迟时间的期望值,在第二采样点SSP做补偿就可以
        • 当总线上所有节点都升级到CAN-FD功能后,网络波特率最大被限制2MHz。要想在5MHz范围内保证网络通信的可靠性,就要用更好的线束,收发器,而这又是一笔不小的成本

CAN网络应用软件设计CANoeCANFD相关推荐

  1. 【软件体系结构】架构风格与基于网络应用软件的架构设计:Roy Tomas Fielding】

    [软件体系结构]架构风格与基于网络应用软件的架构设计:Roy Tomas Fielding 博士 - 唐雕 - 博客园

  2. linux 远程挂载摄像头_基于Linux的嵌入式网络摄像机设计

    本嵌入式网络摄像机采用高性能ARM9芯片微处理器,内置嵌入式Web服务器. 通过嵌入式多任务操作系统采集摄像机视频数据:采集的视频信号数字化后经MJPEG算法压缩,再通过内部总线送到内置的Web服务器 ...

  3. 《iOS应用软件设计之道》—— 3.1 流向:从一个画面到另一个画面

    本节书摘来自华章出版社<iOS应用软件设计之道>一 书中的第3章,第3.1节,作者:(美)William Van Hecke ,更多章节内容可以访问云栖社区"华章计算机" ...

  4. android流量监控步骤_Android流量网络监控设计(超级实用版).doc

    Android流量网络监控设计(超级实用版).doc 摘 要 伴随着Android智能移动设备的普及,其对网络系统和流量监控的要求越来越高,因而,让用户有能力实现对移动设备网络流量的实时监控和显示,同 ...

  5. 深度网络的设计与可视化工具

    深度网络的设计与可视化工具 caffe Linux环境的准备 主要是根据 caffe install manual 来进行的.主要库的依赖可以用这个https://github.com/gwli/St ...

  6. 《CCNP SWITCH 300-115认证考试指南》——第1章 企业园区网络的设计

    本节书摘来自异步社区<CCNP SWITCH 300-115认证考试指南>一书中的第1章 企业园区网络的设计,作者 [美]David Hucaby(戴维 胡卡比),更多章节内容可以访问云栖 ...

  7. 《CCNP SWITCH 300-115认证考试指南》——1.3节模块化网络的设计

    本节书摘来自异步社区<CCNP SWITCH 300-115认证考试指南>一书中的第1章,第1.3节模块化网络的设计,作者 [美]David Hucaby(戴维 胡卡比),更多章节内容可以 ...

  8. 【深度学习】网络架构设计:CNN based和Transformer based

    从DETR到ViT等工作都验证了Transformer在计算机视觉领域的潜力,那么很自然的就需要考虑一个新的问题,图像的特征提取,究竟是CNN好还是Transformer好? 其中CNN的优势在于参数 ...

  9. 服务器虚拟化架构设计,服务器虚拟化与数据中心I/O网络架构设计

    这是关于网络架构设计两部分系列中的第一篇.想了解关于在网络架构中整合I/O虚拟化方面的知识,请点击第二篇:如何将I/O虚拟化整合到网络体系架构中. 服务器虚拟化对于数据中心I/O网络架构的需求非常强烈 ...

最新文章

  1. 【重磅】吴恩达宣布 Drive.ai 自动驾驶汽车服务落地 理想就这样成了现实!
  2. Pots POJ - 3414
  3. ADB原理,Wi-Fi连接,常用命令及拓展
  4. JSP的结构和生命周期
  5. 上拉加载更多后台数据_微信小程序端操作云数据库
  6. Android应用开发提高篇(4)-----Socket编程(多线程、双向通信)
  7. 【英语学习】【Level 07】U02 Live Work L5 This is where we work
  8. aide制作软件教程_Aide教程
  9. Java对接微信、支付宝、银联第三方支付
  10. 人工智能基础(高中版)教材补充和资源分享之二 机器人学矩阵
  11. 轨迹跟踪—线性 MPC 控制算法
  12. 坚果pro2刷回官方_坚果Pro2刷机教程刷TWRP面具详细步骤_软件开发_IT综合服务
  13. 百练 2755:神奇的口袋
  14. 渗透测试必备google插件
  15. 微信小程序 版本更新及调试方法
  16. RuntimeError: Expected object of type torch.cuda.LongTensor but found type torch.cuda.IntTensor
  17. HP DL580 G8 做RAID
  18. 分布式架构、大数据、机器学习、搜索、推荐、广告
  19. html ico格式怎么用,ico是什么文件格式?ico文件怎么打开?
  20. chmod +x 与chmod +777的区别

热门文章

  1. 【知识图谱可视化】实体抽取结果预处理,Neo4j数据导入(学习记录)
  2. 普中科技单片机HC6800-EM3 V3.0资料下载
  3. 基于STM32F103的红外循迹避障小车设计(含Proteus仿真)
  4. 动手学深度学习(pytorch版)d2lzh_pytorch导入问题汇总
  5. C语言去除一段字符串中的空格
  6. 《 线性代数及其应用 (原书第4版)》—— 导读
  7. Python ctypes模块的基本使用
  8. Mac环境下利用Python解锁ViVo BL锁
  9. java 代码性能优化_Java代码性能优化的几个小技巧
  10. java中如何删除文件或清除文件夹下的所有文件