单片机和MCP2510的CAN总线通信模块设计

时间:2012-04-07来源:网络

单片机和MCP2510的CAN总线通信模块设计

图3 CAN总线远程监测系统网络结构

节点控制器的MCU可选用具有SPI接口的微处理器,也可采用不带SPI接口的微处理器。本系统采用的是不带SPI接口的微处理器AT89C51。AT89C51可通过P1口与CAN控制器的SPI接口直接相连,并用软件算法来实现SPI接口协议。CAN总线收发器TJA1050则作为MCP2510与物理总线的接口。如果需要进一步提高系统的抗干扰能力,则可在MCP2510和TJA1050之间再加一个光电隔离器。

智能节点电路原理图如图4所示。

单片机和MCP2510的CAN总线通信模块设计

图4 智能节点电路原理图

2.1 软件设计

MCP2510正常工作之前, 需要进行正确的初始化,包括设置SPI接口的数据传输速率、CAN通信的波特率、MCP2510的接收过滤器和屏蔽器以及发送和接收中断允许标志位等。与SJA1000不同的是,单片机对MCP2510的接收缓冲器和发送缓冲器的操作,必须通过SPI接口用MCP2510内置读写命令来完成。其读、写命令时序图如图5和图6所示。

单片机和MCP2510的CAN总线通信模块设计
图5 SPI读命令时序图
单片机和MCP2510的CAN总线通信模块设计

图6 SPI写命令时序图

1 2 3 4

关键词: 单片机 MCP2510 CAN总线

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版