(海军工程大学 武汉 430032)
CAN(Controller Area Network)总线通信是一种具有高可靠性、实时性强、传输距离远的双线串行通信网络,检错能力强,在汽车中控系统、船舶控制系统等领域广泛使用。
CAN通信拓扑结构主要有总线型与星型结构等,实际工程中,根据环境不同要灵活采用总线型或者星型等布线方式,拓扑结构不同,其终端电阻的配置也不相同,并且终端电阻是否合理配置直接影响信号传输质量。
本文为研究不同拓扑结构下,不同终端电阻配置对CAN差分信号的影响,搭建CAN通讯试验平台,采用STM32105VCT6芯片,其内部带有CAN控制器,使用TJA1040作为总线驱动器,其主要性能如下:1)TJA1040是PCA82C250/251高速CAN驱动器的后继产品,完全兼容ISO/DIS11898标准;2)最高速率可达1Mbps;3)具有优秀的EMC性能;4)理想的无源性能;5)温度保护;6)低功耗管理模式;7)支持远程唤醒功能;8)总线及电源及地之间的短路保护[1]。
CAN能够使用多种物理介质,例如双绞线、同轴电缆、光纤等。最常用的是双绞线,信号使用差分电压传送,如图1所示,两条信号线被称为CAN_H与CAN_L,静态时两线之间的差分电平Vdiff约为0,此时状态表示为逻辑1,称为隐性;用CAN_H比CAN_L高表示逻辑0,称为显性[2],CAN协议规定,显性与隐性差分电平的识别要在一定阈值范围内,如表1所示。
图1 双绞线CAN总线的电平表示
表1 差分电平逻辑识别范围
由于双绞线特征阻抗约为120Ω,为了避免信号反射影响,CAN协议约定在总线终端上跨接一个120Ω的终端电阻保持阻抗连续,但在长距离通信情况下,由于线缆直流电阻阻值较大,如果继续保持120Ω大小的终端电阻,虽然能避免信号反射带来的影响,但实际上接收节点的收发器接收到的显性差分电压幅值较低,可能不在差分电平逻辑识别范围内,导致节点接收失败。
图2 总线型拓扑结构通信试验平台
图2为总线型拓扑结构通信试验平台,两个节点处于总线首尾两端,均跨接一个终端电阻,传输线缆为超五类非屏蔽双绞线,线规AWG24,线缆直流电阻为133 mΩ/m,将终端电阻值固定为120Ω,改变传输距离,差分信号幅值变化如表2所示。
表2 终端电阻为120Ω时接收节点显性差分信号幅值
由表2数据可知:终端电阻固定为120Ω时,不同距离下接收节点的显性差分信号幅值不同,距离越长,线缆直流电阻越大,接收节点接收到的差分信号幅值越小,当传输距离至900m时,接收节点的收发器接收到的显性差分电压幅值为1V,此时差分电压幅值的抗干扰能力极差,通讯呈现为时好时坏的现象,通讯失败,其波形如图3所示,故在远距离通信中,为了保证信号稳定可靠,不应将终端电阻限制在120Ω。
图3 双节点900 m通信收发波形图(终端电阻120Ω)
上一节得出结论:CAN通信总线型结构,其终端电阻配置不应固定在120Ω,通过等效电路来分析终端电阻及线缆电阻对差分信号幅值的影响。图4是总线型网络物理层等效电路图,Vdiff.out是差动输出电压,在发送数据帧时节点可视为一个电压源,幅值为Vdiff.out,标准值为2V。节点接收总线上的消息时,接收节点视为一个差动输入电阻Rdiff,TJA1040的差动输入电阻约为30kΩ,Vdiff.in为接收节点的差动输入电压,RT为终端电阻,RW为线缆电阻。
图4 双节点总线型结构物理层等效电路图
在静态条件下,接收节点的差动输入电压等于差动输入电阻与通过该节点的电流的乘积。接收节点的差动输入电压取决于以下几个因素:发送节点的差动输出电压Vdiff.out,总线线缆的电阻Rw以及接收节点的差动输入电阻Rdiff和两个终端电阻的阻值,接收节点的差动输入电压可由下式计算[4]:
由式(1)看出,接收节点的差动输入电压与总线线缆电阻成反比,与终端电阻阻值成正比,为了接收节点正确检测到显性位,接收节点的差动输入电压必须大于阈值电压Vth,即
Rw=ρL,ρ为电阻率,L为线缆长度,总线距离越长,线缆直流电阻越大,要使接收节点正确检测到显性位,终端电阻应更大。
在上节理论推导基础上,调整终端电阻阻值,不同传输距离下差分信号幅值变化见表3。从表中数据看出:传输距离900m时,调整终端电阻后,接收节点接收到的显性差分信号幅值为1.7V。此时信号传输稳定,通讯正常,收发波形见图5,与终端电阻120Ω时的信号波形相比,差分信号电压幅值提高,虽然会因为终端电阻较大引起放电时间变长,在波形上表现为下降沿变缓,但由于采样点处于每个位时间的80%左右,不影响接收节点正确接收。
表3 终端电阻调整后接收节点显性差分信号幅值
总线型拓扑结构在CAN通信布线时最为常见[5],只在总线两端配置终端电阻,为了避免分支节点处支线过长引起的信号反射导致信号失真,CAN协议要求支线长度不超过6m,在一些复杂领域中,如果继续使用总线型拓扑结构,由于系统本身的复杂性,会带来布线困难问题,采用星型拓扑结构一方面可减少布线困难问题,另一方面还可对中心节点进行设计实现对网络智能化管理,因此需要研究星型拓扑结构及其终端电阻配置方案[6~7]。
图5 终端电阻调整后双节点900m通信收发波形图
图6 星型拓扑结构试验平台
星型拓扑结构,在分支基本等长的情况下,可以不适用集线器等设备,调节节点的终端电阻阻值便可实现系统通信[8]。终端电阻对信号传输的影响在于匹配线缆的特征阻抗避免信号反射以及影响差分信号幅值。试验拓扑结构如6所示,传输线缆为超五类非屏蔽双绞线,线规AWG24,线缆直流电阻为133mΩ/m,中心节点与各分支节点相距300m,节点1发送,节点2、3、4接收,试验结果如表4及图7~10所示。
表4 星型拓扑结构终端电阻试验结果
图7 星型拓扑1、4节点收发波形(终端电阻120Ω)
图8 星型拓扑1、4节点收发波形(终端电阻180Ω)
从表中数据可以看出,当终端电阻过小时,导致接收节点的差分电压幅值较低未达到阈值识别范围导致系统通信失败。当终端电阻过大,如图10所示,终端电阻与线缆特征阻抗不匹配引发信号反射,并且在下降沿,由于终端电阻过大导致传输线缆分布电容放电时间延长,影响采样的正确性。因此星型拓扑结构终端电阻的匹配要考虑信号反射与差分信号幅值这两个因素,从图中可以看出,3个分支节点试验时,分支节点终端电阻为180Ω时,信号反射不严重,幅值达到阈值识别范围,试验效果最好。本文未进行4节点以上的星型拓扑结构通信试验,在更多节点的星型拓扑结构通信系统中,其终端电阻配置思路可参考本试验。
图9 星型拓扑1、4节点收发波形(终端电阻240Ω)
图10 星型拓扑1、4节点收发波形(终端电阻440Ω)
本文通过电路等效的方法推导出总线型网络拓扑结构终端电阻与线缆直流电阻的关系,得出总线型拓扑结构终端电阻配置方案为RT=max{120Ω,2Rw},并进行了试验验证,证明推论的合理性。搭建3分支节点星型拓扑通信试验平台,并调节终端电阻观察信号波形,发现在每个分支节点均跨接适当终端电阻能得到较好的通信效果。总之,根据实际情况可按不同拓扑结构进行布线及终端电阻匹配,有利于提高CAN的通信效果。