kaiyun官方注册
您所在的位置: 首页> 嵌入式技术> 设计应用> 基于ARM-Linux和CPLD的移动式风速仪设计
基于ARM-Linux和CPLD的移动式风速仪设计
来源:电子技术应用2014年第8期
毛晓辉,汪慧兰,陆 健
1.安徽师范大学 物理与电子信息学院,安徽 芜湖241000; 2.南京信息工程大学 信息与控制学
摘要:分析了利用超声波时差法测量风速风向的基本原理,设计了基于ARM-Linux和CPLD微处理器的移动式风速仪。给出了以S3C6410和EPM570T100C5为处理核心的超声波风速仪的设计实现方法。重点阐述了超声波驱动电路、信号调理电路、Linux移植以及系统软件的设计。测试结果表明,该系统可以实现对风的精确测量,且工作稳定可靠。
中图分类号:TH815
文献标识码:A
文章编号: 0258-7998(2014)08-0027-04
Design of mobile anemometer based on ARM-Linux and CPLD
Mao Xiaohui1,Wang Huilan1,Lu Jian2
1.College of Physics and Electronic Information,Anhui Normal University,Wuhu 241000,China;2.Institute of Information and Control, Nanjing University of Information Science & Technology, Nanjing 210044,China
Abstract:The principle of measurement of wind speed and direction using ultrasonic time-of-flight was introduced. The design of mobile ultrasonic anemometer based on ARM-Linux and CPLD was described. The method of ultrasonic anemometer based on S3C6410 and EPM570T100C5 was given. The driving circuit, signal conditioning circuit, Linux transplantation and the software design were introduced. The experiment results show that the system can accurately measure wind speed and direction. It also has others advantages such as good reliability.
Key words :ultrasonic wind measurement;time-of-flight;ARM-Linux;CPLD

随着气象、民航及新能源领域等发展的需要,传统机械式风速仪正逐渐被新型超声波式风速仪所取代。目前,超声波式风速仪多被用于固定点测量[1],体积大,不便于移动,需通过有线方式将数据传输至上位机进行后期处理,不能实时显示风测量信息,其布线复杂且维护困难,不利于移动式多点测量。同时,现有的超声波风速仪电路结构较复杂,功耗较大且成本高。在分析了现有超声波风速仪缺点的基础上,本文提出并设计了一种基于ARM-Linux和CPLD的高精度、低成本的可视化移动式风速仪。

1 超声波风速仪测量原理

超声波信号在流体中传播时会承载流体流动的信息,利用时差法、多普勒法、频差法[2-3]等可以获得流体的流速和流向等信息。由于时差法原理简单,电路易实现,且受外界环境因素影响小,目前大部分超声波风速仪都采用时差法对风速风向进行测量。本设计中将两对收发一体的超声波换能器正交放置,实现对水平方向上二维风的测量。超声波时差法测量结构示意图如图1所示。每对超声波换能器之间的距离固定,当超声波在流体中传播时,受流体影响超声波存在顺向和逆向,其具有一定的时间差,通过获得该顺向和逆向的时间差就可以确定所测流体的速度和流向。

图1 超声波时差法测量结构示意图

如图1所示,设置两换能器之间的距离为L,可得超声波在南北和东西方向上顺向和逆向的传播时间分别为t南北、t北南、t东西和t西东,依据时差法测量原理[4],可得到风速在直角坐标系上的风速分量如式(1)和式(2):

依据矢量计算定理,由式(1)和式(2)可得到风速值。本设计中选择正北方向为0°方向,按顺时针方向进行转动,根据式(3)可获得当前风的风向值:

根据超声波时差法测风原理,只需获得超声波在固定距离上顺向和逆向所传播的时间,就可以测定流体的流速和流向。同时时差法测风可以消除温度等环境因素引起的声速变化而导致的测量错误。

2 系统总体结构设计

基于ARM-Linux和CPLD的移动式风速仪的硬件结构框图如图2所示。系统主要包括ARM主控制器单元、CPLD协处理器单元、超声波驱动电路模块、信号接收调理模块、LCD显示模块、存储模块以及超声波换能器阵列单元。

