1:CAN收发器(原理讲解)
从原理上来讲CAN_H拉升电压,或CAN_L拉低电压的原理。
以上是TJA1145AT的俯瞰图,此芯片是NXP比较先进的CAN收发器,带SPI总线系统。
回到正题,CAN_H和CAN_L收发器是通过内部MOS管的导通或关闭,来实现总线上的不同电压。
如图所示:
当Mos1和MOS2同时关闭时,Vcc-分压电阻-地的通路关闭,CAN_H与CAN_L电压相同,则显示隐性电压。
当当Mos1和MOS2同时开启时,,Vcc-分压电阻-地的通路闭合,经过电阻分压CAN_H电压升高,CAN_L电压降低,形成显性电压。
2:CAN总线常见拓扑结构
2.1直线型拓扑结构
如图所示,在CAN_H和CAN_L之间,分别连接两个120欧姆的电阻,形成闭环结构。然后再将总线上各个节点依次连接到总线上(注意:一般情况下,整车制造厂都会要求,所有节点CAN_H连接到总线上的线是长度一致,CAN_L连接到总线上的线是长度一致)。
此种拓扑结构简单,但是节点处,在高频信号下,容易产生信号反射问题(Layout布线(高频信号线)时,同样要求45°过弯,不能直角过弯一样的道理)。
2.2手拉手型拓扑结构
通常单个模块测试时,都是采用手拉手的结构。心细的朋友已经发现个问题
问题:我们通常采用手拉手结构,都是直接直接CAN_H和CAN_L之间,并联一个120欧姆的电阻,即可正常连接与通讯。为什么此图中需要在第一个节点和第二个节点之间都并联120欧姆的电阻。
答案:当总线上只存在两个节点时。只连接一个120欧姆电阻没有问题。当节点数量>=3时,就需要在两个任意节点上添加120Ω的电阻。
原因:两个准则
1:CAN总线(ISO11898必须是CAN总线闭环结构)。这里的闭环结构是指任意节点CAN_H和CAN_L之间必须形成闭环。
2:任意节点CAN_H和CAN_L之间,必须经过一个60欧姆的电阻。可以这样想象,电流从CAN_H流向CAN_L。必须经过经过一个60欧姆的电阻。
根据此准则,我们发现如果采用手拉手拓扑结构,只并联一个120欧姆的电阻,无法使得所有节点之间的通路都经过120欧姆,不符合60欧姆的需求。两个120欧姆电阻并联=120*120/240=60欧姆
3:T型拓扑结构
4:星型拓扑
每个节点之间,都需要连接一个节点并联一个60欧姆的电阻。