微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 模拟电路设计 > 单片机和MCP2510的CAN息线通信模块设计

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

时间:05-03 来源:超前科技开发网 点击:

P2510的接收缓冲器和发送缓冲器的操作,必须通过SPI接口用MCP25lO内置读写命令来完成。其读、写命令时序图如图5和图6所示。

\

本文中MCP2510主要采取中断模式进行总线数据的接收和发送。整个系统主序提供两种中断:定时器中断和外部中断。定时器中断的中断子程序主要负责处理来自模拟通道AINO~AIN7的A/D数据,向MCP25lO发送"数据发送请求命令"以及发送数据。外部中断的中断处理子程序主要包括CAN总线错误处理子程序和数据接收子程序。
2.2 软件主体设计流程
软件主体设计流程如图7所示。软件设计时需要注意以下问题:
①因为MCP2510在初始化完成后处于默认Config-uration模式下,所以就需要在MCP2510的初始化完后将其置为Normal模式,否则MCP2510将一直停留在Configuration模式下,不能正常进行工作。将MCP2510置Normal模式可通过使用MCP2510内置的BitModify(位修改)4指令向CANCTRL控制字写入一个0字节来实现。
②在对MCP2510进行任何操作之前,都要由微处理器向MCP2510的片选CS输出一个低电平,使得MCP2510选通。
③在执行MCP2510的"读"操作时,发送完读指令及其地址码之后,仍然需要向MCP2510提供时钟,以接收"读"到的数据。可以通过向MCP2510发送一个O字节来实现。
④在对MCP2510完成任意操作后,都要延时一段时间,使其有足够的时间来准备接收下次操作的命令,防止出现MCP2510"忙"的情况。

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

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top