新闻中心

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

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

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

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

图7 软件主体设计流程图

本文中主要采取中断模式进行总线数据的接收和发送。整个系统主序提供两种中断: 定时器中断和外部中断。定时器中断的中断子程序主要负责处理来自模拟通道AIN0~AIN7的A/D数据,向发送“数据发送请求命令”以及发送数据。外部中断的中断处理子程序主要包括错误处理子程序和数据接收子程序。

2.2 软件主体设计流程

软件主体设计流程如图7所示。软件设计时需要注意以下问题:

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

② 在对MCP2510进行任何操作之前,都要由微处理器向MCP2510的片选CS输出一个低电平,使得MCP2510选通。

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

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

3 总结

已被公认为是最有前途的几种现场总线之一。因其性价比高、实现简单等突出优点深受越来越多的研发人员的青睐。本文的智能节点可联结多个集散控制系统,其软硬件电路的设计方法同样适合于其他基于的分布式控制系统的节点设计。

参考文献

[1] 邬宽明. CAN总线原理和应用系统设计[M]. 北京:北京航空航天大学出版社,1996.

[2] Microchip. MCP2510 DataSheet,2002.

[3] 王继国,新亚. CAN控制器芯片MCP2510在远程监测系统中的应用[J].电子技术应用,2004(4).

[4] 蔡美琴,张为民,何金儿,等. MCS51系列系统及其应用[M]. 第2版. 北京: 高等教育出版社,2004.

杨庆华(硕士研究生),主要研究方向为计算机测控;张景元(教授),主要研究方向为人工智能、模式识别、信息处理和智能控制。


上一页 1 2 3 4 下一页

评论


相关推荐

技术专区

关闭