微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 一种基于单片机的车辆虚拟仪表数据采集系统设计

一种基于单片机的车辆虚拟仪表数据采集系统设计

时间:11-30 来源:互联网 点击:

断寄存器,必须注意两者的区别。CAN中断子程序(图5)首先读CAN中断寄存器(IR)以判断中断类型,据此转入相应的操作。如果接收缓存器满而另一个报文的首字节又需要被存储时,数据超限位被置位,此时应清除超限并释放接收缓存,然后重新发送数据请求。在数据接受子程序中当数据被转入RAM区后,应及时释放接受缓存器,以便为接收下一帧数据做好准备。

图5 CAN中断子程序

数据发送子程序见图6.CAN控制器向总线发送数据时,首先将在片主RAM中数据存放的首地址写入CANSTA,然后读取CANSTA.6的值(读 CANSTA的操作其实是对CAN控制器内部状态寄存器的读操作,CANSTA.6是错误显示位,当至少有一个总线错误计数器计数达到CPU告警极限时,该位将被CAN控制器置位。),若检测出错,则执行CAN初始化子程序,若正常,则继续检测接收状态和发送缓冲器状态,若发送条件满足则在CANADR中写入发送缓存器地址并置位DMA控制位,DMA传送随即被启动,数据场由RAM拷贝到发送缓存器,置发送请求位后数据开始发送。

4 结语

用高性能的P80C592和AD1674A数据采集模块组成车辆环境数据采集系统具有较高的性价比,目前该系统已投入试用阶段,运行状况良好。 CAN总线非常适合分布式控制或适时控制的串行通信网络,本课题只涉及了数据采集,如果在此基础上扩展车辆辅助控制和重要数据备份功能,系统将会有更广阔的应用前景。

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

网站地图

Top