单片机和MCP2510的CAN总线通信模块设计
1.2 结构及工作原理
MCP2510有PDIP、SOIC和TSSOP三种封装形式。图2是MCP2510的内部结构框图。CAN协议机负责与CAN总线的接口,SPI接口逻辑用于实现同MCU的通信,而寄存、缓冲器组与控制逻辑则用来完成各种方式的设定和操作控制。现结合其工作过程将各部分的功能、原理作一介绍。
图2 MCP2510内部结构框图
(1) 收发操作
MCP2510的发送操作通过3个发送缓冲器来实现。这3个发送缓冲器各占据14字节的SRAM。第1字节是控制寄存器TXBNCTRL,该寄存器用来设定信息发送的条件,且给出了信息的发送状态;第2~6字节用来存放标准的和扩展的标识符以及仲裁信息;最后8字节则用来存放待发送的数据信息。在进行发送前,必须先对这些寄存器进行初始化。
(2) 中断管理
MCP2510有8个中断源,包括发送中断、接收中断、错误中断及总线唤醒中断等。利用中断使能寄存器(CANINTE)和中断屏蔽寄存器(CANINTF)可以方便地实现对各种中断的有效管理。当有中断发生时,INT引脚变为低电平并保持在低电平,直到MCU清除中断为止。
(3) 错误检测
CAN协议具有CRCF错误、应答错误、形式错误、位错误和填充错误等检测功能。MCP2510内含接收出错计数器(REC)和发送出错计数器(TEC)两个错误计数器。因而对网络中的任何一个节点来说,都有可能因为错误计数器的数值不同而使其处于错误激活、错误认可和总线脱离3种状态之一。
2 MCP2510在智能节点中的应用实例
利用MCP2510和CAN总线收发器TJA1050可构成一个CAN总线分布式测控网络。系统可包括一个主控制器和多个节点控制器,这种节点控制器可对电动机的电流、电压及周围的温度进行监控,其结构如图3所示。
这种网络拓扑结构采用了总线式结构和无源抽头连接,且结构简单、成本低,因而系统的可靠性较高。其信息传输采用CAN通信协议,通信介质采用双绞线。由于CAN总线是基于发送报文的编码,不对CAN控制节点进行编码,故系统的可扩充性比较好,同时增删CAN总线上的控制节点不会对系统的其余节点造成任何影响。
评论