APP下载

基于FPGA的机载PWM信号转换器仿真与实现

2013-09-11王尔申陈士英石剑民

计算机工程与设计 2013年8期
关键词:高电平计数脉冲

王尔申,陈士英,石剑民

(1.沈阳航空航天大学 电子信息工程学院,辽宁 沈阳110136;2.内蒙古自治区大气探测技术保障中心,内蒙古 呼和浩特010051)

0 引 言

航空电子系统作为无人机 (UAV)重要的组成部分,负责无人机的安全飞行、完成预定任务。随着电子技术、计算机、信号处理以及微电子系统 (MEMS)等技术的飞速发展以及无人机技术的不断发展,无人机航电系统正朝着智能化、模块化、综合化和高性能化的方向发展[1-3]。在航空电子系统中,无人机飞行控制系统是整个航电系统的核心单元,由传感器、飞控计算机和舵机等模块构成。飞控计算机一般通过串口、ADC模数转换器等获取GPS导航信息、三轴陀螺和加速度计等传感器信号,并常采用PWM信号方式控制舵机等执行机构[4-6]。

无人机飞控系统在应用到无人机中之前,需要进行闭环半物理仿真。在利用仿真机解算飞机数学模型仿真飞机的运动过程中,对机载软硬件和控制律进行全面的验证和评估。在进行半物理仿真中,仿真计算机需要在规定的时间内完成舵机控制PWM信号的采集,对脉宽信号测量精度和速度提出了较高要求,传统的脉宽信号测量有的利用高速ADC采集,有的使用单片机或者DSP进行测量,这些方法微控制器占用率高[7]。

本文提出了一种基于FPGA的PWM信号转换器的设计方法,利用FPGA并行处理能力强的优势测量PWM信号[8-10],在仿真成功后进行实验测试,实测结果表明该方法具有测量精度高、处理测量数据速度快等特点,本文研究的PWM信号处理方法适用于飞控系统闭环半物理仿真系统和其他需要对PWM信号进行转换的应用。

1 PWM信号转换器设计方法

为了便于说明,设计中舵机控制脉宽信号的周期为20ms,脉冲宽度较窄为1.0ms~2.0ms,随着PWM输入信号1.0ms~2.0ms的脉冲宽度的变化线性输出0.0~10.0V模拟电压,PWM输入信号的脉冲宽度≤1.0ms时,输出0.0V电压,PWM输出信号的脉冲宽度≥2.0ms时,输出10.0V电压。针对上述的设计要求,通过分析可知,整个PWM信号有1ms的宽度不需要测量,只需对变化的1.0ms~2.0ms进行采样测量,得出高电平持续的时间。因此,设计中用256KHz的脉冲进行采样,在PWM脉宽信号为高电平时作为计数开始的使能信号,对高电平计数,在脉宽信号的脉冲下跳沿时停止计数,在PWM脉宽信号低电平期间进行数据处理,就可以得到一个8位的测量数据。然后,对测量数据根据量化值进行处理。对这个8位数据进行处理后可以为控制输入驱动无人机模型,也可进行显示输出,还可以直接连接D/A数模转换器输出模拟量。

2 基于FPGA的PWM信号转换器设计

设计采用的是Altera的EP3C160240C8N芯片,其属于cyclone III系列,该芯片共有240个管脚,其内部有15000多个逻辑单元,并且包含一个16位的乘法器,其处理速度较快,性能较强,而且成本较低,性价比较高,满足本设计的需要。图1为利用FPGA设计的PWM信号转换器电路模块总体连接框图。从图1中可以看出,整个PWM信号转换器由PWM信号测量模块、测量数据转换模块、D/A控制模块和数据显示处理模块构成。其中,PWM信号测量模块主要是对被测输入信号进行检测、测量,进而获得PWM信号高电平持续的时间;测量数据转换模块主要完成符合显示要求的数据格式;D/A控制模块主要实现与DAC0808的接口控制;数据显示模块主要完成与LCD的接口时序控制,将测量结果显示在LCD上。

图1中PIN_31端子所连接的是一个50MHz的晶振,可以通过计数器分频得到设计中所需要的时钟信号频率。PIN_6所连接的复位控制按键。设计中所需要检测的PWM脉宽信号从FPGA开发版PIN_127管脚输入FPGA芯片中。检测测量部分在PWM_detect模块中完成,并输出一个8位宽的二进制数码,输出的数码可以作为控制输入驱动无人机模型,可以输出到DAC0808模块进行数模转换,也可以提供给convert模块进行处理以便于能够在液晶上显示输出结果。Convert模块将PWM_detect模块输出的数据进行处理得到4个ASCII值。这4个ASCII值通过图1中的LCD_1602模块进行显示输出前的处理,进而提供给LCD1602液晶模块。

2.1 PWM脉宽信号检测模块

图1 PWM信号转换器电路模块连接框架

