基于CAN的多通道数据采集系统的设计
近年来随着我国航空工业的不断壮大,我国航空发动机的自主设计研制进程也越来越快。在任何型号航空发动机定型之前都要经过各种严格的测试,如振动、压力、噪声、转速及发动机电子控制单元输出信号的检测等。通过对其进行的各项测试才能及时发现其设计缺陷,并根据测试记录的数据进行改进。因此设计完成一套适合航空发动机动态测试的多通道数据采集系统就显得尤为重要了。
航空发动机的动态测试需要数据采集系统配合上位机来完成。数据采集系统将各传感器及发动机控制单元输出的信号进行调理、采集、分析处理后上传至上位机,并及时接收发动机的电子控制单元输出的数字信号,配合上位机完成相应的控制。现有测试当中数据采集系统都是采用数据采集卡,另外配备调理电路完成的。采集卡虽然通用性较强,但对于特定系统就会暴露其缺点,如电磁兼容性差、没有相应的信号调理电路、不具有总线接口与其他设备通信困难、价格昂贵等,这使得整个测试系统开发设计难度加大。因此针对现有问题设计一款小型化、配备特定信号调理电路、接口灵活、便于组网的多通道数据采集系统具有重要的意义和实用价值。
1 系统总体结构
根据系统功能要求,多通道数据采集系统由ARM7设备端、调理电路模块、数据采集单元、CAN总线模块4部分组成,系统总体结构框图如图1所示。ARM7是该系统的核心部分,完成对外围电路的控制、数据的分析处理以及数据的传输控制等,它提供给用户SPI总线接口、CAN总线接口、I/O逻辑端口以及调试端口等。测试传感器、发动机电子控制单元输出的各信号及电源信号首先经过调理电路,将其通过运算放大器和相应的高精度电阻按照一定比例调理成适合A/D输入范围的要求后进人数据采集单元,数据采集单元主要由3片共48路模拟输入的AD7490及外围电路组成,数据采集单元将采集得到的数据通过SPI总线送给微处理器ARM7,微处理器对获得的数据进行分析处理后通过CAN总线上传至上位机,配合上位机完成各种控制、性能分析及数据记录。
2 系统硬件结构设计
2.1调理电路
传感器及发动机电子控制单元输出的信号种类很多,有直流电压信号、交流电压信号、脉冲信号、方波信号等,且这些信号有弱有强。为减小电磁干扰对弱信号的影响并提高其系统识别能力、减小强信号对系统的破坏性影响,必须将这些信号通过调理电路完成相应的隔离、放大、滤波、整形等变换,把原始信号按照一定比例调理成适合数据采集单元AD7490模拟输入范围要求的信号。频率信号则通过放大、滤波、整形电路后转变为方波信号,方波信号的下降沿触发ARM7内部捕获单元的计数器,通过计数器差值换算获得其频率。
图1系统总体结构框图
2.2数据采集单元设计
根据用户需要,该系统的微处理器选用Philips公司的32位ARM7处理器IPC2292,该芯片具有运算速度快、接口丰富、I/O扩展能力强等优点。LPC2292具有SPI总线接口,通信时钟最高可为系统时钟的1/8,便于和扩展A/D连接。
系统设计的主要目的是完成各传感器及发动机电子控制单元输出的多路模拟信号的快速高精度采集与传输。为便于系统设计与操作,增强系统对各信号的适应性,必须选择一款多通道、快速、高精度、接口灵活的模数转换器。AD7490是一款12位、16通道、低功耗、高速模数转换器,当其工作电压为5v时最高采样率可达到1MS/s,其数据输出接口为通用串行SPI总线。该芯片的工作电源和数字接口电源相互独立,当其工作电压为5V时,数字接口电压为5V或是3.3V,这就使得该芯片便于和各种微处理器连接,不存在接口电压不匹配的问题。同时其模拟输入电压范围可以通过微处理器向其内部的相应寄存器写人命令字调节。这使得该芯片操作上具有很强的灵活性,软件设计简单,其各方面都满足系统设计的要求。
SPI是一种全双工的串行总线,在该系统的设计中SPI总线上具有一个主机和3个从机。LPC2292作为主机,3片AD7490作为从机,为确保总线上主机地位的唯一性所以把ARM7接口的SSELO脚上拉,主机通过I/O逻辑单元控制选择从机,接口原理图如图2所示。当主机确定从机之后将通过SPI总线向从机发送转换命令字,同时从机将转换数据通过SPI总线发送给主机。这样一片ARM7微控制器控制48路模拟信号的数据转换,降低了采用多路开关控制的复杂性,提高了系统的可靠性。
图2 AD7490与IPC2292接口原理图
3 A/D非线性误差标定
实际的数据采集系统中,模拟信号一般要经过放大、滤波、整流等电路后将信号调理成适合A/D模拟输入范围的要求。一般情况下,实际物理量与采集得到的数字量之间都会有一定的误差,并存
数据采集CAN总线非线性误差标 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)