系统采用CPLD芯片EPM-570T100C5作为协处理器,通过接收ARM处理器发出的控制命令来执行超声波信号的发送、接收及渡越时间的测量。超声波渡越时间的测量直接影响到风速仪测量结果的精确性,本设计中CPLD外接100 MHz的晶振,使其内部计时单元的分辨率可达到10 ns,完全满足该系统的设计精度要求。同时CPLD具有可并发执行的特性[5],可使CPLD在驱动超声波传感器的同时启动内部计数,与顺序执行流程相比,其消除了代码运行所带来的计时误差。此外,并发执行方式可提高信号处理的速度,使其满足实时性要求。主控制器选用ARM11芯片S3C6410来作为系统的显示、控制及运算核心,系统通过ARM处理器发送控制命令给CPLD,计算和存储由CPLD送入的数据,并以可视化界面形式将风速和风向值进行显示。

图2 风速仪硬件结构框图

超声波换能器收/发阵列将4个收发一体的超声波换能器正交放置[6]实现对二维平面上风速/风向的测量。根据换能器阵列结构的设计,选用的超声波换能器应具有高的灵敏度和分辨率,本设计中采用型号为FUS-200A的高频压电式超声波传感器,其工作中心频率为200 kHz,对于同频率的超声波换能器的驱动电压一般为200~400 V,而该换能器所需驱动电压为60 V,并且其具有较低驱动功率。阵列中各超声波换能器之间保持25 cm距离。超声波换能器按次序发射一定频率的超声波信号并测量其顺向和逆向传播的时间,通过计算可以得到所测风的风速和风向值。

2.1 系统硬件设计

2.1.1 超声波驱动电路设计

为了获得超声波换能器工作时所需的电压,驱动电路设计中采用原/副边匝数比为42:420、型号为750 A的超声波专用升压中周变压器P2构成升压电路,使由QU1端输入的方波控制脉冲信号能将变压器原边的低压方波脉冲升至60 V左右,从而驱动超声波换能器发出超声波信号。图3为超声波驱动单元电路原理图。

图3 超声波驱动单元电路原理图

为了保证变压器P2在处于原边的由8050三极管构成的开关电路导通时,其副边能同时驱动超声波换能器,同时为了使开关电路断开后能快速释放变压器中多余磁能,防止处于“空载”状态的变压器P2存储的磁能使电感饱和而烧毁开关器件,采用电阻和高速开关二极管1N4148构成磁通复位电路来释放磁能。在实际调试中,QU1端至少要产生16个频率为200 kHz的脉冲方波信号才能使升压中周变压器驱动后续的超声波换能器。图4为QU1端输入16个方波脉冲信号时,变压器副边输出的波形图像,该信号可稳定驱动超声波换能器发出超声波信号。

图4 变压器副边输出波形图

2.1.2 超声波信号调理电路设计

本设计中采用包络检波法来实现对超声波回波渡越时间的测量。由超声波换能器发出的信号在传播中因环境等影响,其信号幅值会发生变化,但对于接收端,其首波点与回波包络峰值之间的周期数是确定的,通过检测回波信号包络峰值点到达的时间,就可以确定超声波传播的渡越时间。超声波信号调理电路如图5所示。

图5 超声波信号调理电路

在气体流速测量中,当两换能器之间的距离在10 cm~50 cm时,变压器副边的60 V脉冲信号驱动换能器发射超声波信号,其相应接收端接收到的回波信号电压等级一般在毫伏级,为了满足后续调理电路的输入要求,需要在提高接收端信号的信噪比的同时对回波信号进行放大。本系统设计中选用TI公司低噪声高速运放TLE2072构成两级放大电路,该前置放大电路将接收到的回波信号放大2 000倍左右,放大后由运放输出的电压在± 10V以内,满足后续电路的要求。放大输出的信号经由双二极管和电容构成的包络检波电路进行处理,获得平滑的包络信号,使环境因素对接收回波信号的影响降到最低,提高渡越时间测量的精度。经包络检波电路输出的信号送入由轨到轨高速比较器TLV3502构成的电压型比较电路中,其基准电压设置为2.2 V,可有效防止电路中噪声影响而引起的误中断触发,包络信号经TLV3502获得数字中断触发信号,使CPLD暂停计数,获得超声波渡越时间。图6为实际调试过程中触发捕获到的中断信号波形图像。

图6 TLV3502输出中断触发信号

2.1.3 Linux移植与界面显示

本系统设计目标板中采用Linux-2.6.38内核进行底层数据端口驱动程序和电阻触摸式LCD显示屏界面的开发,宿主机中选择Ubuntu-9.10运行环境,并采用ARM-Linux-gcc-4.5.1交叉编译器进行目标板代码编译[7]。由于S3C6410的BSP支持多种不同类型和不同显示分辨率的显示屏,LCD显示屏无需编写驱动模块即可显示。而对于底层数据端口驱动程序的操作则采用动态添加的方式,无需多次编译内核。

