控制器区域网路 (Controller Area Network,简称CAN或者CAN bus)是常用于汽车的通讯网路。在汇流排上的node没有主从之分,每一个node都可以主动送出或接收资料,在汇流排上新增或减少一个node也不用大改软硬体,有自我侦错能力。而且CAN讯号属于差动信号,有好的抗杂讯能力,所以适用于有很多杂讯干扰较严重的环境。由于以上的优点,除了用于常见的汽车、卡车、火车、堆高机;连脚踏车、智慧家庭、工业电脑或Gateway等等也会加入这个传输介面。
这些应用中所使用的平台各式各样,但大多没有提供CAN的介面。开发者要加入一个CAN的介面,常常面临是否要更换平台的窘境。为了解决这个问题,SPI转CAN的Bridge晶片是一个不错的选择──SPI在这些平台上是一个标准的介面,所以使用一个SPI通道就可以不更动平台,就新增一个CAN的介面。
要架构一个通道的CAN node,需要一个CAN控制器及一个CAN 收发器。一条CAN汇流排上最少有两个node互传,最多可以有2^29个node。 Microchip在SPI转CAN的Bridge晶片与收发器产品提供多种的选择如下:
SPI介面,支援CAN2.0A/B的控制器;
SPI介面,支援CAN2.0A/B及CAN FD的控制器;
SPI介面,整合CAN收发器及CAN2.0A/B控制器于一颗IC;
支援CAN FD的双通道CAN收发器;
支援睡眠模式的单通道CAN收发器;
支援Partial Networking的CAN收发器等等…
在此就不对细部功能一一描述。
如图(一)所示,在CAN汇流排上最远两个端点的node,需要加上终端电阻120 ohm来防止信号反射。也可以分成两个60 ohm串联,中间连接的端点接一个电容到地。
如图(二)所示,为了抑制共模杂讯及突波,有时会在收发器出来时接一个CMC(option)及TVS,CANH/L线上除了CMC外,通常不允许加入其它元件。 Microchip的ATA系列CAN收发器通过美系车厂认证不需CMC与TVS并符合SAE标准,可节省成本。另外CL2及CH2可用来调整CANH/L上的讯号斜率以抑制辐射干扰。
在布局方面的建议,CAN收发器越靠近connector越好,TVS通常放在connector旁;而CANH和CANL的走线需等长,零件摆放的位置对称,以防止CANH和CANL的讯号不对称。
有些客户挺关心购买相关的CAN产品是否有符合相关的标准。 Microchip的CAN产品符合多项测试。除了符合ISO11898的标准外,也通过了车规的AEC-Q100、C&S的相容性测试、EMC的相关测试等等。
对于软体的支援,如果您跑的是Windows作业系统,我们可以提供基于UWP(Universal Windows Platform;通用Windows平台)的API供客户开发,建立与SPI介面的CAN控制器之间的通讯。如果跑的是Linux作业系统,网路上也有第三方所撰写的Driver可以使用,可谓资源相当齐全。在不用更换平台的情况下,如果要加入CAN的介面,SPI转CAN bridge是您最好的选择。
相关元件及开发板资料,请参考官方网站:
https://www.microchip.com/design-centers/can,亦欢迎与我们经验丰富的设计团队联系。
作者 邹文棋 Microchip应用工程师