×
单片机 > 单片机程序设计 > 详情

基于ARM7的多通道数据采集系统的设计

发布时间:2020-06-08 发布时间:
|

    近年来随着我国航空工业的不断壮大,我国航空发动机的自主设计研制进程也越来越快。在任何型号航空发动机定型之前都要经过各种严格的测试,如振动、压力、噪声、转速及发动机电子控制单元输出信号的检测等。通过对其进行的各项测试才能及时发现其设计缺陷,并根据测试记录的数据进行改进。因此设计完成一套适合航空发动机动态测试的多通道数据采集系统就显得尤为重要了。

    航空发动机的动态测试需要数据采集系统配合上位机来完成。数据采集系统将各传感器及发动机控制单元输出的信号进行调理、采集、分析处理后上传至上位机,并及时接收发动机的电子控制单元输出的数字信号,配合上位机完成相应的控制。现有测试当中数据采集系统都是采用数据采集卡,另外配备调理电路完成的。采集卡虽然通用性较强,但对于特定系统就会暴露其缺点,如电磁兼容性差、没有相应的信号调理电路、不具有总线接口与其他设备通信困难、价格昂贵等,这使得整个测试系统开发设计难度加大。因此针对现有问题设计一款小型化、配备特定信号调理电路、接口灵活、便于组网的多通道数据采集系统具有重要的意义和实用价值。

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模拟输入范围的要求。一般情况下,实际物理量与采集得到的数字量之间都会有一定的误差,并存在一定的非线性关系。电子元器件自身生产工艺、外界环境、支撑数据采集系统的电路、参考电压及工作电源的不稳定等都是导致实际物理量y与微处理器获得的数字量x之间存在非线性关系的重要因素。为了获得较真实的数据必须对系统进行校正。[page]

    系统的校正分为硬件校正和软件校正,硬件校正是在设计电路时完成的,主要包括选用高可靠性的电子元器件、减少电路设计时的电磁干扰、选用高质量稳压电源等。如在放大电路中选用高精度小温漂电阻,A/D芯片的工作电源及参考电压上加滤波电容,运算放大器的电源尽量采用双电源供电减小其零点漂移等,这些都是减小其非线性关系的方法,但这些方法只是在硬件上减小了其非线性关系但并不能使其消除。单凭硬件校正是无法满足系统对误差的要求,所以必须在软件上对采集得到的数据进行校正。

    考虑整个动态测试系统是一个实时的动态测试过程,如果数据的实时性达不到要求会影响整个测试过程,甚至使整项测试失败,所以在选择校正算法时要考虑其复杂性及计算量的大小,有些算法精度较高但其计算量大,实现起来比较复杂,并不适合本系统应用,如BP人工神经网络和函数逼近算法等。为此必须寻找一种既满足系统误差要求、计算量又小的方法对其进行校正。

    设实际物理量y”与微处理器获得的数字量戈之差为δ,即8=y-x,x与δ间的关系曲线(虚拟曲线)如图3所示。xi与xi+1为通过高精度万用表实际标定的点,其对应的误差分别为δi和δi+1,Xa为介于xi与Xi+1之间的某次采样值,该点对应的实际误差为δa,在满足系统误差要求的条件下如何通过简便的方法获得δa的近似值δ”是该系统进行非线性误差标定的初衷。如图3所示,以标定的相邻两点做回归直线来代替该区间上的曲线是最简单的方法,在该曲线连续的条件

图3数字量与其对应误差关系曲线

    进行系统标定及校准的步骤如下:

    ①根据实际信号范围,将待采集信号的电压范围分成N段后计算出应该标定的点;

    ②采用高精度低波纹的稳压源和精密电位器调出标定点电压的近似值后接入调理电路输入端;

    ③用高精度万用表测量标定点的实际值,同时取A/D转换100次数据的平均值代表该点A/D的采样值;

    ④将A/D采样换算值和真实值与A/D采样换算值之差分别填写到相应的表格中;

 4 CAN总线通信设计

    4.1  系统中CAN总线结构

    数据采集系统是整个动态测试系统中的一个分系统,同时动态测试系统中还有其他分系统,各个系统之间要进行实时通信。所以在选择系统间传输总线的时候要考虑各系统的组网、数据传输速率以及总线的抗干扰性等问题。USB是一种高速的数据传输方式,但其组网困难、通信协议复杂,使得其在工业控制当中应用并不成熟。

    CAN总线是一种支持分布式控制和实时控制的串行通信网络,它适用于工业控制、汽车电子等方面,具有通信速率高、抗干扰性强、接口灵活、性价比高等优点,是应用最成功的现场总线之一。对于本系统选用CAN总线建立通信网络无疑是较好的选择。

    IPC2292中自带CAN控制器,为了增强CAN总线的抗干扰性,在数据采集系统节点上增加一个CTM1050T高速CAN隔离收发器,该芯片具有DC2500V的隔离功能及ESD保护作用,硬件连接如图4所示。

    CAN控制器在硬件上实现了CAN物理层和数据链路层的大部分功能,用户只需对CAN控制器进行正确初始化,并对总线上的数据进行收发操作即可实现不同节点间的通信;CAN总线支持多主节点,节点之间通过总线仲裁的方式获得总线的控制权,其完善的处理机制保证了其在恶劣环境下数据传输的可靠性。

