5749|0

6

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

CAN总线通信模块()MCP2510 [复制链接]

MCP2510芯片介绍

    MCP2510是一种带有SPI接口的CAN控制器,具有PDIP、SOIC和TSSOP三种封装形式;PDIP封装如图1所示;它支持CAN技术规范V2.0A/B;并能够发送的接收标准的和扩展的信息帧,同时具有接收滤波和信息管理的功能。MCP2510通过SI接口与MCU进行数据传输,最高数据传输速率可达5Mb/s,MCU可通过MCP2510与CAN总线上的其它MCU单元通讯。MCP2510内含三个发送缓冲器、二个接收缓冲器。同时还具有灵活的中断管理能力,这些特点使得MCU对CAN总线的操作变得非常简便。

工作原理:
(1)收发操作
    MCP2510的发送操作通过三个发送缓冲器来实现。这三个发送缓冲器各占据14个字节的SRAM。第一字节是控制寄存器TXBNCTRL,该寄存器里的内容设定了信息发送的条件,且给出了信息的发送状态;第二至第六字节用来存放标准的和扩展的标识符以及仲裁信息;最后八个字节则用来存放待发送的数据信息。在进行发送前,必须先对这些寄存器进行初始化。

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

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

 

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

软件流程图:

软件设计时需要注意的问题:

(1)因为 MCP2510在初始化完成后默认处Configuration模式下,所以就需要在MCP2510的初始化完后将其置为 Normal模式,否则MCP2510将一直停留在Configuration 模 式 下, 不 能 进 行 正 常 工 作。将MCP2510置Normal模式可通过使用 MCP2510内置的BitModify(位修改)4指令向CANCTRL控制字写入一个0字节来实现.

(2)在对MCP2510做任何操作之前,都要由微处理器向MCP2510的片选CS输出一个低电平,使得MCP2510被选通

(3)在进行MCP2510的“读”操作时,发送完读指令及其地址码之后,仍然需要向MCP2510提供时钟,以接收“读”到的数据。可以通过向MCP2510发送一个“0”字节来实现。

(4)在对MCP2510做完任意操作后,都要延时一段时间,使其有足够的时间来准备接收下次操作的命令,防止出现MCP2510“忙”的情况。

 

本文来自:http://www.51kaifa.com/html/jswz/200801/read-9147.htm (部分内容作者做了一定的编辑)想要参看原文:请点击   这里

此帖出自工控电子论坛
点赞 关注
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表