基于ARM的CAN总线电缆沟道监测系统的设计
时间:05-22
来源:作者:陈东 孙万荣 胡方明
点击:
5 CAN通信软件设计
设计选用μC/OS-II嵌入式实时操作系统来实现CAN通信,在LPC2292上移植成功后,可用作为内核来编写监控系统的控制软件。
5.1 运行μC/OS-II操作系统
工程的CAN实现主要通过建立两个任务来实现,即CAN发送任务和CAN采集任务。在主函数main中先利用OSInit()初始化μC/OS-II操作系统,建立一个信号量并把信号计数器清零,然后利用OSTaskCreate()创建第一个任务Tasksend(),再通过OSStart()启动操作系统的多任务调度机制,开始运行系统的主要应用程序。主函数代码如下:
接收数据可采用查询方式或中断方式。为了提高效率,数据接收采用中断方式。两个任务中,设置任务Tasksend()的优先级最高,任务Taskrev()的优先级次高。任务Tasksend()主要负责初始化CAN,初始化定时器0,初始化VIC,建立信号量用于任务Taskadrev()与中断通信并建立新的任务Taskrev(),并处理采集数据。任务Taskadrev()一直处于等待信号状态,一旦从中断得到信号,立刻采集数据,并通过邮箱将采集到数据指针发给任务Tasksend()。
基于μC/OS-II的CAN接收数据、发送数据任务流程图如图5,6所示。
以ARM7TDMI内核的嵌入式微控制器LPC2292作为主控制器、CAN总线作为数据传输方式通信的嵌入式系统得到了广泛的应用,同时CAN通信的优良可靠性也成为影响系统性能的关键。以LPC2292为开发平台,并且在成功地移植μC/OS-II的基础上,研究CAN通信软件设计。实验结果说明该系统设计可行,并且满足了快速、准确、多信息量的要求。
- 基于MSP430系列单片机的CAN总线接口转换卡设计(01-17)
- CAN总线—PROFIBUS-DP总线网关的实现方法(01-17)
- 汽车CAN总线(01-21)
- CAN总线控制器与DSP的接口(01-21)
- 基于ARM的CAN总线智能节点的设计(01-24)
- 基于WinCE的液位遥测系统软件设计(04-13)
灏勯涓撲笟鍩硅鏁欑▼鎺ㄨ崘
栏目分类