基于DSP的传感器数据采集嵌入式系统设计
2019-03-08徐文宽王保成周江华苗景刚
徐文宽,王保成,周江华,苗景刚
(中国科学院光电研究院,北京 100094)
0 引言
平流层飞艇飞行于临近空间(介于飞机和空间飞行器飞行高度之间的范围,一般定义为18~100 km,是一个急待开拓的具有重要战略意义的空间圈层),是利用轻于空气的气体浮力提供升力的航空器,是临近空间圈层的主要飞行器之一[1-2]。
平流层飞艇通常使用软式飞艇设计,利用囊体内外压差保持其外形刚度;大气压数据用于计算飞艇所在高度;电池电压用于监测各设备供电电池的电压。这些数据需要提供给飞控计算机,作为压力控制及安全飞行的关键参数。因此,准确地获得这些参数显得尤为重要,需要设计专用设备(其用途如图1所示)用于获取这些参数[3]。根据任务需求,三个指标的测量精度分别为±10 Pa、±100 Pa和±0.5 V。
本文设计了平流层飞艇压差、大气压和电压测量设备,使用分立传感器和电子元器件,自行设计数据采集和处理电路,集成在单块印制板上,并基于DSP编写嵌入式程序固化到硬件里,研制了样机并进行了实验。在设计中,对关键的压差数据及通信接口进行了冗余设计,提高了可靠度。该设备完成传感数据采集、通信的同时,还能在线记录和存储数据[4-5]。
图1 平流层飞艇压差、大气压和电压测量设备用途示意图
1 设计方案
本设计方案包括硬件部分设计和软件部分设计,下面分别进行说明。
1.1 硬件部分设计[6-9]
硬件原理框图如图2所示。本设计中,将压差传感器、大气压传感器和电池电压测量电路都集成在一块PCB上,使用DSP对所有信号进行采集和处理,并进行在线记录和存储,进而与飞控计算机进行通信。
为提高设备功能可靠性,做了部分冗余设计,主要包括三个方面。
(1)压差采集、大气压采集和电池电压采集都进行了备份设计。
(2)与飞控计算机的串口通信进行冗余设计,DSP将采集到的所有数据处理打包后,通过其两个SCI口转换为RS422后独立地与飞控计算机进行通信,提高数据通信的可靠性。
(3)4路关键的压差信息,通过TLV2442运放-射随后,直接将模拟量(不通过DSP)送入飞控计算机的AD采集端口,这样可以在DSP工作异常时,飞控计算机仍然能够采集到4路关键的压差信息。
图2 平流层飞艇压差、大气压和电压测量设备硬件原理框图
电源模块主要提供5路电源,包括2路5 V电源、2路3.3 V电源和1路1.9 V电源。其中,1路5 V电源与其他电源隔离,为电池电压隔离采集芯片输入级供电;1路5 V给运放供电;1路3.3 V电源给压差传感器和大气压传感器供电;1路3.3 V电源给DSP和其他外围芯片供电;1路1.9 V电源给DSP内核供电。其供电拓扑图如图3所示。
图3 供电拓扑图
压差传感器型号为NPA300B10WD[10],为汽车级芯片,量程为±2 500 Pa,工作电流为1 mA,输出模拟信号为0~3 V,并且具有0~70 ℃下的温补功能。大气压传感器型号为NPA300M015A,为汽车级芯片,量程为0~103 kPa,工作电流1 mA,输出模拟信号为0~3 V,并且具有0~70 ℃下的温补功能。电池电压采集采用隔离型采集芯片ADUM4190SRIZ,为军品级器件,输入和输出是隔离的,输入电压范围为0~3 V,在其输入端加分压电路,采集电压范围可达0~40 V。
本方案使用TI公司的TMS320F2812作为主控CPU,其工作频率可达150 MHz,主要用到的资源包括16路ADC接口、2路SCI接口、1路SPI接口、并行数据接口和JTAG接口等。
会议要求,要运用互联网推动“三农”工作的创新,要把农业农村电子商务放在更广阔的视野,深入谋划、精心组织,要加强顶层设计,加大政策支持,做好宣传引导,推动农业农村电子商务跨越发展。
NorFlash型号为S29AL008,为并行接口,容量为8 Mbit, 用于存储传感器校准数据。SPI接口Flash型号为M25P32,容量为32 Mbit,用于在线存储传感器数据。MAX706为外部硬件看门狗芯片,当DSP死机时,通过外部复位信号重启DSP,可以提高系统工作的可靠性。LTC2864芯片用于将SCI接口转换为RS422接口,与飞控计算机进行通信。
1.2 软件部分设计
本设备软件任务主要包括数据的采集和处理,与飞控计算机进行通信,以及传感器校准、数据存储等其他功能。其在飞艇系统联试、试验场测试和飞行试验过程中,实时采集10路压差传感器、2路大气压传感器和4路电池电压传感器的数据,进行滤波和处理后通过2路RS422通信接口同时发送给飞控计算机,2路RS422通信接口互为备份;这两个接口也可以与地面计算机连接,进行地面调试,包括数据通信、数据监控和传感器校准等。同时,具有在线数据储存功能,可供飞控计算机随时调用或地面计算机下载使用。其软件功能与通航飞行器的主要区别是其有地面模式和起飞模式,在飞行前需进行切换。其有两种工作模式,分别说明如下。
(1)与飞控计算机通信模式
此模式为飞艇飞行时的最终工作模式,主要完成与飞控计算机的固定周期通信、时间同步及数据擦除和在线存储等,功能较单一。
在此模式下,系统与飞控计算机连接后,开机启动即默认以10 Hz的频率通过两个RS422串口向飞控计算机发送传感器数据,但不存入自带的SpiFlash。当飞艇起飞前,首先接收飞控计算机通过两个RS422串口发送过来的SpiFlash擦除指令,对SpiFlash进行擦除,在此期间停止向外发送数据;擦除完毕后通过两个RS422串口向飞控计算机发送擦除成功指令,然后接收飞控计算机通过两个RS422串口发送过来的时间同步指令,启动内部的时间同步计数器,开始以10 Hz的频率通过两个RS422串口向飞控计算机发送传感器数据,同时以0.5 Hz的频率将数据存入SpiFlash。
(2)地面调试模式
此模式主要工作于设备试验和调试过程,验证设备的正常工作状态、对各功能的调试以及传感器的地面校准等。
NorFlash擦除功能:接收地面计算机通过两个RS422串口发送过来的NorFlash擦除指令,启动NorFlash擦除功能,对NorFlash进行擦除,并返回擦除成功或失败的标识,通过两个SCI串口发送给地面计算机。
NorFlash写入校准数据功能:接收地面计算机通过两个RS422串口发送过来的校准数据(包括每个传感器的斜率和零偏),启动NorFlash写功能,将校准数据写入NorFlash中,以便系统每次启动时读取校准数据用于数据转换。
读取NorFlash数据功能:可以在任何时候读出NorFlash中存储的校准数据;系统每次启动即从NorFlash中读取校准数据并存入全局变量;当接收到地面计算机通过两个RS422串口发送过来的NorFlash读取指令时,启动NorFlash数据读取功能,读出NorFlash中存储的数据,并通过两个RS422串口发送给地面计算机。
SpiFlash数据读取功能:接收地面计算机通过两个RS422串口发送过来的指令,启动数据读取功能,读出SpiFlash中存储的数据,并通过两个RS422串口发送给地面计算机。
传感器校准功能:通过AD采集电压数据,进行中值滤波后对数据进行打包,根据接收到地面计算机机通过两个RS422串口发送过来的发送传感器电压数据的指令,将对AD采样结果进行滤波后的电压数据通过两个RS422串口发送给地面计算机。利用这些数据可以对传感器进行校准,用于对传感器进行校准。
软件主要功能是对AD数据进行采集处理并通过两个SCI串口以10 Hz的频率发送出去,因此软件优先保证此功能的正常实现;同时兼具其他附带功能的实现。使用定时器T1进行100 ms周期的定时,并产生中断,在中断函数中对16个通道的AD进行连续10次的查询采样,进行中值滤波并转化为最终单位数据后进行打包,然后通过两个SCI串口发送出去。同时打开SCI接收中断,接收外部发送过来的指令,进行判断后执行不同的程序功能。整个软件流程框图如图4所示。
2 实验结果分析
样机研制完成后,在常温常压环境下进行了部件级实验,供电电压28 V,电流0.07 A,功耗小于2 W。压差采集、大气压采集和电池电压测量的实验结果见表1,下面分别进行说明。
2.1 压差测量实验结果分析
使用Setra-869标准压差源[11]作为压差输入,样机的10路压差采集同时工作,采集到10路压差结果,平均误差小于±2 Pa。其中误差最大的一组结果如图5所示。由图可见,最大误差小于±5 Pa。由于平流层飞艇能够使用到的压差测量范围为0~1 000 Pa,因此,本实验仅就此范围进行了测试。
2.2 大气压测量实验结果分析
使用华信HS108标准气压源[12]作为大气压输入,样机的2路大气压采集同时工作,采集到2路大气压结果,平均误差小于±40 Pa。其中误差最大的一组结果如图6所示。由图可见,最大误差小于±80 Pa。由于平流层飞艇能够使用到的大气压测量范围为4~100 kPa,因此,本实验仅就此范围进行了测试。
图4 软件流程框
项目内容实验环境常温常压压差测量最大误差小于±5Pa大气压测量最大误差小于±80Pa电池电压测量最大误差小于±0.03V
2.3 电压测量实验结果分析
使用华信HS108标准气压源作为大气压输入,样机的2路大气压采集同时工作,采集到2路大气压结果,平均误差小于±40 Pa。其中误差最大的一组结果如图6所示。由图可见,最大误差小于±80 Pa。由于平流层飞艇能够使用到的大气压测量范围为4~100 kPa,因此,本实验仅就此范围进行了测试。
图5 压差测量误差曲线
图6 大气压测量误差曲线
图7 电压测量误差曲线
3 结论
本文提出了平流层飞艇压差、大气压和电池电压集成测量设备的设计方案,完成了软硬件设计和样机研制,并进行了实验。实验数据表明该设计的压差、大气压和电池电压的测量精度分别达到±5 Pa、±80 Pa和±0.03 V,该指标满足平流层飞艇飞行控制系统的需求。同时,该设计采取了冗余设计,提高了系统功能的可靠性;具有数据在线存储功能,为飞行后数据分
析提供依据;具有较高的集成度和较低功耗。