朱 腾,周位强,戚 莹
(浙江中控技术股份有限公司,杭州310053)
CAN 现场总线是支持分布式控制及实时控制的串行通信网络,具有可靠性高、实时性好、价格低、容易实现等优点,在工业控制方面被广泛应用。其通信的波特率可高达1 Mbps、最远传输距离可达10 km 以上[1]。在工业控制领域,为了满足高集成、高密度的发展需求,CAN 总线被集成到PCB 内部。本研究的目的在于优化PCB 设计使其在性能、成本方面能够优于传统绞线。
本文研究对象如图1 所示,CAN 链路系统由7块PCB(6 条长度为1.2 m,宽度0.1 m 和1 条长度为0.6 m,宽度0.1 m)和6 条DB 线(2 条2 m,3 条0.8 m,1 条2.4 m)构成。PCB 采用迂回走线,总长度为15.6 m,DB 总长度为8.8 m。
CAN 总线采用多主通信模式、非破坏式总线仲裁机制。以标准数据帧为例,从结构上看分成7 段,分别为起始段、仲裁段、控制段、数据段、CRC 校验段、ACK 应答段、帧结束段,如图2 所示。
图1 CAN 总线链路图Fig.1 CAN bus link diagram
图2 CAN 标准数据帧结构Fig.2 CAN standard data frame structure
ACK 应答段包括应答间隙和应答界定符两部分。CAN 总线上的发送节点发送报文时,在ACK 应答场段发送两个“隐性”位。当接收节点正确地接收到有效的报文,接收节点就会在应答间隙期间向发送节点发送一“显性”的位以示应答。发送节点在应答间隙期间接收到接收节点发送的“显性”位时则认为接收节点正确接收报文,否则判断接收失败进入重发阶段。
CAN 总线协议规定,数据位时间分为四段(如图3 所示):同步段(Sync_Seg)、传播时间段(Prop_Seg)、相位缓冲段1(Phase_Seg1)、相位缓冲段2(Phase_Seg2),每个段由特定数量的时间量子组成,时间量子由CAN 时钟和波特率决定。CAN 控制器在数据位相位缓冲段1 进行采样,通过调整每段的时间可控制实际采样时间点[2]。
根据图3 可以清楚看到,CAN 总线中的一个位时间由TQ、TSEG1 和TSEG2 这三部分组成:
假设通过配置寄存器,使:
图3 标准比特时间Fig.3 Nominal bit time
那么CAN 总线需要传输一个比特位所花的时间为BitTime,1 s 内传输的比特位数,即波特率为
一个时间单位由TQ、TSEG1 和TSEG2 组成,同时在确定时间时,需满足以下规则:
式中:IPT 为信息处理时间,相当于位读取操作所需要的时间,IPT 约为2TQ。
式中:SJW 为同步跳转宽度。CAN 模块在对每一个位采样时,可以选择使用对这个位采样3 次,取多数值的方法,也可以选择只采样一次作为采样值的方法。如果选择3 次采样模式,那么必须选择Brpreg≥4。
总线拓扑如图4 所示。CPU 型号:AM3352ZCZD72;CPU 时钟频率:300 MHz;CAN 收发器:TJA1050 TXD->RXD)Min 40 ns Max 220 ns;Bus Line:总线传输延时5 ns/m。
以节点A 发送,节点B 接收为例,从CAN 报文发出开始,到接收到ACK 应答,整个应答回路延时为
图4 CAN 总线拓扑图Fig.4 CAN bus topology
期间报文经过4 次TJA1050 收发器,两次传输线,因此提高传输距离必须对各个节点的延时时间进行分析。
从硬件datasheet 可知系统时钟SYCLK=300 MHz,CAN 波特率设定为BaudRate=1 MHz, 软件设置如图5 所示。
图5 比特时间参数设置Fig.5 Bit time parameter setting
计算得Brpreg=29,CAN 收发芯片TJA1050 最小延时为40 ns,最大延时为220 ns;芯片AM3352ZCZD72延时最小值4 ns,最大值17.12 ns。由于数据手册的最大、最小值差异太大,所以通过示波器测试卡件延时:
比特时间:
在本案例中,采用两种方式提高CAN 总线的传输距离:①选择介电常数较小的PCB,线缆传输速度越快,相同时间下传输的距离越远;②通过软件合理的配置TSEG1 和TSEG2, 提高采样值SP 提高通讯距离。
PCB 的表层走线和内层走线的介电常数不同会引起传输距离不同,本文从这两个情况进行分析。
电荷在不同介质中传输速度的方程:
式中: μ0=1.257×10-6H/m;ε0=8.854×10-12F/m;εr是相对介电常数;μr是相对磁导率。
TD 对应的不同介电常数下的PCB 内层导线传输延迟如图6 所示。
图6 PCB 内层导线传输延迟Fig.6 PCB inner wire transimission delay
高频板材相对介电常数一般在2~3 之间,高速板材相对介电常数一般在3~4 之间,普通板材相对介电常数一般在4~4.6 之间, 电缆线5.5 ns/m 等效介电常数为2.718。
PCB 内层走线需要高频板材才能达到与传输线相同的效果,但高频板材价格比FR4 普通板材高近10 倍,并且板材较脆,不适合在工程中应用。
微带线的等效介电常数表达如下:
式中:εeff为等效介电常数;w 为PCB 走线宽度。
差分阻抗120 Ω约束,PCB 走线宽度w=0.3 mm,介质层厚度h=0.488 mm,表层PCB 走线结构如图7所示。
图7 PCB 表层差分线结构Fig.7 Surface difference line structure of PCB
PCB 表层走线的传输延迟曲线如图8 所示。
图8 PCB 表层导线传输延迟Fig.8 Surface wire transimission delay of PCB
电缆线5.5 ns/m 等效介电常数为3.2,要达到相同效果PCB 表层走线需采用高速板材。高速板材成本约为普通板材的1.5 倍,强度方面也有保障。在本例中采用台耀的TU-872SLK 板材。
国际标准ISO/DIS-11898 提供了直流电压参数、终端电阻与波特率近似值这三个指标的参考值,如表1 所示[3]。
表1 与传输线长度相关的电缆直流参数推荐值Tab.1 Recommended values for cable DC parameters related to transmission line length
接收节点有一定的电平识别范围,CTM1051M的CAN 接口典型参数如表2 所示。节点输入显性电平应大于0.9 V。ISO11898 中,总线上的任意点的最小电平应大于1.2 V,组网时我们应使差分电压大于此值[4]。
表2 ISO11898 高速CAN 电平定义Tab.2 ISO11898 the definition of high speed CAN level
CAN 总线等效电路,如图9 所示。
图9 CAN 总线等效电路Fig.9 CAN bus equivalent circuit
根据等效电路,我们可以调整的参数有终端电阻RT、发送节点电压VOUT、总线有效电阻RW。组网等效电路如图10 所示。
图10 组网等效电路Fig.10 Network equivalent circuit
根据图10 等效电路图RI//0.5RT=60 Ω,欧姆定律分压原理:
式中:CAN 差分线阻抗120 Ω;阻抗连续性RI//0.5RT=120 Ω 的1/2;RW 为传输线等效电阻RW≦20 Ω。
式中:Rpcb为PCB 导线电阻;ρ 为铜电导率0.0175;L为PCB 导线长度15.6 m;w 为线宽0.3 mm。
铜箔厚度对应的阻值如图11 所示。CAN 线传输在15.6 m 情况下,用1.5 OZ 的铜厚,对应的阻值17.33,小于18.2 Ω,满足设计要求,同时也是性价比最高。
图11 铜箔厚度对应的阻值Fig.11 Resistance corresponding to the thickness of copper foil
在本项目实际应用中,信号在PCB 长距离传输后,由于边沿太缓和幅值不够,我们进行了一次改板,理论数据分析如表3 所示。为方便描述定义改板前的PCB 为A,改板后的PCB 为B。
表3 A/B 板参数分析Tab.3 Comparison before and after board modification
通过测试A 板发送端和接收端的波形查看波形延迟时间。实测波形如图12 所示, 延迟时间为190 ns。
图12 A 板延迟迟时间Fig.12 Delay time before plate modification
通过测试B 板发送端和接收端的波形查看波形延迟时间。实测波形如图13 所示, 延迟时间为160 ns。
图13 B 板延迟时间Fig.13 Delay time after plate modification
通过图12 和图13, 说明板材的更换和内层调整到表层两个措施延迟时间可以缩小30 ns。进一步对A 板和B 板接收端上升沿分别进行波形测量,如图14 和图15 所示。
图14 A 板前单端0~500 mV 时间90 nsFig.14 Single end 0~500 mv tie 90 ns before plate modification
图15 B 板前单端0~500 mV 时间36 nsFig.15 Single end 0~500 mv time 36 ns before plate modification
实测数据上升沿从90 ns 缩小为36 ns,降沿时间明显缩短,结合图4 分析,传输时间最大值为225 ns。
改板前导线延迟时间190 ns、芯片需要在35 ns内完成波形识别,图14 可知波形上升沿时间为90 ns,35 ns 内无法完成波形的传输,和实测发现最远端机架频繁出现丢包的现象一致。改板后导线延迟时间160 ns 需要在65 ns 内完成波形识别,图15 可知波形上升沿时间为36 ns,有29 ns 的裕量,波形可以得到有效的传输。
CAN 总线传输线设计需要在信号的时序、阻抗两个方面都进行分析。CAN 的传输需要传输线RW≤20 Ω,并在满足差分阻抗120 Ω 的前提下,使走线尽量宽,铜箔尽量厚,才能让信号得到有效的传输。本文通过在设计阶段利用软件合理分配TSEG1 TSEG2 来调整SP, 选择尽量小的延迟时间的芯片来提高传输距离。并通过调整PCB 用微带线、选用介电常数小的板材来提高传输距离。在实际工程项目中可以用本文的方法进行理论评估,计算和实测精度可达到95%,提高设计一次性的成率。