基于C8051的CAN多点实时数据通信系统
时间:02-16
来源:互联网
点击:
在这个系统中,电脑作为主机,通过USB/CAN转换器与CAN总线相连,使用软件工具CANTools-V6.2进行数据地发送、接收以及显示。系统中两个CAN节点分别为开发板1和开发板2,通过编译相应的程序,使得CAN节点能实时把数据发送到主机,主机可根据接收到的数据向CAN节点发出控制信号来改变CAN节点回发的数据,以此达到实时通信控制的目的。同时两个CAN节点之间也能互相进行数据通信,并把所接收到的数据显示在开发板的LCD屏上。
3.2 软件设计
软件设计分为两大部分:(1)主程序的设计。(2)CAN通信库函数程序的编写。
主程序主要涉及的是程序流程,包括调用初始化函数,打开中断,根据与主机通信还是与其他节点通信调用CAN通信库函数编写出相应的通信流程,流程图如图3所示。
CAN通信库函数主要包括:系统初始化函数、CAN初始化函数、CAN中断服务函数、CAN接收数据函数和CAN发送数据函数。
这里详细讲述CAN通信库函数中,CAN接收数据函数、CAN发送数据函数和CAN中断服务函数。
CAN接收数据函数和发送数据函数的流程图,如图4所示。
CAN中断服务函数程序流程图,如图5所示。
4 结束语系统可以完成各个节点之间以及节点与主机之间的实时数据收发,基本完成了多点实时数据通信任务,能做到速度快、延迟低、错误率低、稳定性高,并且能够在电脑上直观地看到实验结果。通过示波器测得该系统完成一次通信需要10.8μs,能满足工业上实时监控的要求,这说明基于C8051F040的CAN多点实时数据通信的可能性,且因为其多节点设备接入简易,使其在远程工业实时监控上有较好的前景。缺点在于节点的数量不够多,节点之间的距离不够远,没有测试出多点通信的节点数量上限和实时通信距离上限。
- 怎样选择适合您应用的无线网络(10-10)
- 光传送技术发展现状和趋势(06-13)
- 基于航空总线提高数据可靠性的设计与实现(12-11)
- 基于FPGA的LVDS高速数据通信卡设计(05-23)
- 实现触摸屏和PLC之间数据通信的方案(10-19)
- 如何有效利用NFC加快目前蓝牙处理的速度(04-13)