基于IEEE1588的分布式柔性测压带系统设计
2021-01-15薛子刚
薛子刚 高 屹 薛 田
1(中国人民解放军91515部队 海南 三亚 572016) 2(海军勤务学院海防工程系 天津 300450) 3(西北工业大学航海学院 陕西 西安 710072)
0 引 言
对于飞机翼型的性能评估,需要借助空气压力测量系统来获取机翼表面的压力分布数据,进而分析出机翼的气动力特性。传统的空气压力测量系统主要有多管压力计、机械扫描阀和电子扫描阀等,安装流程复杂,操作成本较高,同时气压传导造成测量迟滞严重,压力平衡时间过长,无法满足动态测量的需求[1]。
MEMS技术的发展为翼面压力分布测量提供了较好的解决方案。基于MEMS工艺的压力传感器具有体积小、重量轻、响应频率高、机电耦合性好等特点,可以直接安装在翼面任何位置[1],同时进行静态和动态测量。另一方面,集成电路技术(ASIC)的快速发展,半导体芯片的功能高度集成,芯片体积趋于微型化,功耗越来越低。因此,可以使用分立元件结合柔性电路板技术设计出具有柔性的薄片化测压带,直接贴附在翼面进行压力测量,无须开孔,避免对待测量结构物造成破坏,易于模块化,更加容易安装和布设测量点,且可重复使用。
另外,对于二元模型动态气动力的测定,必须从脉动的压力分布通过面积加权积分来得到气动力的时间历程,而其先决条件是各测压点压力的时间历程必须是同步的,也就是要测得同一时刻诸多测点的压力[2]。IEEE1588协议是一种精密时钟同步协议标准,基于以太网进行数据通信,占用较少资源,实现了高精度时钟同步,非常适合用于小型网络。当其支持硬件时间戳时,能提供高达几百纳秒甚至几十纳秒的时钟同步精度[3]。因此,IEEE1588协议为该测量系统提供了一个可靠的时钟同步解决方案。
目前,国内尚没有成熟的柔性测压带系统,大多研究使用波音公司研发的用于飞行测试的MEMS多传感器柔性压力带系统[4]和Golfarelli等[5]开发的用于检测翼面压力分布的基于电容式压力传感器阵列的测量系统,其价格昂贵。同时国内相关科研单位已经开始重视该课题的研究,西北工业大学微纳米系统实验室已经研制出了基于MEMS技术的微传感器阵列和柔性翼面分布式压力测量条带,探索了测试系统实现的可行性和有效性[6],并积累了相关设计经验。因此,本文基于IEEE1588协议研发一款成本更低、性能更好的柔性测压带系统,可以填补国内该方面的空缺,对于促进空气压力分布测量技术的发展和气动力相关试验的高效开展具有很大意义。
1 总体设计方案
1.1 系统设计结构
系统采用了模块化的设计思想,如图1所示。它主要包括压力片、网络化应用处理器(NCAP)、连接带和整流罩等部分。采用这种设计模式,可根据机翼的尺寸调整NCAP的数量、测压带的长度、测量点的分布密度。一个压力片包括一个MEMS压力传感器,多个连接带和压力片串联在一起组成测压带,连接至网络化应用处理器(NCAP),网络化应用处理器负责采集测压带数据,给测压带供电,存储传感器数据,实现IEEE1588时钟同步和利用以太网实时上传数据。多个网络化应用处理器可通过交换机组成一个分布式测量网络,将数据汇总至远端的计算机。
图1 柔性测压带设计结构
1.2 数据传输方案
系统的网络通信可分为两级,如图2所示,自上而下分别是基于TCP/IP的以太网和CAN FD总线。以太网具有容易组网、通信带宽高和传输距离远的优点,CAN FD总线是基于CAN数据链路层协议修改实现的,有效地提高了通信带宽,其电路及软件设计则相对简单,易于开发和缩小硬件体积,同时又保证了数据传输的可靠性[7]。通过结合这两种通信方案,以网络化应用处理器作为通信纽带,实现了对大量分散布置的测量点的控制、采集、存储和实时传输[8]。
图2 数据传输解决方案
1.3 同步采集方案
类似于网络通信方案,压力传感器同步采集的实现同样分为两级。第一级使用IEEE1588协议实现所有网络化应用处理器的高精度时钟同步,第二级由每一个网络化应用处理器利用本地PTP时钟产生上升沿对齐的时钟信号,触发测压带上所有压力片的同步采集。
2 硬件设计
2.1 网络化应用处理器
网络化应用处理器采用Cotex-M4内核的ARM芯片作为主控,自带USB OTG、FSMC、UART、Ethernet MAC(支持IEEE1588V2)和SPI等外设,使用NAND FLASH作为存储介质,并使用ARM芯片的外设USB OTG卸载数据,其他外围电路还包括了RS232总线、CAN FD总线、以太网通信、IEEE1588硬件层、同步时钟等,其硬件组成如图3所示。
图3 网络化应用处理器硬件设计框图
主控制器:采用意法半导体公司一款型号为STM32F407的ARM芯片。该芯片采用了32位Cortex-M4内核,并且带有浮点运算单元,可提供最高168 MHz的工作频率,高达1 MB的Flash和192 KB的RAM,具有高集成度、高性能、嵌入式大容量存储器和丰富外设等特点。
以太网和IEEE1588电路:以太网电路可分为三部分,分别是MAC、PHY和网口。STM32F407内部集成了以太网MAC,而PHY和网口由外部分立元件实现,其电路连接如图4所示。其中:MAC和PHY的通信使用RMII接口,使用的通信端口更少,减少了对STM32F407的GPIO的占用;PHY选择德州仪器公司的DP83640芯片,该芯片和STM32F407的以太网MAC外设都提供了对IEEE1588的支持。
图4 以太网电路连接图
CAN FD电路:由于STM32F407没有自带CAN FD控制器,所以选择了外置的CAN FD控制器和CAN FD收发器,通过SPI与MCU通信,电路连接如图5所示。
图5 CAN FD电路连接图
NAND FLASH电路:STM32F407自带的灵活静态存储控制器(FSMC)外设,支持连接NAND FLASH设备,NAND FLASH与STM32F407的电路连接如图6所示,其通过FSMC接口实现对NAND FLASH的读写。
图6 NAND FLASH电路连接图
同步信号电路:同步信号用于实现测压带上所有的传感器数据采集的同步,由网络化应用处理器的MCU产生,传送到各个压力片。为了提高信号的抗干扰能力,将MCU的GPIO输出的TTL电平转换成差分信号,该工作由CAN FD收发器完成,使用的是CAN FD总线相同的收发器,同步信号电路如图7所示。
图7 同步信号电路连接图
2.2 压力片
压力片采用一款超低功耗的ARM内核(Cotex-M0+内核)作为主控芯片,电路板设计采用FPC柔性电路板技术,选择小体积的元件封装(如QFN、0402等),以保证压力片的柔韧性,降低压力片的厚度。压力片硬件组成如图8所示。
图8 压力片硬件设计框图
主控制器:芯片采用Microchip公司型号为ATSAMC21E18A的芯片。该芯片具有集成度高,功耗低和尺寸小等特点,其长和宽为5 mm,厚度仅为0.8~1.0 mm。为了减小压力片的尺寸,使用最少引脚(32 Pin)的QFN封装,最小硬件系统仅包含必需的供电电源(+3.3 V)和SW调试接口,时钟使用芯片内部的48 MHz的振荡器。
传感器电路:传感器的型号为BME680,集成了温度、压力和湿度传感器,其中压力传感器是基于硅压阻式原理设计的,压力测量范围为30~110 kPa,工作温度范围-40~65 ℃,其对外接口为SPMCU,可通过SPI接口对传感器进行配置和数据采集。
CAN FD收发器电路和同步信号电路与网络化应用处理器相同,为了降低压力片的厚度,收发器的封装改成了TDFN,尺寸为2 mm×3 mm×0.75 mm。
2.3 电 源
本系统采用直流电源供电,其中压力片电源由网络化应用处理器供给。考虑到单条测压带上挂载的压力片可能高达百个,即使单个压力片功耗很低,但是测压带上所有压力片需要的总功耗仍会很大,而作为连接带的FFC载流能力有限。为了降低连接带上的电流和线路上的损耗,采用大电压小电流是较合理的解决方案。因此,电源设计采用28~42 V的直流供电,网络化应用处理器稳压出一路24 V电压供给压力片,然后压力片在进行降压使用,整个系统的电源解决方案如图9所示。
图9 电源设计方案
3 软件设计
本系统的软件部分全部基于两款ARM芯片完成,网络化应用处理器是基于Cortex-M4内核的高性能微控制器进行软件开发,压力片是基于Cortex-M0+内核的低功耗微控制器进行软件开发,均使用C语言。
3.1 网络化应用处理器
网络化应用处理器在系统中的作用是有序地收集测压带上的传感器数据,然后根据测量系统的需求选择将数据存储在本地存储器或者通过局域网上传至远端的PC。另一方面,网络化应用处理器还要完成时钟同步,以辅助测压带上的压力片同步的采集数据。其软件工作流程如图10所示。
图10 网络化应用处理器软件工作流程图
3.2 压力片
压力片的主要作用是根据同步脉冲准时的采集传感器数据,并对传感器数据补偿,最后有序地将数据发送给网络化应用处理器。其软件工作流程如图11所示。为了使MCU能以最快的速度响应同步脉冲,并启动一次数据采集,以保证同步精度,程序以前/后台形式工作。后台程序为中断服务函数,响应同步脉冲触发的中断,每发生一次中断触发一次数据采集。前台是一个死循环,主要完成传感器数据的采集、转换和校正,并使用乒乓存储机制实现数据的有序缓存和发送。由于传感器BME680输出的压力数据存在严重的非线性和温漂,为了提高传感器测量精度,采用多项式拟合方法实现传感器的非线性补偿和温度补偿,并基于压力片主控芯片实时修正压力数据[9]。
图11 压力片软件工作流程图
4 性能测试与评估
研制的单条柔性测压带系统压力片和测压带厚度仅为1.3 mm,达到了模块化、薄片化、柔性化、低成本的要求,通过对系统数据通信带宽、数据存储速率、IEEE1588时钟同步精度、传感器精度等各项性能进行测试,其符合设计技术指标要求。
(1) 数据传输测试。测压带的长度会影响通信总线的通信速率(测压带的长度与通信总线的带宽成反比),经测试,在10 m通信距离下,CAN FD总线能够以数据段5 Mbit/s、仲裁段和应答段1 Mbit/s的通信速率稳定传输数据,有效数据带宽可达3 Mbit/s,最大支持压力片数量为100片。另外,由于通信总线带宽有限,单条测压带挂载的节点数会影响压力片上传感器的最大采样率。
(2) 数据存储测试。系统使用NAND FLASH作为存储介质,使用RL-FlashFS管理NAND FLASH和实现FAT32格式的文件系统。经60次重复性读写测试,STM32F407以文件的形式对NAND FLASH的写入速率可保证在1.5 MB/s以上,读取速率可以保证在3 MB/s以上,可以满足系统存储速率需求。
(3) IEEE1588时钟同步精度。采用文献[10]、文献[11]的测试方法搭建测试平台,分别将Sync报文发送周期设置为0.5、1和2 s,测试三组数据。在测试过程中,通过观察秒脉冲的上升沿,连续记录误差,每秒记录一个数据,获取的误差数据分布柱状图如图12所示。
图12 从主时钟同步误差分布直方图
测试结果表明:当同步周期为0.5 s时,误差分布在-60~80 ns以内;当同步周期为1 s时,误差分布在-80~120 ns以内;当同步周期为2 s时,误差基本分布在-120~120 ns以内,但在测试过程中出现了一次误差大于120 ns的情况。因此,从图9可以更加直观地看出:随同步周期减小,同步误差逐渐减小,误差数据分布更加集中,具有更好的收敛性和鲁棒性。另外,在同步周期减小后,时钟同步收敛的速率更快。
(4) 传感器精度测试。实验测得,压力传感器未经补偿时的静态输出最大满量程误差如下:在10~65 ℃时为1.627%,-40~10 ℃时为6.978%;压力传感器经过补偿后的静态输出最大满量程误差如下:在0~65 ℃时为0.086%,-40~10 ℃时为0.575%。
从测试结果可以看出,相较未补偿时,补偿后传感器的精度明显提高,补偿算法效果明显,但是在10 ℃以下传感器的精度仍然不太理想。虽然可以通过进一步提高多项式的次数来提高精度,但是当增加多项式次数后,由于高次项的系数非常小,无法使用32位定点数表示,如果使用更大位宽的定点数再加上高次项的乘法,单片机耗费的运算资源过多,在实时补偿时对传感器数据采集的频率影响较大。
5 结 语
本研究设计的柔性测压带系统,已经达到了预期的目标,符合了测试平台的要求。同时,该系统也是通用的,不仅仅适用于飞机,在进行风洞、风力涡轮机、高速列车以及其他气流实验过程中也会用到空气压力分布测量系统,也可以将压力传感器换成其他类型的传感器,比如:加速度计、温度传感器或者应变计等。尤其对于需要大量传感器的场合,该系统提供了一种安装方便、扩展灵活、数据传输可靠的解决方案。该压力测量系统设计完成后还没有进行风洞试验和飞行试验,对于系统的实际测量精确度和恶劣环境的可靠性无法得以验证。下一步工作重点是通过风洞和飞行试验发现可能存在的问题,使测量系统更加完善。