基于CAN的多通道数据采集系统的设计
,并把缓冲区数据写入到判断为空的邮箱数据寄存器中,添加该帧数据的标识码、帧格式、数据长度等信息后启动发送命令,当该控制器得到总线控制权时就会把数据发送到总线上。 ③接收报文。当CAN控制器的接收端接收到一个完整的标识符时,它将通知验收过滤器搜索RAM中的表格,以决定接收或放弃这一帧信息。CAN控制器若采用中断的方式接收总线上的报文,在报文通过验收过滤时,CAN控制器将产生接收中断,由CAN接收中断服务程序完成对该报文的读取。 5 系统软件结构设计 系统上电后,待数据采集系统完成各模块的初始化后,下位机的控制权将交给上位机。上位机首先命令数据采集系统进行自检,查看其能否正常工作以及通信是否正常。自检完成之后,上位机根据测试项目的要求来对某些传感器、发动机电子控制单元输出信号和电源信号进行循环采样,同时数据采集系统将根据上位机命令对某些信号进行立即采样,或执行其他操作。主程序的流程图如图6所示。 图6 系统主程序流程图 6 试验结果及分析 在实验室通过上位机对数据采集系统进行了整体测试,并对其进行了标定。取高精度低波纹的稳压电源为信号源,对0—30 V伺服信号进行了21点标定,并对其标定算法进行了验证。取标定点之间20组数据作为测试点,标定曲线和测试曲线如图7所示。将测试点实测误差与通过校准公式计算出的误差之差取绝对值得校准精度曲线如图8所示,可以看出校正之后测试点的整体误差在3.5 mV以内,经计算得知其最大值为3. 446 mV,均方误差为0.1187 mV,满足系统要求。 图7实验标定曲线 图8实验校准精度曲线 7 结束语 试验表明该数据采集系统针对性强,具有采集精度高、可靠性强、操作简单、体积小、成本低等优点,满足航空发动机测试系统的需求。该数据采集系统从设计结构上弥补了原有采集卡的不足,通过CAN总线使数据采集系统、上位机和其他设备方便地组成一个网络,各CAN节点间通信十分方便。该数据采集系统集成特定信号调理电路,针对性强,满足系统小型化的要求。同时通过简单有效的标定算法大大提高了系统的采样精度,达到了系统设计的要求。
数据采集CAN总线非线性误差标 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)