查看: 1870|回复: 0
打印 上一主题 下一主题

汽车电子总线标准总结,或是CAN总线开发技术路线

[复制链接]
跳转到指定楼层
沙发
发表于 2016-4-15 20:13:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本文主要介绍一下汽车电子模块开发中CAN总线开发应用的一些经验总结
本文仅针对乘用车的CAN总线开发路线进行总结,商用车的可以百度搜索J1939


1、什么是CAN总线     百度  CAN总线

2、常见的整车CAN总线拓扑图


3、基于CAN总线的优点
a.分布式的功能设计,不同功能对应不同的控制器,不同控制器之间使用总线进行通信,节省线束,方便排错问题等
b.CAN总线具有高速率,多主机,能够自动仲裁等有点   
……
更详细查百度

4.车上使用CAN总线能做什么
a.各节点之间进行通信   
一般的乘用车上使用的CAN通信传输层协议遵循 OSEK-COM标准。该标准定义了报文传输的方式,定义了周期帧、事件帧、周期事件帧等类型的报文,应对不同需求。

b.对控制器进行诊断
在设计一个控制器之初,就需要考虑模块自我诊断功能,设计对应的诊断电路。控制器在运行过程中,能够及时发现鼓掌并提示。有些严重的故障需要在仪表中指示,其他的故障信息需要存储在存储器里,通过特定的诊断设备提取出来,便于维护和对故障进行分析。

c.在线刷新程序
有些控制器安装位置很很不好拆卸安装,这时,在开发阶段或是在售后时,需要更换控制器时,只要通过总线对控制器程序进行刷新即可。

d.在线标定
对于ABS、EMS等模块,需要实车在线标定。通过CAN线,可以实时读取到控制器内部的信息,用于整定算法参数。

5、各控制如何CAN总线通信
一般的乘用车上使用的CAN通信传输层协议遵循 OSEK-COM标准。该标准定义了报文传输的方式,定义了周期帧、事件帧、周期事件帧等类型的报文,应对不同需求。
对于总线的休眠唤醒管理称之为网络管理,常用的网络管理为OSEK-NM。
物理层、数据链路层标准 ISO 11898。
关键词  OSEK-COM  OSEK-NM

6、对控制器的诊断
诊断一般能够实现的功能有:读软硬件版本,功能配置,输入输出控制,读当前历史故障码等等。
主要形式为一问一打的模式,诊断仪发送一个服务请求,控制器执行后,发送一个服务相应。
如果想了解的话,可以从应用层标准往下看,先了解诊断能做些什么,然后再去了解,诊断如何进行,最后再去了解,诊断如何实现。
OSI layer                                 KWP2000-Kine        KWP2000-CAN        UDS-CAN
应用层(Application layer)        ISO 14230-3        ISO 15765-3        ISO 14229
表述层(Presentation layer)        N/A                         N/A                        N/A
会话层(Session layer)                N/A                         N/A                        ISO 15765-3
传输层(Transport layer)        N/A                         N/A                        ISO 15765-2
网络层(Network layer)                N/A                         ISO 15765-2        ISO 15765-2
数据链路层(Data link layer)        ISO 14230-2        ISO 11898-1        ISO 11898
物理层(Physical layer)                ISO 14230-1        ISO 11898                ISO 11898
详细可以搜索对应的标准来看。

7、在线刷新程序
在汽车电子中,bootloader的概念一般指在线刷新程序。
可以通过CAN总线、LIN总线等对控制进行再次编程,常用通信协议为UDS协议(ISO 14229)。

8、在线标定
对于标定方式,也有一套标准,定义了整个标定的协议。
我对这个不是很了解,具体可以查询关键词  ccp(CAN Calibration Protocol)

以上协议目前使用得最为广泛。
但是,随着软件重用的需求越来越急切,一些车厂和零部件供应商联合起来推出一个叫autoSAR的东西。
这是一个软件的标准构架,定义了标准软件接口,致力与建立一个标准的软件接口规范,标准底层代码,提高软件的可重用性。
目前autoSAR的实现思路是,通过配置工具生成软件架构、底层驱动、以及应用层与底层交互的抽象接口。
然后只要在这个框架下编写应用层控制逻辑和算法等等。
控制逻辑和算法可以使用matlab等工具进行模型设计,然后生成对应的autoSAR风格的代码。


以上是即时写的,有些凌乱,希望能为初入汽车电子网络开发提供一个入门的路线。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入因仑

本版积分规则

快速回复 返回顶部 返回列表