基于CAN总线通信协议的设计与实现
时间:06-18
来源:互联网
点击:
3.2 数据接收机制
CAN接收机制负责将数据从CAN总线上接收下来,按照数据源节点的地址将其还原为发送前的格式,准确无误的传递给上层,并负责为上层提供接口函数。在CPU将数据取走以后,清空相应的数组。
在底层开辟了一个临时缓冲区用于暂时存放从CAN总线上接收下的数据,临时缓冲区采用二维数组的格式,容量为4*3*64。第一维的容量为4,分别指示发送节点的地址;第二维容量为3,作为数据的扩展缓存,指示可连续存放来自于同一节点的包的数目;第三维的容量为64,用来存放经过整理以后的数据。一般来说,开辟一个二维的空间就可以使协议周转,但是,在实际系统中可能会出现CPU还未能将整理完毕的数据取走此时又接到来自于同一节点的新的数据,这样就可能导致新的数据覆盖掉原来的数据,造成数据的丢失。为避免这种潜在地危险,因此开辟了三维空间,在最坏的情况下,每个节点都可同时容纳来自于同一节点连续发送的3包数据,大大降低了数据丢失的可能性。接收数据流程如图二所示。
图 二: 数据发送流程
5 总结
本文创新点:CAN总线以其卓越的特性、极高的可靠性和独特的设计,在工业过程监控设备的互联方面得到广泛的应用,受到工业界的广泛重视,并被公认为是最有前途的现场总线之一。作为通用、有效、可靠及经济的平台,CA N协议也已经广泛地受到了欢迎。由于CAN2.0规范固有的局限性,客观上要求用户建立高层协议对CAN进行完善。本文所设计的CAN总线应用层协议已经投入使用,具有简单、灵活、移植方便等特点。
设计 实现 协议 通信 CAN 总线 基于 通信协议 C8051F120 单片机 相关文章:
- 直接变频接收机设计可实现多标准/多频带运行(10-11)
- 基于蓝牙芯片的无线通信模块设计与开发(02-03)
- 无线通信网络设计与现场测试(10-10)
- WiMAX数据传输加密方案设计与实现(05-25)
- 高性能TD-SCDMA接收机的设计(03-15)
- 初步设计WiMAX射频系统(03-29)