can总线第三讲

一  CAN控制器
官方定义:CAN控制器用于将欲收发的信息(报文),转换为符合CAN规范的CAN帧,通过CAN收发器,在CAN-bus上交换信息。
举个便于理解的例子:就像您发快递一样,要根据快递公司提供的快递单填写具体的信息(发件人和收件人的地址、联系电话等),快递公司将之标准化(统一的快递单格式,并对每一件快递进行编号),随后才能传递信息(您快递的具体东西,如文件、衣服、手机等)。
(1)CAN控制器分类
CAN控制器芯片分为两类: 一类是独立的控制器芯片,如SJA1000;另一类是和微控制器做在一起,如NXP半导体公司的Cortex-M0内核LPC11Cxx系列微控制器、LPC2000系列32位ARM微控制器。CAN控制器的大致分类及相应的产品可参见

 
(2)CAN控制器的工作原理
为了便于读者理解CAN控制器的工作原理,下面给出了一个SJA1000 CAN控制器的经过简化的结构框图如图1所示。


 
接口管理逻辑
        接口管理逻辑如图1所示。接口管理逻辑用于连接外部主控制器,解释来自主控制器的命令,控制CAN控制器寄存器的寻址,并向主控制器提供中断信息和状态信息。
CAN核心模块
        CAN核心模块如图1所示。收到一个报文时,CAN核心模块根据CAN规范将串行位流转换成用于接收的并行数据,发送一个报文时则相反。
发送缓冲器
        发送缓冲器如图1所示。发送缓冲器用于存储一个完整的报文,当CAN控制器发送初始化时,接口管理逻辑会使CAN核心模块从发送缓冲器读CAN报文。
验收滤波器
        验收滤波器如图1所示,验收滤波器可以根据用户的编程设置,过滤掉无须接收的报文。
接收FIFO
        接收FIFO如图1所示。接收FIFO是验收滤波器和主控制器之间的接口,用于存储从CAN 总线上接收的所有报文。

工作模式
CAN控制器可以有两种工作模式(BasicCAN和PeliCAN)。BasicCAN仅支持标准模式,PeliCAN支持CAN2.0B的标准模式和扩展模式。


二 CAN收发器
官方定义:CAN收发器是CAN控制器和物理总线之间的接口,将CAN控制器的逻辑电平转换为CAN总线的差分电平,在两条有差分电压的总线电缆上传输数据。
举个便于理解的例子:这类似于快递员,负责收发快递的工作。
目前市面上常见CAN收发器的分类及相应产品参见表2。

 

三 CAN-bus接口电路保护器件
在汽车电子中,CAN-bus系统往往用于对安全至关重要的功能,比如引擎控制、ABS系统以及气囊等,如果受到干扰导致工作失常将出现严重事故;此外,在不受到干扰的的同时,CAN-bus系统也不能干扰其它电子元件;所以CAN-bus系统必须满足电磁干扰(EMI)和静电放电(ESD)标准的严格要求。此外,在许多场合CAN-bus接口有可能会遭到雷电、大电流浪涌的冲击(例如许多户外安装的设备),所以还需要使用保护器件以防浪涌。
(1)共模扼流圈。如:EPCOS B8793。
(2)ESD防护。常见的CAN-bus专用ESD保护元件型号有NXP PESD1CAN或Onsemi NUP2105L等ESD元件。

四CAN总线控制器芯片滤波器的作用
官方定义:CAN总线控制器芯片滤波器用来设置自己的CAN地址。
在CAN总线上,CAN帧信息由一个节点发送,其它节点同时接收。每当总线上有帧信息,节点都会把滤波器的设置和接收到的帧信息的标识码相比较,节点只接收符合一定条件的信息,对不符合条件的CAN帧不予接收,只给出应答信号。
便于理解的例子:这类似于家门口收信件的邮箱,用来标明自己家的详细地址。邮递员分发邮件的时候,带着一堆信件在小区内投寄,邮箱地址则表明自己家的收信件地址,如果地址正确,邮递员就会把信件投递进邮箱(成功接收邮件);如果地址不符,邮递员则不会投送邮件(拒收该邮件)。


五 CAN总线控制器滤波的作用:
1、降低硬件中断频率,只有成功接收时才响应接收中断。类似于:快递员找到您家地址的时候,才会给您打电话。
2、简化软件实现的复杂程度,提高软件运行的效率。
不同的CAN控制器芯片的滤波器设置有所不同,下文中将针对具体的CAN控制器芯片进行详细讲解。

原文地址:https://www.cnblogs.com/zhj868/p/12496183.html