图4 IPC2292组网详细接线

    4.2 CAN通信软件设计

    要实现CAN的正常通信则必须按照其通信协议严格规范设计程序。完成传输层有关功能,包括帧控制、总线仲裁、消息过滤、出错警告及故障隔离等。需要完成以下几个方面:

    ①CAN控制器初始化。CAN控制器的初始化主要包括设置波特率寄存器、错误警告寄存器、中断寄存器等,只有正确配置好这些寄存器,CAN控制器才能工作在正常的状态下。要使CAN控制器对接收到的报文具有全局验收过滤的功能,还必须对验收过滤器进行设置,建立标识符LUT表格填写到相应的RAM中。值得注意的是,在完成这些配置之前应先将控制器进行软件复位,并对CAN控制器进行硬件使能、对CAN的引脚进行正确配置。CAN的初始化是在主程序中完成,其流程如图5所示

图5 CAN初始化流程

    ②发送报文。在完成CAN控制器的初始化之后就可以进行报文发送,本系统为每个信号通道分配一个标识符,A/D采集得到的数据通过误差标定后被写入到事先分配好的内存缓冲区中,同时查看控制器的3个发送邮箱,并把缓冲区数据写入到判断为空的邮箱数据寄存器中,添加该帧数据的标识码、帧格式、数据长度等信息后启动发送命令,当该控制器得到总线控制权时就会把数据发送到总线上。

    ③接收报文。当CAN控制器的接收端接收到一个完整的标识符时,它将通知验收过滤器搜索RAM中的表格,以决定接收或放弃这一帧信息。CAN控制器若采用中断的方式接收总线上的报文,在报文通过验收过滤时,CAN控制器将产生接收中断,由CAN接收中断服务程序完成对该报文的读取。

5 系统软件结构设计

    系统上电后,待数据采集系统完成各模块的初始化后,下位机的控制权将交给上位机。上位机首先命令数据采集系统进行自检,查看其能否正常工作以及通信是否正常。自检完成之后,上位机根据测试项目的要求来对某些传感器、发动机电子控制单元输出信号和电源信号进行循环采样,同时数据采集系统将根据上位机命令对某些信号进行立即采样,或执行其他操作。主程序的流程图如图6所示。[page]

图6 系统主程序流程图

6 试验结果及分析

    在实验室通过上位机对数据采集系统进行了整体测试,并对其进行了标定。取高精度低波纹的稳压电源为信号源,对0—30 V伺服信号进行了21点标定,并对其标定算法进行了验证。取标定点之间20组数据作为测试点,标定曲线和测试曲线如图7所示。将测试点实测误差与通过校准公式计算出的误差之差取绝对值得校准精度曲线如图8所示,可以看出校正之后测试点的整体误差在3.5 mV以内,经计算得知其最大值为3. 446 mV,均方误差为0.1187 mV,满足系统要求。

图7实验标定曲线

图8实验校准精度曲线

7 结束语

    试验表明该数据采集系统针对性强,具有采集精度高、可靠性强、操作简单、体积小、成本低等优点,满足航空发动机测试系统的需求。该数据采集系统从设计结构上弥补了原有采集卡的不足,通过CAN总线使数据采集系统、上位机和其他设备方便地组成一个网络,各CAN节点间通信十分方便。该数据采集系统集成特定信号调理电路,针对性强,满足系统小型化的要求。同时通过简单有效的标定算法大大提高了系统的采样精度,达到了系统设计的要求。

关键字:数据采集  CAN总线  非线性误差标定

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
ARM 汇编的必知必会