微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > PIC18单片机的CANopen通信协议

PIC18单片机的CANopen通信协议

时间:06-03 来源:互联网 点击:
3 实验结果

在软件设计中编写了与上位机的通信模块程序,可以将每个节点接收和发送报文的ID号、数据长度、数据转发到串口,便于上位机进行观测。

图3为系统传输数据的过程,温度传感节点发送报文过程为发送自启动报文后以周期为1 s发送心跳报文,以周期为100 ms发送PDO1报文,发送数据为传感温度(分别为19°,20°,…,21°…)。上限温度和下限高温都为20°时,温度调节节点接收报文过程为接收到 NMT报文命令后进入操作状态,不断接收PDOl报文。温度调节节点发送报文过程为发送自启动报文后以周期为1 s发送心跳报文,以事件触发方式发送PDOO报文(发送数据为工作状态长度为1,当接收到的温度低于20°时发送数据为02表示加热,当接收到的温度高于 20°时发送数据为01表示降温,当接收的温度为20°时发送数据为OO表示保持),状态显示灯不断闪烁红色、黄色、蓝色。如在命令节点中发送SDO报文改变对象字典中的上限温度和下限温度,再观察各节点变化。情况1,当上限温度低于20°(为15°)时,温度调节节点一直在降温状态,状态显示灯为红色。情况2,当下限温度高于20°(为25°)时,温度调节节点一直在加热状态,状态显示灯为黄色,情况3,当上限温度高于20°(为25°),下限温度低于 20°(为15°)时,温度调节节点一直在保持状态,状态显示灯为蓝色。命令节点在液晶显示屏中显示实时温度,在状态显示灯中显示实时状态。



命令节点进行NMT对象操作时再观察各节点状态:当按下按钮1时,节点进入欲操作状态;当按下按钮2时,节点重启。

从以上两个实验可以看出,整个系统在运行过程中达到了满意的控制效果,实现了基于CANopen协议的对象数据的交换,通信传输理想。

结语

应用PIC18单片机自行开发的基于CANopen协议的节点,实现了对4种通信对象信息的通信处理,并通过测试验证了系统信息传递的可靠性、准确性和实时性,很好地满足了基于CANopen协议的温度测控系统的要求;对于CANopen在国内的应用和普及,以及CAN网络和驱动产品尽早和国际接轨,具有重要的意义。

参考文献

   1. 邓遵义 CANopen 协议剖析及其在伺服电机控制中的实现 [期刊论文] -机电工程2007(24)
   2. CANopen high-level protocol for CAN-bus H.Boterenbrood NIKHEF 2000
   3. 马凯歌 基于DSP 的CANopen通信协议的实现 [期刊论文] -微计算机信息2006
   4. Microchip Technology Inc PICI8F458 英文手册 2003

作者:广西大学 蒋智康 宋春宁 宋绍剑
来源:单片机与嵌入式系统 2008(9)

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

网站地图

Top