0 导言
现在已经有多种老练的数据收集体系,首要用于工业生产、环境监测、航空航天和科学研讨领域中。大部分实时数据收集体系选用DSP(Digital Signal Processing)操控器和微操控器作为操控中心,比较简略完结杂乱的算法[1],可是它们遭到信息吞吐量和带宽的约束,不能完结并行化处理,在高速大批量数据收集时有些乏力。而有极强并行处理数据才能的现场可编程门阵列器材(Field Programmable Gate Array,FPGA)备受喜爱,以FPGA为操控中心的数据收集体系也日渐昌盛。FPGA具有灵活性高、可扩展性强和资源丰富的特色[2-3],并且可以应对各种形式的接口协议,使其在数据收集体系中得到广泛运用。有些FPGA是反熔丝的,牢靠功用和安稳功用十分高,这类FPGA在特定宇航运用中是必选项。
地球接近空间低温、低压、高辐射,环境极点恶劣,数据收集体系的传感器和操控部件很简略遭到影响而作业反常,乃至呈现体系溃散的现象。此环境下规划数据收集体系需求考虑安稳性。FPGA可以完结杂乱电路,能减小电路板上因布线发生的电磁搅扰。与DSP操控器和其他CPU微操控器比较,FPGA生成硬件电路的特性更具有抗搅扰性。前人进行牢靠性处理的办法有冗余结构规划和装备存储器的回读校验与重装备[4]。一起数据收集体系牢靠性也有合理的评价目标,例如运转环境、体系集成、人机耦合、计划老练性及安全性[5]。
需规划一个数据收集体系,使其运转在临空的特定环境下,不只完结数据收集使命,还需求实时将数据传回地上,并能完结部分操控功用。从运转本钱和环境考虑,需进步体系的牢靠性和安稳性。从硬件和软件两方面下手进行规划,在硬件方面,FPGA抗搅扰功用强,所以选取FPGA作为本体系的主操控器。选用冗余战略,规划两路衔接主操控器的传感器电路,使得数据收集体系牢靠性进步。对软件部分,进行模块化编程,运用有限状况机和看门狗战略来进步体系稳健性。
1 体系硬件规划
临空数据收集体系首要包含了以FPGA为操控器的最小体系模块、传感器模块、UART串口通讯模块和操控模块。如图1所示,最小体系是保持FPGA操控器正常运转的外围电路;传感器模块触及温度、视点、电流电压等信号的收集与调度,由于硬件的冗余,信号被分为主板信号和从板信号;UART串口通讯模块包含2个RS232串口(与斗极模块相连)、2个RS422串口(与临空机载计算机衔接);操控模块首要包含阀门操控模块和温度操控模块,温度操控模块用于操控加热电阻,来保持电路板上的元器材正常运转。
1.1 最小体系模块
本规划选用Altera公司的Cyclone IV E系列的EP4CE22F1717作为收集体系的操控器。它有22 320个逻辑单元、154个用户输出输出口、132个乘法器、4个PLL(“Phase Locked Loop”锁相环)。芯片的外部供给晶振频率为50 MHz。
1.2 温度收集模块
数据体系选用PT100温度传感器来丈量10路温度。PT100温度传感器将温度变量转化成可以传送的标准化电信号。此传感器精度高,安稳性好,测温规模在-200 ℃~650 ℃之间,契合临空测温规模要求。如图2所示,将PT100传感器衔接到差动电路中,丈量差分电压,将此电压信号进行整形调度,经过模数转化芯片得到数字值暂存到FPGA中的内存中。滤波电路选用阻容滤波。外表放大器选用TI公司的外表放大器INA333,该放大器具有低功耗、高精度的特性。AD转化芯片运用5 V供电电压的TLC2543IN,答应11路外部模拟信号并行输入,串口输出转化数据,具有12位的分辨率。
1.3 气压收集模块
本规划选用SMI公司的SM5852系列气压传感器来收集气压信号。SM5852传感器的作业温度为-40 ℃~125 ℃,可以满意临空的恶劣环境,芯片内部有温度补偿算法,完结气压的精准丈量。本文选用SM5852-003传感器,其可测压力规模是0~0.3 PSI(Pounds per Square Inch)。气压传感器既可以输出数字信号,又可以输出模拟信号。为了使体系规划简略并且信号获取精确高,这儿直接纳集传感器的数字信号。数字信号是经过IIC协议传输的,并运用74LVC4245电平转化芯片将电压的操控器与传感器衔接在一起,将5 V的数字信号转化为3.3 V数字信号,一起对操控模块起到保护作用。
1.4 通讯模块
这一模块在本体系中十分要害,它是衔接纳集器与地上监控体系的枢纽。它担任将临空收集渠道上获取的信息实时地传送给机载计算机或许斗极模块,一起实时接纳来自两个模块的指令。收集渠道上的重要数据信息经过事前拟定的协议被组合成不同长度的帧发送给地上指挥站。为了确保数据的安全性和精确性,添加数据帧校验环节,将求异或和作为帧校验的办法。
本体系的FPGA操控板放置在数据收集体系的渠道上,与地上指挥站通讯交互信息首要有两类:一类是下发收集器收集到的数据信息,另一类接纳地上指挥体系的指令信息。为了确保数据安全和收集体系的牢靠性,对通讯模块冗余规划。经过两个RS422接口与机载计算机相连,机载计算机再经过无线通讯与地上指挥站交互信息。别的,还经过两个RS232接口与机载斗极相连,经过斗极卫星服务与地上指挥站联络。一起,收集器的定位信息一同下发到地上。RS422接口芯片选用ADI公司ADM2587E,RS232接口芯片选用ADI公司的ADM3251E。两个RS422接口分为主板串口、从板串口,主板串口处理的是与主板相关的数据信息,从板串口处理与从板相关的数据信息。
2 体系软件规划
软件代码开发根据Altera公司的Quartus II 13.0渠道,运用Verilog HDL言语完结代码块的规划与仿真。临空数据收集体系中,FPGA操控器内信号的性质和来历林林总总,有直接来自传感器的数字信号,有模拟信号转化后的数字信号,有程序内部的标志信号,有来自机载计算机的操控信号,有来自斗极模块发来的操控信号和定位信号,有FPGA操控器宣布的数据信号、电机操控信号、电路板控温信号等。为了进步有用数据安稳地接纳、存储和发送,需求对整体信号详尽分类,这对程序代码模块区分有指导作用。体系软件规划要求代码可读性高、牢靠性高、易保护、有可扩展的地步。体系规划的思路是先做整体架构,再逐一完结子模块的编写,最终在顶层模块完结信号衔接。模块化的规划思路使得体系仿真测验更简略,代码保护性更强。
2.1 程序顶层架构
程序顶层模块的规划影响大局,联系到体系的安稳性和牢靠性。体系结构的规划是根据模块的功用区分,每一个模块完结一个详细的功用,数据信息的交互经过各模块的输入输出接口衔接。
数据收集体系信号比较多,并且FPGA与机载计算机、斗极模块的通讯依照既定协议交互数据,即守时发送收集体系的数据,不守时接纳外部指令和状况信息,为了便于管理数据,在FPGA内拓荒一块随机存储器(Random Access Memory,RAM),专门针对各种信号存储和读取,这种数据结构使FPGA内部数据同享更简略,也不易发生读写数据紊乱现象[6-7]。引证Altera公司供给的IP核装备RAM,经过事前估量并留有满足的地步,将RAM巨细设置为512 B,读写地址线各9根,并设置读写使能操控端口。图3为体系的顶层模块架构,中心模块是RAM区的读写模块,温度、压力、电压、电流信号,以及来自机载计算机或斗极的指令、方位和状况等信号流入RAM区,而存储的数据需求从RAM区被读取,经过UART串口模块发送给机载计算机和斗极模块。
2.2 通讯模块程序规划
通讯模块凭借UART串口完结双向通讯。FPGA操控器向机载计算机和斗极模块发送数据帧,一起实时接纳它们的指令与状况数据。操控器向两个RS422串口发送定位、主从板信息、状况等数据帧,定位数据帧包含来自斗极模块的定位信息,主从板数据帧包含收集体系收集到的各类信息,状况数据帧含有斗极模块的状况信息。此外,操控器向两个RS232串口发送遥测数据帧和自检数据帧,遥测数据帧由遥测帧头、定位信息、主板或从板信息和遥测数据帧尾组成,自检数据帧包含自检信息的恳求。一起,有3个UART串口实时接纳来自机载计算机和斗极模块的指令和状况信息。程序运转时需求对各种数据帧频频读写操作,假如程序规划不合理,很简略形成程序死锁或溃散。鉴于串口数据的接纳和发送没有严密地耦合,程序内部将数据接纳和发送分红两个子模块来规划,然后在顶层模块经过wire型变量衔接。为了有用处理数据读写不紊乱的问题,规划状况机来合理运用RAM区资源,增强程序的安稳性。状况机的闲暇使命会呈现衔接两个always块的使能信号,规划watchdog程序增强程序的鲁棒性。
2.2.1 RAM数据段区分
本文规划了双端口RAM数据结构,承载收集操控体系的重要数据。根据通讯协议,针对512 B的RAM区,详尽地进行了数据段的区分,如图4所示。依照发送频次以及组帧要求,合理分配数据帧的存储次序。这样规划会使操控器读写更牢靠安全,也使代码编写调试更简捷。
2.2.2 数据发送状况机规划
信息传送模块是衔接地上指挥体系和数据收集体系的枢纽。在临空恶劣环境下,为了将收集到的数据和体系状况相关信息实时精确地传送到地上指挥站,在软件进步行了牢靠性研讨和处理。
首要对传送的数据做了校验处理,可经过上位机软件测验传输数据帧是否正确,假如校验失利,可丢掉此帧。本体系的发送模块既要发送主板信息又要发送从板信息,既要传送给机载计算机又要传送给斗极卫星,发送帧的类型也有差异,因而,规划三段式状况机安稳地传送数据,避免数据发送紊乱。在状况机的闲暇使命中,FPGA等候各种数据类型帧的触发信号,一旦接纳到发动发送信号,进入到相应的发送状况中,将对应的数据帧发送到UART串口上,串口的触发信号也因数据信息的差异而不同。在闲暇使命中,接纳到触发信号后,需求实时对RAM区履行写操作,写操作完结后再进入发送状况,难免会引起程序死锁。为了处理这个问题,进步程序的鲁棒性,在等候写操作的部分参加看门狗程序,一旦死锁,可以强即将程序拉回到原始等候状况。图5为UART串口发送模块的状况机示意图。
3 体系仿真与调试
数据体系的测验首要经过两种手法:软件仿真和凭借上位机联调。本体系用到的仿真东西有Quartus II开发环境供给的在线逻辑分析仪、信号探针、逻辑分析仪接口等,还有外部装置功用强壮的Modelsim仿真东西。例如,在调试具有读写应对的IIC通讯的传感器和根据SPI通讯的传感器时,运用在线逻辑分析仪直接调查数据波形特征,可以快速确诊并排查过错。运用Modelsim仿真东西时,需求先编写对应模块的testbench代码,并添加到仿真东西中,运转仿真软件。图6为调试UART通讯模块波形图,可调查RAM的读写地址值与数据值的对应联系,验证代码的逻辑。尤其在调试状况机的运转状况时,可以很直观地检查状况时序逻辑的正确性。
当会集测验一切的模块时,为了进步调试功率,运用了根据UART通讯的上位机软件。该软件运转在Windows 10 体系上,它经过USB接口接纳FPGA发送的数据信息,并把信息可视化在面板上,直观明晰地看到FPGA收集到的数据。
4 定论
临空环境有低温、低压、高辐射的特色,因而对运转在环境下数据收集体系的规划要求极为严厉。本文从软硬件两方面着手进行牢靠性研讨,规划了应对这种杂乱环境的数据收集体系,取得了杰出的作用。该体系可以牢靠安稳地收集到传感器数据,并能长期安稳地与斗极模块和机载计算机通讯,可以经过地上操控体系发送指令操控数据收集体系。
参考文献
[1] MONMASSON E,IDKHAJINE L,CIRSTEA M N,et al.FPGAs in industrial control applicaTIons[J].IEEE TransacTIons on Industrial InformaTIcs,2011,7(2):224-243.
[2] KANDADAI V,SRIDHARAN M,PARVATHY S M,et al.A comprehensive embedded soluTIon for data acquisition and communication using FPGA[J].Journal of Applied Research & Technology,2017,15(1):45-53.
[3] 周珊,杨雅雯,王金波。航天高牢靠FPGA测验技术研讨[J]。计算机技术与开展,2017,27(3):1-5.
[4] 宋克非.FPGA在航天遥感器中的运用[J]。光机电信息,2010,27(12):49-55.
[5] 陈柯勋,王晓毅,薛辉。根据FPGA的数据收集器规划及牢靠性分析[J]。科技资讯,2017,15(24):7-8.
[6] 王敬美,杨春玲。根据FPGA和UART的数据收集器规划[J]。电子器材,2009,32(2):386-389.
[7] NING Y,GUO Z,SHEN S,et al.Design of data acquisition and storage system based on the FPGA[J].Procedia Engineering,2012,29:2927-2931.