APP下载

车载CAN FD总线终端电阻的优化研究

2023-01-18南金瑞曹万科

车辆与动力技术 2022年4期
关键词:差分总线电阻

南金瑞,陈 威,何 泳,曹万科,张 峰

(1.北京理工大学 深圳汽车研究院,深圳518000;2.北京理工大学 电动车辆国家工程研究中心,北京 100081)

随着电子部件数量的快速增长和性能的不断提高,传统的车载网络已经不能满足需求,为此CAN FD应运而生[1-3].通信速率的大幅提升,数据场长度的变化,由CAN网络升级到CAN FD网络,在物理层、数据链路层和应用层方面还有许多问题亟待解决.CAN FD接口电路的众多元器件中,终端匹配电阻对总线信号的影响最大[4-6].文章将对总线电阻匹配方式进行研究.

1 CAN FD总线的特点

CAN FD继承了CAN总线的主要特性.支持CAN FD协议的节点能够完全兼容传统CAN.CAN FD总线与CAN总线的区别主要在可变速率、新的数据场长度以及新的CRC校验方法等方面[7-9].CAN FD协议的这些改进可以有效地降低总线负载率并提高总线可靠性.

(1)可变速率:CAN FD数据帧可以采用两种不同的比特率.用于控制命令的“仲裁字段”速率取决于传播速度和网络扩展,用于数据内容和数据安全性的“数据场”速率,已经有支持5 Mbit/s数据场速率的收发器芯片.CAN FD具有灵活的可变数据波特率,理论上可以在数据段中实现高达15 Mbit/s的通信波特率,BRS位和CRC分界符中间的位以变化后的高速率传输,其余部分以原CAN总线速率传输.

(2)数据场长度的扩展:CAN FD的数据场长度最多可达到64字节的有效数据,有效提高了数据的传输效率.

(3)新型的CRC校验:主要有3点区别.①CAN FD在计算CRC值时,计算的位流包括了之前的填充位,而传统CAN则是去掉填充位之后,用其余的位流进行CRC计算;②CAN FD的CRC场本身的位填充是在固定的位置,而传统CAN的CRC场的填充位还是按照正常的位填充规则;③多项式不同,CAN FD总线的数据场在16字节以内用CRC17,场在17到64之间的用CRC21,而传统总线用的是CRC15.

2 CAN/CAN FD总线终端电阻优化算法

在高速电路中,为了避免因为阻抗不匹配而导致的信号反射问题,需要进行阻抗匹配[10].反射系数可以反映反射强度的大小,定义如式(1)所示:

(1)

式中:ρ代表反射系数;Vin代表入射电压;Vre代表反射电压;Zt代表负载阻抗;Zo代表传输线阻抗.

由式(1)可知,当负载阻抗Zt和传输线阻抗Z0相等时,反射系数为0,就不会产生反射现象.以往的终端电阻匹配方法只是在特定的EUC两端,或者总线的某些特定位置匹配终端电阻,其它ECU两端直接并联一个千欧级别的大阻值电阻或直接悬空.文中采用的方法给每个ECU两端都匹配一个合理的终端电阻,从而使总线信号质量最佳.

收发器接口电路中的终端电阻对总线的信号质量水平有着显著的影响.优化终端电阻的目标就是优化总线的信号质量.因此,必须建立总线信号质量的量化评价标准.评价总线信号的指标主要有显/隐性差分电压值、上升时间、超调量.

2.1 总线电压值的量化评价指标

总线信号的电压值是决定网络是否能够成功通信的重要指标[4-7].总线的电压值分为3种:CANH电压、CANL电压和差分电压.国际标准对这3种电压的规定如表1所示.

表1 电压水平的国际标准

根据表1所示,制定总线电压水平的量化评价指标.由于差分信号是CANH和CANL信号线的综合结果.文章取显性差分电压1.5~3.0 V,隐性差分电压-0.5~0.05 V的量化评价标准,显性差分电压Vd和隐性差分电压Vr评价函数f1和f2分别如式(2)和(3)所示.

(2)

(3)

