• Automotive

使用终端节点来确保隐性位传输


出于两种原因使用终端节点。第一个原因是提高信号质量。终端节点可以防止反射,反射可能会导致通信失败(由位边缘上的振荡引起)。信号到达线缆端点时,反射可能会特别强烈。所以终端适配器放在端点处。第二个原因是,终端节点可用来获得通信中定义逻辑1的隐性电平。


为什么使用电阻器?

CAN是一种传输二进制0或1的串行协议,其中0是显性位,1是隐性位。发送二进制1(隐性电平)时,每个CAN节点中的CAN驱动程序通常都完全处于被动状态。

为了在隐性位传输期间获得一个定义的信号电平,通信线路上需要一个被动型组件(通常是电阻器)。电阻器可以上下拉动到特定的电压,或者或者组合使用。例如,单线CAN(SWC)使用上拉电阻,而低速CAN(LS-CAN)组合使用上拉电阻和下拉电阻。SWC和LS-CAN的比特率小于125 kbit/s,这使得在不同CAN节点处分布电阻成为可能。

最大化信号质量

要获得良好的信号质量,必须使用双绞线线缆作为传输介质并保护信号不受外部噪声干扰。双绞线通过确保沿着双绞线的一致跨节和固定的几何形状(确保固定的阻抗)来提高信号质量。固定的阻抗是良好的信号质量的必要条件。

线束把两根线缆紧紧缠在一起,通过确保两根线缆具有相同的电压噪声电平来保护信号不受外部电场干扰,消除干扰效果。此外,线束还帮助两路线路抵抗磁场干扰。两根线缆之间的有限间隙能够最大限度降低暴露在磁通中的程度,并且绞合处会确保下一个绞合处具有反方向的磁通,从而抵消掉磁场的影响。

获取隐性电平

为了达到特定负载的隐性电平,在两根线缆之间放置一个阻抗负载(也就是电阻)。这可以确保需要特定的电平才能在两根线缆之间创建不同的电压。电阻还能保证显性信号消失时电压差回到零。

一个难点是为定义隐性电平的电阻选择合适的值。在显性信号传输期间,当一个CAN单元在发送二进制0时,必须达到特定的信号电平(只要承认低电阻值将需要来自CAN驱动程序的高电流)。换言之,如要节能,那么电阻值应当尽可能地高。但是,这有其它缺点。

有两个与高电阻值相关的难点。首先,如果电阻值较低,那么它将需要一个相对较高的噪声能量来激活显性电平。这样,较低的噪声阈值会使得通信流易于出错。

其次,在显性状态期间,线缆上的电容可能被充电到此信号电平。所以,这些电容需要进行放电后,CAN驱动程序才能回到被动状态。为了获得最佳的性能,电阻值应当采用最小的可能值。

对于低速通信(< 125 kbit/s),升高和降低时间是500纳秒,这种信号改变(隐性转显性/显性转隐性)覆盖距离将超过100米。如果CAN总线短于100米,可以把电阻放在总线线路上的任何位置。在SWC和LS-CAN中,负载分布在每个CAN节点。这具有电气优点,但是如果增加CAN节点的数量,负载也将增加(除非每个节点中的电阻值增加)。

对于125 kbit/s以上的比特率,会出现一个新的问题(因为比特率增大也需要更高的电压转换速率)。如果500纳秒的转换速率的工作比特率是125 kbit/s,那么,以1 Mbit/s的比特率发送时,需要50纳秒的转换速率,使得比特边缘发散到10米以上长度的线缆。如果CAN总线线缆长于5米,比特边缘将到达CAN总线的另一端并被反射回另一端,然后在那里被再次反射,一直到所有能量都被线缆阻抗吸收。反射导致信号电平振荡,为了消除它们,必须吸收能量。可以通过在CAN总线端点处放置一个与线缆阻抗相同的电阻进行消除。它将吸收边缘中的所有能量并创建一个具有完美方波的信号(而不振荡)。

更多询问的问题:

  • 我的线缆的阻抗是多大?
    这不是一个简单的问题,因为阻抗值取决于线缆的材料和电气隔离属性,以及其机械尺寸。典型的同轴电缆的阻抗值为50至75欧姆,CAT5线缆的阻抗值为100欧姆。应当同时在线缆两端放置一个具有相同阻抗值的电阻。
  • 有多少个节点连接到我的CAN总线?
    必须检测连接到CAN总线的确切节点数目并把内部终端节点的阻抗调整为正确值。找出连接的节点数目并不容易,改变电阻值也非易事。一种简单的解决方案是,在线缆上的两个确定有60欧姆负载的地方放置两个120欧姆的电阻。这将为连接到总线线缆的任意数目节点产生正确的隐性电平。对于125 kbit/s以上的比特率或者过长的线缆,必须把负载放置在线缆的两个端点处,以防止比特边缘的振荡。
  • 为什么CAN标准选择120欧姆电阻?
    答案是,大部分汽车电线都是单线。如果您取出汽车中常用的电线并把它们两股绞合,得到的阻抗是120欧姆。如果您接着把绞合的电线挤压成一根线缆,阻抗通常下降到105欧姆。如果还使用薄膜隔离(CAT5线缆就是如此),阻抗将下降到100欧姆。

当CAN总线使用CAT5线缆时,120欧姆的电阻不是最佳的终端电阻。但是对于比特率为1 Mbit/s、转换速率为50纳秒的情况,这个电阻值足够好用。如果比特率增加到100 Mbit/s并且希望达到几纳秒的转换速率,那么这样的电阻会出现问题。但是,即使是CAN-FD,也不会达到这种比特率和转换速率。