新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 单片机和MCP2510的CAN总线通信模块设计

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

作者: 时间:2012-04-07 来源:网络 收藏

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

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

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

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

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

图4 智能节点电路原理图

2.1 软件设计

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

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

图6 SPI写命令时序图



评论


相关推荐

技术专区

关闭