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

CAN总线接□模块的元器件选型

发布时间:2020-05-28 发布时间:
|

    1.芯片简介   

    MCP2510是Microchip公司生产的一种CAN控制器,可通过SPI方式与单片机接口,实现CAN通信(4.5V时, 可高达SMbit/s)。它支持CAN技术规范2.0A/B,通信速率高,可靠性高,实时性好,且连接方便,因而在工 业自动化、控制设备、交通工具、医疗仪器、建筑及环境控制中得到广泛应用。

2.内部结构与引脚   

MCP2510有3种封装结构,本模块采用的是18引脚的PDIP封装的元件,下面对该元件进行简要介绍。

图1所示为MCP2510的内部结构框图,其中CAN协议机负责与CAN总线的接口,SPI接口逻辑用于实现同MCU的 通信,而寄存、缓冲器组与控制逻辑则用来完成各种方式的设定和操作控制,图2为MCP2510的引脚图。

图1 MCP25l0内部结构图

图2 MCP25l0引脚图   

3.工作方式   

MCP25l0的发送操作通过3个发送缓冲器来实现。这3个发送缓冲器各占据14个字节的SRAM。第一字节是控 制寄存器TXBNCTRL,该寄存器里的内容设定了信息发送的条件,且给出了信息的发送状态;第2~6字节用来 存放标准的和扩展的标识符以及仲裁信息;最后8个字节则用来存放待发送的数据信息。在进行发送前,必 须先对这些寄存器进行初始化。

MCP2510有8个中断源,包括发送中断、接收中断、错误中断及总线唤醒中断等。利用中断使能寄存器 CANINTE和中断屏蔽寄存器CANINTF可以方便地实现对各种中断的有效管理。当有中断发生时,INT引脚变为 低电平并保持在低电平,直到MCU清除中断为止。

CAN协议具有CRCF错误、应答错误、形式错误、位错误和填充错误等检测功能。MCP2510内含接收出错计数 器(REC)和发送出错计数器(TEC)两个错误计数器。因而对于网络中的任何一个节点来说,都有可能因为 错误计数器的数值不同而使其处于错误-激活、错误-认可和总线ˉ脱离3种状态之一。

在使用CAN控制器MCP2510时,需要对MCP2510进行初始化以及对CAN总线上的数据进行收发操作。与其他 CAN控制不同的是,读、写MCP25 1 0的发送和接收缓冲器必须通过SPI接口协议的读写命令来实现。

SPI接口协议的读命令时序图如图3所示。操作时,首先将读指令和地址发送到MCP2510的SI引脚,并在SCK 的上升沿锁存每个数据位,同时把存储在这个地址单元中的数据在SCK的下降沿输出到SO引脚。当执行读写 操作时,CS引脚应始终保持在低电平。

 

图3 SPI读命令时序   

SPI写命令时序如图4所示。写指令首先被发送到MCP2510的51引脚,并在SCK的上升沿锁存每个数据位,然 后发送地址和数据。执行完毕指令后,数据被写进指定的地址单元中,再通过SPI接口协议的写命令来设置 发送位以启动发送。  


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

热门文章 更多
SPI总线的特点.工作方式及常见错误解答