常见can与诊断协议分类
1.CAN通信协议:汽车的"国际通行证"
要想把上面这些问题搞清楚,先得从CAN的起源说起。
汽车上为什么需要CAN总线?
CAN总线出现之前,汽车上各个ECU之间是点对点通信的,这种通信方式必然会使汽车线束变得十分庞大、复杂!
据统计,一辆采用传统布线方法的高档汽车中,线束长度高达2000米!
而且,随着汽车电子技术的快速发展,ECU越来越多,这进一步加剧了线束系统给整车带来的空间及成本压力。
为了解决多个ECU之间的复杂通讯问题,从1980年初开始,博世的工程师考虑将其他行业的总线系统引入汽车行业。经过评估,并没有可用的网络协议能够满足汽车行业的需求。于是,博世于1983年开始开发新的串行总线系统。
这种新的总线系统就是我们后来熟知的CAN总线(Controller Area Network,控制器局域网)。
在CAN总线系统中,各个ECU通过双绞线(CAN_H和CAN_L)连接,每个单元都是独立的CAN节点。总线的两端要各接一个120Ω的电阻,用于匹配总线阻抗,吸收信号反射及回拨,从而提高数据通信的抗干扰能力及可靠性。
CAN总线组成
各个ECU通过判断CAN总线的电平,即可得到信号值。在CAN总线中,电平分为显性电平和隐性电平,显性电平表示”0“,此时,CAN_H比CAN_L电平高,分别为3.5V和1.5V,电位差为2V;隐形电平表示”1“,此时,CAN_H和CAN_L电压都为2.5V,电位差为0V。