由上式可知,显性差分电压和隐性差分电压的评价函数为无量纲值,并且在0~1之间,实现了评价函数的去量纲化和归一化.显性差分电压和隐性差分电压的评价函数越小,总线的信号质量越好.CAN控制器在采样点处采集电压水平,所以,文章以采样点处的差分电压值作为差分电压的稳态值.

2.2 信号上升时间量化评价标准

信号的上升时间是指脉冲的瞬时值最初到达规定下限和规定上限的两个时刻之间的间隔.文中的上升时间是计算从10%上升到90%所经历的时间.下降时间TD的量化评价函数f3和上升时间TR的量化评价函数f4分别如式(4)和(5)所示.

(4)

(5)

式中:Tbit代表CAN/CAN FD通信的一个位时间.

由上式可以看出上升时间和下降时间的量化评价函数实现了去量纲化和归一化.上升和下降时间越小,总线的信号质量就越好.所以,上升时间和下降时间的量化评价函数越小,总线的信号质量就越好.

2.3 信号超调量量化评价指标

超调量是信号电压水平超过其稳定电压值的百分比.文中的超调量有两种:由显性信号变为隐性信号的下降沿的超调量和由隐性信号变为显性信号的上升沿的超调量.

下降沿超调量σD的量化评价函数f5和上升沿超调量σR的量化评价函数f6分别如式(6)和(7)所示.

(6)

(7)

式中:Vmax为总线信号电压的最大值;Vmin为总线信号电压的最小值;Vd为显性差分电压值;VR为隐性差分电压值.下降沿超调量和上升沿超调量的量化评价函数越小,总线的信号质量水平就越好.

2.4 优化算法的目标函数

由上文可知,优化总线信号质量的问题是一个多目标优化问题.文中利用加权求和的方法将多目标问题转化为单目标优化问题.优化算法的单目标函数如式(8)所示.

f=λ1·f1+λ2·f2+λ3·f3+λ4·f4+λ5·f5+λ6·f6,

(8)

式中:λ1、λ2、λ3、λ4、λ5和λ6分别是显/隐性差分电压、上升/下降时间、上升/下降沿超调量的量化评价指标的加权系数.

经查阅资料[10]及实际应用文中将这6个权重系数分别设置为0.4、0.1、0.05、0.05、0.2和0.2.f为最终的目标函数.优化算法的目的就是找出使得目标函数值最小的终端电阻匹配方法.

2.5 匹配算法的实现

文中的匹配算法是基于Saber和MATLAB的联合仿真实现的,利用粒子群算法来求解最佳的终端电阻[11-12].经过仿真及实验发现,在相同的条件下,与采用原始的经验电阻值相比,采用匹配算法求得的最佳电阻值可以使得总线信号最佳.

(1) CAN/CAN FD的电路模型的建立

在Saber中建立CAN/CAN FD的电路模型,并进行时域瞬态仿真得到CAN/CAN FD总线信号波形.使用Saber建立CAN/CAN FD的电路模型主要有4部分组成:控制器;收发器;接口电路和拓扑结构.首先,对控制器进行设置,要设置的参数包括时钟频率和位时间,通信速率为 500 kbit/s,时钟频率8 MHz/s,位时间分别设置为tseg1=12,tseg2=3,brp=1,同步跳转宽度设置为SJW=2.其次,要选取收发器模型.收发器的作用是将控制器提供的数据转换成电信号,通过总线将数据发送出去,同时也接收总线数据,并将数据传送给控制器.在Saber中建立收发器的接口电路,文中所要匹配的终端电阻就在接口电路之中,根据实际的网络拓扑建立电路模型.CAN/CAN FD的传输线使用的是双绞线.在Saber中的电路模型如图1所示.

图1 电路模型图

(2) 匹配算法的实现

文中所采用的方法是给每个ECU两端都匹配一个合理的电阻.根据实际网络拓扑中需要优化的终端电阻数目,决定粒子群算法的维度.每个需要“独立”优化的电阻作为粒子群算法的一个维度.

在执行算法之前,需要先将Saber软件和MATLAB软件进行联合,匹配算法的实现流程如图2所示.

图2 匹配算法的实现流程