PWM脉宽信号检测模块先将Altera开发板上的50MHz晶振信号进行分频,得到256KHz的PWM脉宽信号检测时钟信号,然后对输入周期为20ms的PWM脉宽信号进行检测。为了减小测量误差,设计中在PWM脉宽信号的上升沿到来时进行检测。因此,PWM脉宽信号上升沿到来时将产生一个使能信号,将其作为整个测量系统内部的启动信号,对PWM脉宽信号的高电平进行计数。每当频率为256KHz的采样信号来一个上升沿时数据变化一次,并且判断计数是否停止。计数停止后对数据进行判断,滤去对1ms无效高电平的计数,保留其对有效高电平的计数数据。设计中的采样频率为256KHz,因此,在20ms内可采样5120个数据,在高电平宽度内可采样512个数据,高电平内采得的512个数据的前256个数据为无效数据,只需要对计数值减去256所得到的计数值进行处理,处理后计数的最大值为256,得到的计数值在0到256之间进行变化。图2为PWM脉冲信号检测模块的FPGA仿真结果。

图2 pwm_detect模块的FPGA仿真结果

由图2可知,rst复位信号低电平有效,时钟频率为256KHz。当输入一个周期为20ms,占空比5.9%的PWM脉宽信号时,输出的8位数据转换成十进制数理论值应该是44 (5120*%5.9-256),图2的仿真结果与设计要求相一致。

2.2 PWM脉宽信号数据转换模块

将采样得到的0到256的有效数据进行处理,该数据以8位并行数据形式作用到convert模块,该模块将8位数据的高4位和低4位分别进行量化处理,转换成BCD码输出给与其级联的显示电路。然后,将高4位和低4位的BCD码进行10进制加法,这样从前一级输入的8位数据就完成了BCD码转化。并将BCD码转化成ASCII码用于显示。图3给出了转换模块的FPGA仿真结果。

图3 convert模块的FPGA仿真结果

由图3可看出,按设计要求当输入din为 “11110011”时,显示的结果应为0972(09.72V),通过仿真图可知输出 dout4 为 “00110000 (0 的 ASCII)” ,dout3 为“00111001 (9 的 ASCII)”,dout2 为 “00110111 (7 的ASCII)”,dout1为 “00110010 (2的 ASCII)”,在液晶上显示的数据为9.72V,仿真结果与设计要求一致。

2.3 测量数据显示模块

为了便于观察测量结果,采用液晶显示模块LCD用作测量数据显示,显示的数据来自于convert模块的输出。设计中选用的是LCD1602液晶显示模块。为了便于对LCD的时序控制,利用有限状态机的状态转换图来控制液晶的各种状态。有限状态机的状态1到状态4为液晶初始化,分别进行清屏、光标的设定、显示的设定,显示行数的设定的操作;状态5与状态9分别是写入第一行和第二行DDRAM地址,控制显示的所在行;状态6、7、8分别写入P、W、M对应的ASCII码值;状态10、11、12、13、14分别是写入从convert模块输出的数据并在液晶上进行显示。图4给出了利用有限状态机控制液晶的FPGA仿真时序图。

图4 有限状态机控制的显示时序仿真

图4中输入CLK信号的周期为5ms,rst为复位信号,低电平有效,din1、din2,din3和din4为输入,即显示的十进制数据,而LCD_RS、LCD_RW、LCD_EN、A、K和LCD_data是按照状态机的设定进行输出,满足液晶的时序要求。

2.4 模拟量测量模块

为了便于将测量到的PWM脉冲信号转换成与之对应的模拟电压,设计中采用DAC0808数模转换器来完成PWM_detect模块输出的数字量的转换任务,DAC0808是8位D/A转换集成芯片,与FPGA接口简单、转换控制容易。D/A转换器由8位输入锁存器、8位D/A转换电路及转换控制电路构成,满足输出模拟电压为0V到10V的设计要求,设计中将参考电压设置为10V。

图5给出了由DAC0808构成的数模转换电路图。其中,DAC0808的数据线与FPGA的I/O口相连。

在进行电路设计时保证R2与R3的阻值相等,为了使输出电压趋于稳定,可在运放的输出端连接一个RC低通滤波器。

3 实验结果

3.1 实验条件

图5 模拟量测量电路结构

在利用FPGA仿真调试通过后,为了测试设计的PWM信号转换器的实际性能,实验中利用数英信号发生器产生设计所要求的不同占空比的PWM脉冲信号,并将该信号作用到文中研究的利用FPGA设计的PWM信号转换器的输入端,同时为了更好地观察信号发生器产生的波形,将该信号与泰克示波器的一个通道的探头相连。另外,为了更好地观察设计的信号转换器的实验测试结果,方便与理论值进行对比,将DAC0808的输出与示波器的另一通道相连。实验中,选择时钟频率为256kHz,PWM信号的周期为20ms,脉宽通过旋转信号发生器的旋钮进行调节,图6和图7给出了PWM脉宽信号占空比为8%时的测试结果图。其中,图7为8%占空比时,测得的转换后的模拟量值。图8为PWM脉宽信号占空比为7%时的测试结果图。

