×
接口总线驱动 > 总线 > 详情

CAN总线系列讲座第二讲——CAN总线的结构

发布时间:2020-05-16 发布时间:
|
一 CAN总线拓扑结构

CAN是一种分布式的控制总线,总线上的每一个节点一般来说都比较简单,使用MCU控制器处理CAN总线数据,完成特定的功能;通过CAN总线将各节点连接只需较少的线缆(两根线:CAN_H和CAN_L),可靠性也较高。

ISO11898定义了一个总线结构的拓扑:采用干线和支线的连接方式;干线的两个终端都端接一个120欧姆终端电阻;节点通过没有端接的支线连接到总线;对干线与支线的参数都进行了说明。

 
 

表1  干线与支线的网络长度参数

CAN-bus 位速率

总线长度

支线长度

节点距离

1Mbps

最大40m

最大0.3m

最大40m

5Kbps

最大10Km

最大6m

最大10Km

在实际应用中可以通过CAN中继器将分支网络连接到干线网络上,每条分支网络都符合ISO11898标准,这样可以扩大CAN总线通讯距离,增加CAN总线工作节点的数量。

 

 
 

二 CAN总线的节点构成

 

 



 

 

 

 

 CAN总线节点的硬件构成方案有两种:

(1)、MCU控制器+独立CAN控制器+CAN收发器。独立CAN控制器如SJA10000、MCP2515,其中MCP2515通过SPI总线和MCU连接,SJA1000通过数据总线和MCU连接。

(2)、带有CAN控制器的MCU+CAN收发器。目前,市场上带有CAN控制器的MCU有许多种,如P87C591、LPC2294、C8051F340等。

两种方案的节点构成都需要通过CAN收发器同CAN总线相连,常用的CAN收发器有PCA82C250、PCA82C251、TJA1050、TJA1040等。

两种方案的节点构成各有利弊:

第一种方案编写的CAN程序是针对独立CAN控制器的,程序可移植性好,编写好的程序可以方便的移植到任意的MCU。但是,由于采用了独立的CAN控制器,占用了MCU的I/O资源,并且电路变得复杂。

第二种方案编写的CAN程序是针对特定选用的MCU,例如LPC2294。程序编写好后,不可以移植。但是,MCU控制器中集成了CAN控制器单元,硬件电路变得简单些。

 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
RS232与RS485谁才是UART中的高速公路