一种基于C8051F350的无线同步数据采集方法
扫描二维码
随时随地手机看文章
摘要:设计了一种以C8051F350作为核心控制器,并配以无线通信模块的数据采集系统。介绍了系统无线数据传输中软件同步的设计及相关的处理,提出了一种通过多次测试、计算,获得数据在无线传输过程中产生的时间差,进行时间补偿后实现系统同步数据采集的方法。通过对同一信号进行多次测试,证明了该方法实现了数据的同步采集,为歼击机操纵杆/舵操纵力一位移性能检测评估系统提供了准确的测量数据。
关键词:歼击机操纵性能;C8051F350微控制器;无线同步;数据采集
歼击机的操纵性,如杆/舵的操纵力、位移等要符合技术要求,符合飞行员的使用习惯,才能使飞行员安全舒适地驾驶歼击机,在整个飞行中较好地完成飞行任务。歼击机操纵杆/舵操纵力一位移性能评估是歼击机产品质量检测的主要项目之一,它根据歼击机操纵杆/舵操纵力一位移性能指标的要求,检测出其力和位移是否在规定的标准范围内。本系统主要完成对歼击机操纵杆/舵操纵力和位移的同步数据采集,并通过无线的方法将采集到的力、位移数据传输给评估系统,为评估系统提供绘制力一位移曲线所需的准确测量数据。
1 系统整体设计
歼击机操纵杆/舵操纵力一位移性能检测评估系统由采集系统和评估系统两部分构成。采集系统主要包括传感器、信号调理电路、微控制器和无线模块。系统的硬件框图如图1所示。
采集系统通过两片C8051F350分别同时控制采集对歼击机操纵杆/舵操纵的施力信号,以及同一时刻操纵连杆相对力的位移信号,然后由各自的无线模块将采集到的数据传输给评估系统。评估系统利用接收到的数据绘制力一位移曲线,和标准曲线进行对比后给出评估结果。
2 采集系统硬件概述
采集系统的核心控制器C8051F350是美国Silabs公司推出的一款完全集成的混合信号片上系统型微控制器,具有高速、低功耗、集成度高、功能强大、体积小巧等优点。它内部有1个全差分24位模/数转化器,2个独立的抽取滤波器,每个抽取滤波器均可通过编程达到l kHz的采样率。
从传感器输出的信号往往是很微弱的毫伏级信号,需要用放大器对信号加以放大。信号经放大、滤波后接入C805lF350的模拟信号输入端。
射频芯片nRF24L01是一款工作在2.4 GHz~2.5 GHz,世界通用ISM频段的单片无线收发器芯片,不仅具有自动应答及自动重发功能,而且在增强型ShockBurst模式下还具有数据包识别、地址及循环冗余校验方式(Cyclic Redundancy Check,CRC)校验的功能,减少了外部CPU的工作量,增强了数据传输的可靠性。
3 采集系统同步设计
3.1 系统软件设计
安装在操纵杆手柄上的采集系统作为主采集器(简称A),实现对操纵杆/舵操纵的施力信号的采集。和操纵连杆相连的采集系统为从采集器(简称B),实现对操纵连杆位移信号的采集。现有的同步数据采集系统一般是由l台控制器控制1片具有多通道的同步数据采集芯片,或者同时控制多片同步数据采集芯片来实现的。而本系统要完成的是由2片单片机分别控制,对力和位移进行同步数据采集。由A控制采集过程的开始和结束,2个采集器由2片C8051F350分别控制,所以在数据采集开始前必须使A和B系统同步。A和B的程序流程图分别如图2、图3所示。
3.2 系统同步的实现
A和B系统同步是指2个采集系统开始采集力数据和位移数据的时间是一致的,先计算出2片C805lF350控制无线模块通信过程中的时间差,经过时间补偿后使2个采集系统开始同步数据采集。A和B进行系统同步的流程图分别如图4、图5所示。
A同步初始化后向B发送一个准备开始采集的同步信号,随即检测是否接收到B发来的应答信号(同步信号和应答信号为相同字节),同时A使用定时器中断监测同步信号是否丢失,定时时间要远大于从发送同步信号到接收到应答信号所用时间的理论计算值。若定时内没有收到应答信号则认为同步信号丢失,触发中断,在中断子程序中将重新发送同步信号并装载定时初值,直到收到应答信号。
A的定时时间包括发送同步信号的时间、同步信号的传输时间、B检测判断该信号的时间、发送应答信号的时间、应答信号的传输时间和关定时器的时间。
其中A发送同步信号需m个机器周期,B检测判断同步信号需n个机器周期,发送应答信号需p个机器周期(p=m),关定时器需q个机器周期,C8051F350的机器周期为T,则执行这些指令的时间S=(m+n+p+q)T。nRF24L0l的数据传输率为l Mbps,同步信号的传输时间为tl,应答信号的传输时间为t2(t2=t1),这一过程共用时G=t1+t2+S,定时时间为H>>G。
B接收到同步信号后,向A发送一个应答信号,经过X的延时后2个采集系统便完成了系统同步。由于测试环境的不同,X也是不确定的,可由另外的测试程序测试后加以计算获得。
因为A,B选用的均为C805lF350,机器周期相同,所以2个采集系统在完成系统同步后的数据采集过程可视为是同步进行的,不考虑其间的时间差。
3.3 同步测试设计
A的测试流程图如图6所示。A定时H触发中断,在中断子程序中令同步测试信号丢失标志Flag=1,表明同步测试信号丢失,要重新发送。同时A使能计数器,利用计数值可以计算出从发送同步测试信号到接收到应答信号的实际用时,进而得到同步(应答)信号的实际传输时间。用多次测试中出现概率最大的数值计算实测时间,实测时间记为TA。
B始终处于接收数据的状态,只要收到A发来的同步测试信号就发送一个测试应答信号,如图7所示。
从图6可知实测时间中开、关计数器的时间可相互抵消,且A检测判断应答信号同样需n个机器周期,则同步(应答)信号的实际传输时间tA=(TA-(n+p+n)T)/2。
图5中的延时时间包括应答信号的传输时间、A检测判断该应答信号的时间和关定时器的时间,则x=tA+(n+q)T。
4 测试结果及分析
A,B对加入l V直流偏置、频率为1 kHz、峰值为1 V的同一正弦信号进行同步数据采集,利用MATLAB将采集到的2路数据拟合。图8为多次实验中拟合效果较好的波形,C805lF350的采样频率为19.2 kHz。
从图8可以看出两路波形基本重合,进行局部放大后的波形如图9所示。可根据波形的周期、采样频率计算出A和B对同一数值采集的时间差在μs量级,实现了系统的同步数据采集。
5 结论
通过多次实验证明了本文提出的时间补偿法可使采集系统实现同步数据采集,为歼击机进行操纵性能检测评估提供有效、准确的测量数据。本系统具有电路简单、体积小巧,使用方便等特点,可应用于其他相关领域和行业中。