文章

Bomb话题丨CAN总线技术分享 从入门到“修行在自身”

2017-12-11佚名

574阅
CAN 是Controller Area Network 的缩写(以下称为CAN),是ISO国际标准化的串行通信协议。在汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,各种各样的电子控制系统被开发了出来。
    1、CAN总线
 
    CAN 是Controller Area Network 的缩写(以下称为CAN),是ISO国际标准化的串行通信协议。在汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,各种各样的电子控制系统被开发了出来。由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很多,线束的数量也随之增加。为适应“减少线束的数量”、“通过多个LAN,进行大量数据的高速通信”的需要,1986 年德国电气商博世公司开发出面向汽车的CAN 通信协议。此后,CAN 通过ISO11898 及ISO11519 进行了标准化,在欧洲已是汽车网络的标准协议。
 
 从CAN总线和ECU布局的角度对整车网络架构进行了介绍
 
    从CAN总线和ECU布局的角度对整车网络架构进行了介绍。
 
简要阐述ISO 11898-1和ISO 11898-2标准
 
    简要阐述ISO 11898-1和ISO 11898-2标准。介绍了CAN在汽车设计、工业自动化控制和许多其它应用中的基础知识。
 
    2、CAN的优势
 
    1、网络各节点之间的数据通信实时性强
 
    首先,CAN控制器工作于多种方式,网络中的各节点都可根据总线访问优先权(取决于报文标识符)采用无损结构的逐位仲裁的方式竞争向总线发送数据,且CAN协议废除了站地址编码,而代之以对通信数据进行编码,这可使不同的节点同时接收到相同的数据,这些特点使得CAN总线构成的网络各节点之间的数据通信实时性强,并且容易构成冗余结构,提高系统的可靠性和系统的灵活性。而利用RS-485只能构成主从式结构系统,通信方式也只能以主站轮询的方式进行,系统的实时性、可靠性较差
 
    2、开发周期短
  
    CAN总线通过CAN收发器接口芯片82C250的两个输出端CANH和CANL与物理总线相连,而CANH端的状态只能是高电平或悬浮状态,CANL端只能是低电平或悬浮状态。这就保证不会在出现在RS-485网络中的现象,即当系统有错误,出现多节点同时向总线发送数据时,导致总线呈现短路,从而损坏某些节点的现象。而且CAN节点在错误严重的情况下具有自动关闭输出功能,以使总线上其他节点的操作不受影响,从而保证不会出现像在网络中,因个别节点出现问题,使得总线处于“死锁”状态。而且,CAN具有的完善的通信协议可由CAN控制器芯片及其接口芯片来实现,从而大大降低系统开发难度,缩短了开发周期,这些是仅有电气协议的RS-485所无法比拟的。
 
    3、已形成国际标准的现场总线
 
    另外,与其它现场总线比较而言,CAN总线是具有通信速率高、容易实现、且性价比高等诸多特点的一种已形成国际标准的现场总线。这些也是CAN总线应用于众多领域,具有强劲的市场竞争力的重要原因。
 
    4、最有前途的现场总线之一
 
    CAN 即控制器局域网络,属于工业现场总线的范畴。与一般的通信总线相比,CAN总线的数据通信具有突出的可靠性、实时性和灵活性。由于其良好的性能及独特的设计,CAN总线越来越受到人们的重视。它在汽车领域上的应用是最广泛的
 
    除了对CAN(Controller Area Network 控制器局域网总线)的历史进行介绍,还分析了CAN的特点,以及CAN与其他协议的比较,最后阐述了CAN的优势。
 
    3、技术介绍
 
技术介绍
 
    本课程主要介绍了如何测试和验证整车电子电气系统网络休眠和唤醒。对从事电子系统诊断的工程师,技师,和广大汽车电子爱好者有现实的指导意义。
 
    在汽车CAN总线应用中,发生的延迟、丢帧故障,往往都是总线出错导致。绝大多数工程师不是从底层开始检测,而是拼命修改软件,南辕北辙。而使用示波器去观察时,虽然可能抓到错误帧,但现在的教科书和培训教材上极少有对CAN总线错误波形进行分析的,所以即使看到了也不知道怎么产生的,自然也不知道怎么处理。
 
在汽车CAN总线应用中,发生的延迟、丢帧故障,往往都是总线出错导致
 
    本课程先通过几个错误帧的波形,以笔者的经验分析故障原因,带出CAN节点检测错误的机制,最后给出如何编写CAN错误处理程序的方法。本文适用于已经有CAN基本知识和初步实践过的工程师。
 
    4、工具
 
    DBC文件——数据库包含所有的can网络信号定义、解释、名称、can的地址,从一个电子模块的前期开发、测试、验证、到后期整车诊断、问题排查、售后服务,都需要用到。解析can网络的值。
 
    db++——创建DBC文件的工具
 
    主要介绍了如何利用CANdb++创建新的DBC文件,适合从事整车电子电气系统设计,测试,验证,以及整车诊断工作的工程师和学生,也适用于从事汽车电子控制模块软件开发和测试的朋友
 
    修行在自身:在文章下方留言在“CAN”方面您想学习的课程。我们会将您的需求反馈给讲师。
 
责任编辑:李欢
本文为授权转载文章,任何人未经原授权方同意,不得复制、转载、摘编等任何方式进行使用,e-works不承担由此而产生的任何法律责任! 如有异议请及时告之,以便进行及时处理。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。
读者评论 (0)
请您登录/注册后再评论
相关阅读