can收发器原理及作用详细介绍
扫描二维码
随时随地手机看文章
CAN收发器主要分为驱动器和收发器。TX引脚接收MCU的信号然后给驱动器到CANH,CANL引脚,CANH,CANL接收差分信号至接收器到RX引脚到MCU。
内部CANH、CANL分别为开漏输出形式。总线显性(0)时,收发器内部Q1、Q2导通(Transceiver发出high low的Q1,Q2的导通电平),CANH、CANL之间产生压差;隐性(1)时,Q1、Q2截止,CANH、CANL处于无源状态,压差为0(单独的CAN H/L 一般为VCC/2)。
CAN协议只有两层:物理层和数据链路层。CAN收发器(也就是协议控制器)的作用就是完成数据链路层组帧和生成物理层比特流,驱动器的作用是吧控制器输出的高低逻辑电平编程CAN总线的差分式电平。协议相关的内容基本都由协议控制器完成,单片机软件上只要配置需要的通信速率、帧ID以及发送的数据内容,然后告知收发器,让它发送就OK。不需要从软件上编写协议。
单片机内部的CAN控制器和外接CAN控制器功能相同,省去了再加外围硬件。单片机对帧格式不用特别关心,但是发送之前至少需要告诉协议控制器你所要发送的数据内容以及帧的ID。
CAN电路介绍:
差分(负载)电阻的作用:
1.在显性状态期间,总线的寄生电容会被充电,而在恢复到隐性状态时,这些电容需要放电。如果CANH、CANL之间没有放置任何阻性负载,电容只能通过收发器内部的差分电阻放电,这个阻抗是比较大的,放电时间就会明显比较长。因此,总线的终端电阻的第一作用是放电。
2.隐性时差分电阻阻值很大,内部的MOS管属于高阻态,外部的干扰只需要极小的能量即可令总线进入显性(一般的收发器显性门限最小电压仅500mV)。这个时候如果有差模干扰过来,总线上就会有明显的波动,而这些波动没有地方能够吸收掉他们,就会在总线上创造一个显性位出来。所以为提升总线隐性时的抗干扰能力,增加一个差分负载电阻,且阻值尽可能小,以杜绝大部分噪声能量的影响。然而,为了避免需要过大的电流总线才能进入显性,阻值也不能过小。
3.阻抗匹配,减小反射
仲裁段:当总线上挂了多个负载的时候,通过仲裁段的电平来确定优先级,ID越小优先级别越高(CAN的线与机制,CAN显性的时候,MOS导通,强驱动。 CAN隐性的时候,MOS关闭,弱驱动。 )
控制段:识别扩展帧和标准帧,以及数据长度编码位
数据段:数据,CAN2.0 8位,CAN FD64位,这就是CAN FD速率更快的原因
校验位:当TX,RX收到的数据不一致进行校验。校验数据传输是否正确,若不正确,应答错误停止发送。
CAN标准:ISO11898(通信速度为 5kbps - 1Mbps 的 CAN 高速通信标准,其中CAN FD(Flexible Data-rate)纳入了ISO 11898-1:2015标准中)和ISO11519(通信速度为 125kbps 以下的 CAN 低速通信标准)。具体标准可以百度,或者私信我。
CAN的电压特性:CAN网络中的物理信号传输基于电压差的传输(差分信号传输)。高速CAN和低速CAN的电压差分电压大于0.9V时为显性电平,对应逻辑“0”,小于0.5V为隐性电平,对应逻辑“1”。以下为ISO11898中的电压标准参考:
CAN通信原理介绍
电信号的传输在物理层面都是靠电压高低区分来实现的,CAN通信也不例外。CAN总线使用双绞线进行差分电压传输,两条信号线被称为CAN高(CAN_H)和CAN低(CAN_L)。
两条线静态时均为2.5V左右,此时状态表示为逻辑1,也被称作隐性。当两条线电压值出现差异时,通常CAN_H=3.5V和CAN_L=1.5V,此时状态表示为逻辑0,也称作显性。即:
差分电压CAN_diff = 0V,表示逻辑“1”,为隐性;
差分电压CAN_diff = 2V,表示逻辑“0”,为显性;
注:实际开发中两条线的电压都会在标准值上下附近波动,这也是用差分传输的好处,减少误差和噪声带来的干扰。
显性电平用逻辑“0”表示,隐性电平用逻辑“1”表示,这里可能有小伙伴会问为什么“0”是显性,感官上不应该这样规定啊?其实这是因为CAN总线采用“线与”规则进行冲突仲裁,即当多个CAN信号同时发送时,有的发1有的发0,而只要有0,当前总线就是0(1&0 = 0),看上去就是1被0覆盖了。另一方面,从电位看,高电位为0,当1和0同时发送时,总线处于高电位,显现出来的是0,所以把0规定为显性。
事件驱动,CAN网络基于多主架构与总线型拓扑的原因是:每个CAN节点都可以发送报文至CAN总线上。CAN报文的传输不遵循任何预定的时间顺序,而是由事件驱动。
当传输信息时,通信通道才会处于繁忙状态,因此CAN节点可以非常快速地访问总线。理论上,由于可以快速响应异步事件且波特率高达1 Mbit/s,因此在CAN网络中完全可以实现毫秒级的实时数据传输。
接收方(receiver)选择寻址(addressing),在CAN网络中,接收方选择寻址防止总线节点之间产生依赖,从而提高配置的灵活性:CAN报文是广播发送的,网络中所有CAN节点都可以接收到所有CAN报文。每个节点中都有过滤器,可以通过报文的标识符(ID)来筛选实际所需的CAN报文。虽然这会增加开销,但却可以在不修改CAN网络的情况下集成其他CAN节点。