论文部分内容阅读
摘 要:CAN总线作为现场总线标准之一,是一种有效支持分布式控制或实时控制的串行通信系统,广泛应用于工业自动化监控网络中。本文设计了一种基于MCP2515控制芯片的CAN总线网络;给出了硬件电路图和软件系统设计流程图,并进行了相应的说明。
关键词:CAN总线;MCP2515;通信网络
中图分类号:TP273 文献标识码:A 文章编号:1674-7712 (2012) 12-0078-01
一、引言
CAN(Controller Area Network)总线即控制器局域网总线,具有高性能和高可靠性,成本低,广泛应用于工业现场控制、智能楼宇、医疗器械、交通工具以及传感器等领域。微芯公司的MCP2515总线控制器芯片采用标准SPI串行接口,符合CAN 2.0B技术规范,编程配置方便,可以使产品快速更新,缩短开发周期,提高产品质量。
二、MCP2515介绍
MCP2515是独立控制器局域网络协议控制器,完全支持CAN V2.0B技术规范。该器件能发送和接收标准和扩展数据帧以及远程帧。MCP2515自带的两个验收屏蔽寄存器和六个验收滤波寄存器可以过滤掉不想要的报文,因此减少了主单片机(MCU)的开销。MCP2515与MCU的连接是通过业界标准串行外设接口SPI来实现的。该器件主要由三个部分组成:
1.CAN模块,包括CAN协议引擎、验收滤波寄存器、验收屏蔽寄存器、发送和接收缓冲器。
2.用于配置该器件及其运行的控制逻辑和寄存器。
3.SPI协议模块。MCU通过SPI接口与该器件连接。
三、硬件电路设计
MCP2515的硬件电路图如图1所示。MCU通过SPI接口(或者模拟SPI接口)与MCP2515连接,使用INT引脚产生接收、发送中断请求,不使用其他同步信息引脚连接;采用16MHz晶振产生工作频率(最高40MHz);通过光耦器件6N137进行隔离,保证MCU端电源与总线电源有效隔离;采用PCA82C250作为总线驱动器,可以连接最多64个节点,传输速率最高1Mbps。
四、软件设计
CAN总线通信模块的程序包括MCP2515的初始化、节点自测、通信波特率侦测程序。通信模块初始化之后即可由CPU的主监控程序调用的数据发送、接收及其他通信任务相关子程序。MCP2515提供了两种数据操作模式,即中断模式和状态查询模式。由于查询模式需大量的CPU开销,所以在实时要求较高的自动化仪表中常用中断方式。通信模块的主流程如图2所示。
五、网络结构
CAN总线网络可以包含多个节点,每个节点具有相同的总线使用权,可以配置为主机或从机,由总线仲裁机制完成。本系统采用固定主机和从机方式,从机只能向主机发送信息,而主机可以向某个从机发送定向信息,也可以向所有从机发送广播信息,网络结构如图3所示。
六、结束语
本文详细介绍了CAN总线控制器MCP2515,给出了硬件连接图、软件流程图和网络结构图。MCP2515具有多个屏蔽寄存器,可以设置多个过滤条件,采用非对称网络结构,使得各从机之间相互独立,不会产生任何相互干扰。同时各模块采用了光耦隔离电路,合理设置主机程序,可以实现从机的即插即用功能,具有广阔的实用价值。
参考文献:
[1]王继国,吉吟东,孙新亚.CAN总线控制器MCP2515的原理及应用[J].电测与仪表,2004,1:457-460
[2]李貌,秦霆镐,闫世晓.MCP2515在CAN总线系统智能节点的应用[J].嵌入式网络技术,2005,21(7)
[3]steve diaper.CAN开发技术[J].今日电子,2004,9
[基金资助]桂科基LD10065Y
关键词:CAN总线;MCP2515;通信网络
中图分类号:TP273 文献标识码:A 文章编号:1674-7712 (2012) 12-0078-01
一、引言
CAN(Controller Area Network)总线即控制器局域网总线,具有高性能和高可靠性,成本低,广泛应用于工业现场控制、智能楼宇、医疗器械、交通工具以及传感器等领域。微芯公司的MCP2515总线控制器芯片采用标准SPI串行接口,符合CAN 2.0B技术规范,编程配置方便,可以使产品快速更新,缩短开发周期,提高产品质量。
二、MCP2515介绍
MCP2515是独立控制器局域网络协议控制器,完全支持CAN V2.0B技术规范。该器件能发送和接收标准和扩展数据帧以及远程帧。MCP2515自带的两个验收屏蔽寄存器和六个验收滤波寄存器可以过滤掉不想要的报文,因此减少了主单片机(MCU)的开销。MCP2515与MCU的连接是通过业界标准串行外设接口SPI来实现的。该器件主要由三个部分组成:
1.CAN模块,包括CAN协议引擎、验收滤波寄存器、验收屏蔽寄存器、发送和接收缓冲器。
2.用于配置该器件及其运行的控制逻辑和寄存器。
3.SPI协议模块。MCU通过SPI接口与该器件连接。
三、硬件电路设计
MCP2515的硬件电路图如图1所示。MCU通过SPI接口(或者模拟SPI接口)与MCP2515连接,使用INT引脚产生接收、发送中断请求,不使用其他同步信息引脚连接;采用16MHz晶振产生工作频率(最高40MHz);通过光耦器件6N137进行隔离,保证MCU端电源与总线电源有效隔离;采用PCA82C250作为总线驱动器,可以连接最多64个节点,传输速率最高1Mbps。
四、软件设计
CAN总线通信模块的程序包括MCP2515的初始化、节点自测、通信波特率侦测程序。通信模块初始化之后即可由CPU的主监控程序调用的数据发送、接收及其他通信任务相关子程序。MCP2515提供了两种数据操作模式,即中断模式和状态查询模式。由于查询模式需大量的CPU开销,所以在实时要求较高的自动化仪表中常用中断方式。通信模块的主流程如图2所示。
五、网络结构
CAN总线网络可以包含多个节点,每个节点具有相同的总线使用权,可以配置为主机或从机,由总线仲裁机制完成。本系统采用固定主机和从机方式,从机只能向主机发送信息,而主机可以向某个从机发送定向信息,也可以向所有从机发送广播信息,网络结构如图3所示。
六、结束语
本文详细介绍了CAN总线控制器MCP2515,给出了硬件连接图、软件流程图和网络结构图。MCP2515具有多个屏蔽寄存器,可以设置多个过滤条件,采用非对称网络结构,使得各从机之间相互独立,不会产生任何相互干扰。同时各模块采用了光耦隔离电路,合理设置主机程序,可以实现从机的即插即用功能,具有广阔的实用价值。
参考文献:
[1]王继国,吉吟东,孙新亚.CAN总线控制器MCP2515的原理及应用[J].电测与仪表,2004,1:457-460
[2]李貌,秦霆镐,闫世晓.MCP2515在CAN总线系统智能节点的应用[J].嵌入式网络技术,2005,21(7)
[3]steve diaper.CAN开发技术[J].今日电子,2004,9
[基金资助]桂科基LD10065Y