2.2 系统软件设计

基于ARM-Linux和CPLD的移动式风速仪系统软件设计主要包括S3C6410、EPM570T100C5以及LCD液晶界面部分设计。S3C6410的软件设计主要包括端口初始化程序、LCD数据读取及显示程序、风测量控制程序、ARM与CPLD数据传输程序、SD存储程序、RS485通信程序六部分。EPM570T100C5的软件设计主要包括:端口初始化程序、计时程序、超声波发送和接收程序、CPLD与ARM数据传输程序。S3C6410采用RVDS集成开发环境进行C语言编程,EPM570T100C5在Quartus II 8.1环境下采用Verilog语言进行开发。图7为进行一次测量时的程序流程图。

图7 风测量程序流程图

图8 风杯式与超声波式风速仪测量数据对比图

3 实验结果及分析

测试采用将传统机械风杯式风速仪与本设计超声波式风速仪放置在同一风洞中进行验证测试对比,超声波式风速仪通过LCD界面设置其平均采样间隔为20 min,连续对其测试12 h,来验证所设计系统的测量准确性和工作稳定性。风杯式风速仪与超声波式风速仪测量数据统计结果及对比如图8所示,由于对于风向的准确测量要求所测风速足够大,本设计中系统预先设置风向移动阈值,当风向高于该阈值时才输出相应风向值,若未超过该阈值,则系统输出预先设置的数值。为了便于对风速仪进行分析,这里仅统计固定时间点的风速值来进行系统稳定性及准确性分析。

由于对风速的测量属于一种不确定性测量,可利用统计学中标准差方法对测量数值集合进行测量精确性分析,分析测量数值是否符合预测值或对比值以及判断所设计的风速仪是否符合设计要求。利用标准差及标量平均值原理[8-9],得到超声波式风速仪的平均值为2.56,标准差为1.132 11;风杯式风速仪的平均值为2.896,标准差为0.844 83。通过分析知,超声波式风速仪测量结果接近风杯式风速仪测量数据,其标准差数据与预测值相差较小,可以判断本系统设计合理。

同时从图8中风杯式与超声波式风速仪测量数据直观对比结果来看,本系统所测得的数据比较准确,系统基本能够满足设计要求实现对风的测量,且在长时间工作状态下,性能稳定可靠,在可靠性和测量精度上均能达到较高的水平。

本文基于超声波时差法设计了一种基于ARM-Linux和CPLD的移动式风速仪。重点阐述了系统工作的基本原理,并详细介绍了系统主要部分硬件电路的设计及系统软件设计流程和方法。系统设计中充分考虑了成本、低功耗及便携式问题。实验测量结果表明,整个系统软硬件设计合理,测量精度可以满足实际工程需求,解决了现有风速仪不便移动及数据显示不直观的问题,且实现成本较低,具有一定的实际工程应用价值。

参考文献

[1] 李勇峰,杨录,张艳花.基于AN7218的超声波接收电路 设计[J].电子技术应用,2013(8):91-94.

[2] 杜伟略,谈向萍.低功耗超声波风向风速传感器设计[J].测控技术,2013(9):12-15.

[3] 康基伟,楚亚博,冯海波.基于ARM的超声波法风速风 向测量系统[J].仪表技术与传感器,2012(12):67-69.

[4] 丁向辉,李平.基于FPGA和DSP的超声波风向风速测量 系统[J].应用声学,2011(1):46-52.

[5] 徐勤卫,周秦,刘瑛.高频超声波信号处理电路[J].电子技术应用,1994,20(7):45.

[6] 金晶,唐慧强.基于ARM的超声波风速测量系统[J].仪表技术与传感器,2009(6):101-102.

[7] 王民意,钟新跃.时差法在超声波气体流量计中的应用研究[J].仪表技术与传感器,2013(7):26-28.

[8] 葛俊杰,刘景景,王英民.计算机控制的时差式超声波流量计系统[J].电子技术应用,1999,25(6):11-12.

[9] 陈上挺,谢文彬,游颖敏.基于STM8的红外与超声波测 距仪设计[J].电子技术应用,2011,37(9):32-34.

(收稿日期:2014-05-05)

作者简介:

毛晓辉,女,1989年生,硕士,主要研究方向:图像检索、模式识别等。

汪慧兰,女,1978年生,硕士,副教授,主要研究方向:图像检索、模式识别等。

陆健,男,1989年生,硕士,主要研究方向:超声波检测、自动控制技术、嵌入式仪器仪表等。

此内容为AET网站原创,未经授权禁止转载。
Baidu
map