3.2 实验结果与分析

为了测试利用FPGA设计的PWM信号转换器的测量精度,实验中对PWM脉宽信号选取不同的占空比进行了测试,测试结果见表1。

表1 实验测试数据

表1给出了PWM信号在不同占空比时理论计算值和测量值的对比情况。通过对上表实验数据分析可得,该PWM脉宽信号转换器具有测量精度高的特点,最大测量误差为0.6%。

4 结束语

文中结合PWM信号转换器的指标要求,在进行深入分析的基础上,研究了PWM信号的测量方法以及将PWM信号进行转换的方法,详细给出了PWM信号测量和转换的FPGA仿真波形。在仿真的基础上,将程序下载到FPGA中运行,进行了实际测试,给出了详细的实验结果,对实验测试结果与理论值进行了对比和分析。通过对基于FPGA的机载PWM信号转换器的仿真和实验测试表明:研究的PWM信号测量和转换方法具有测量精度高、电路简单、设计灵活、数据处理速度快的特点,对实时性要求严格的场合具有一定的意义。文中设计的PWM信号转换器可用于无人机的闭环仿真中,同时,经过扩展可用于其他脉冲宽度测量和转换应用中,并对研究脉冲宽度测量的设计方法具有一定的参考价值。

[1]LI Jin.Suggestions for developing integrated electronics information system for China’s future aerospace plane [J].Telecommunication Engineering,2010,50 (3):1-5 (in Chinese).[李劲.我国未来空天飞机综合电子信息系统的发展建议 [J].电讯技术,2010,50 (3):1-5.]

[2]CHENG Xuejun.Future air navigation system (FANS)and its application in avonics systems [J].Telecommunication Engineering,2009,49(5):101-107 (in Chinese). [程学军.新航行系统及其在航空电子系统中的应用 [J].电讯技术,2009,49 (5):101-107.]

[3]ZHU Huayong,NIU Yifeng,SHEN Lincheng,et al.State of the art and trends of autonomous control of UAV systems [J].Journal of National University of Defense Technology,2010,32(3):115-120 (in Chinese).[朱华勇,牛轶峰,沈林成,等.无人机系统自主控制技术研究现状与发展趋势 [J].国防科技大学学报,2010,32 (3):115-120.]

[4]JoséJ Rosales,Manuel Toledo,Luca Bonardi,et al.Development of a UAV low-cost navigation system prototype for ATM applications[C]//ION GNSS,2009:1-9.

[5]WANG Ershen,ZHANG Zhixian,SUN Yanpeng,et al.Impoved design of avionics for composite material UAV [J].Telecommunication Engineering,2012,52 (9):1548-1552 (in Chinese).[王尔申,张芝贤,孙延鹏,等.复合材料无人机航电 系 统 的 改 进 设 计 [J]. 电 讯 技 术,2012,52 (9):1548-1552.]

[6]LI Rongyuan,Frhleke Norbert,Bcker Joachim.LLCC-PWM inverter for driving high-power piezoelectric actuators [C]//13th International Power Electronics and Motion Control Conference,EPE-PEMC,2008:159-164.

[7]DUAN Xiaojun,WU Chengfu,KANG Fengju,et al.Acquisition model research of UAV actuator control PWM signal [J].Computer Measurement & Control,2010,18 (6):1455-1457(in Chinese).[段晓军,吴成富,康凤举,等.无人机舵机控制脉宽采集模块开发 [J].计算机测量与控制,2010,18(6):1455-1457.]

[8]LIU Xiaoyan,JING Liang,HONG Yizhou.The implementation of high-precision digital PWM DC/DC converters controller based on FPGA [J].Electrical Measurement &Instrumentation,2009,46 (1):77-80 (in Chinese).[刘晓艳,景亮,洪益州.基于FPGA的高精度数字PWM DC/DC控制器设计[J].电测与仪表,2009,46 (1):77-80.]

[9]Vargas F,Meco M J.Highly efficient PWM strategy over FPGA [J].Electronics Letters,2008:44 (24):1396-1398.

[10]Y Kaiping,GUO Hong,WANG Dayu.Design of multiredundancy electro-mechanical actuator controller with DSP and FPGA [C]//Proceeding of International Conference on Electrical Machines and Systems,2007:584-587.

猜你喜欢

高电平计数脉冲
脉冲离散Ginzburg-Landau方程组的统计解及其极限行为
一种基于FPGA的PWM防错输出控制电路
古人计数
递归计数的六种方式
古代的计数方法
上下解反向的脉冲微分包含解的存在性
TS-03C全固态PDM中波发射机开关机控制电路原理及故障分析
结绳计数
黄芩苷脉冲片的制备
数字电子技术的应用