算法的具体求解过程如下:第二步设置算法的学习因子、种群大小、种群维度、每个维度的上下限、迭代次数、和惯性权重等参数[14].文中采用变化的惯性权重,即惯性权重随着迭代次数的增加而减小.第七步:根据已经更新的信息,按照公式(9)、(10),更新粒子的速度和位置.

(9)

(10)

(11)

式中:tmax为最大迭代次数;t为当前迭代次数;ωstart为惯性权重开始值;ωend为惯性权重结束值.

在粒子更新状态时,可能会出现位置或速度超出上下限的情况,此时,令位置或速度等于上限或下限.粒子得到新的位置之后,MATLAB再将这些粒子的位置信息传给Saber.Saber得到新的电阻匹配信息后再进行一次仿真.Saber再把仿真后的波形数据传给MATLAB,MATLAB再一次进行处理.根据目标函数,计算得出每个粒子的新的适应值.第八步:重复上述第四步到第七步,直到达到最大的迭代次数.

3 仿真验证

文中选择如图3所示的拓扑结构一共有6个节点,只有一个并接点,节点1~6的支线长度分别为2.15 m、2.3 m、2.35 m、2.55 m、2.3 m和10 m,网络总长度21.65 m[13-14].CAN FD网络节点都采用Atmel公司的SAMC21 J18A芯片.收发器选择TJA1145 T/FD,原来的终端匹配方式是在节点4和节点6两端分别放置120 Ω的终端电阻,其它节点都放置一个9.4 kΩ的终端电阻.在Saber软件中建立单节点的电路模型.

图3 拓扑结构电路模型

图4中,“LOGIC_4 CLOCK”是为CAN控制器提供晶振频率的模块,文中设置为8 MHz.“CAN Engine”模块为CAN控制器模块,其中设置相位缓冲段1为12,相位缓冲段2w为3,分配系数为1,同步跳转宽度设置为2.在Saber中建立网络电路模型.

图4 网络电路模型

粒子群算法的参数对优化效果影响极大.仿真验证中设置的参数如下:学习因子c1和c2都设置成为2;种群大小设置为20;种群维度是根据节点数(“独立电阻”的数目)设置,文中设置为6;每个维度的上下限在文中就是终端电阻的取值范围,设置为20~1 000;迭代次数设置为1 000;由于文中采用变化的惯性权重,开始时的惯性权重为0.9,结束时的惯性权重为0.4,每代线性递减.实验结果如表2和图5所示.

表2 优化前后总线信号评价指标对比

图5 优化前后总线信号质量对比

从表2和图5可以看出,全局优化后的总线信号质量整体要优于优化前的总线信号质量.对于显性差分电压、上升沿超调量和下降沿超调量这3个评价指标,全局优化后的总线信号要明显优于优化前的总线信号.虽然,对于隐性差分电压、上升时间和下降时间这3个评价指标,优化后的总线信号略差于优化前的总线信号,但是对总线信号质量没有明显影响.所以,对终端电阻的优化可以显著提高总线信号的质量.

4 结 论

文中介绍了一种新的CAN/CAN FD总线终端电阻匹配方法.首先确定了总线信号质量的评价指标主要有显/隐性差分电压值、上升时间和超调量.之后采用归一化与加权求和的方法将优化总线信号质量这个多目标优化问题转化成单目标优化问题.最后通过Saber软件和MATLAB联合仿真的方式,利用粒子群算法求出这个问题的最优解.CAN FD和传统CAN在物理层上的定义相同,本方法对CAN FD和传统CAN同样有效.由于实验条件的限制,文中只做了传统CAN模式下的仿真验证实验.这种方法可以避免建立和求解CAN网络的数学模型,也不需要花费大量时间利用列举法确定终端电阻.在实际工程应用中,可以利用文章所述算法快捷准确地确定CAN/CAN FD总线网络的终端电阻值.

猜你喜欢

差分总线电阻
RLW-KdV方程的紧致有限差分格式
符合差分隐私的流数据统计直方图发布
数列与差分
电阻大小谁做主
巧测电阻
一种基于CAN总线的误码测试方法
电阻焊
基于multisim13.0负电阻在电源中作用的仿真
CAN总线并发通信时下位机应用软件设计
基于CAN总线的水下通信系统设计