基于DSP和FPGA技术的导航计算机设计与实现
2017-04-25缑丽敏刘陶刘良勇
缑丽敏 刘陶 刘良勇
摘要:为提高导航计算机的精度和处理速度,降低导航计算机的功耗和体积,采用DSP+FPGA的小型化设计捷联惯导计算机平台。FPGA完成传感器信号采集,实现对传感器信号的数字滤波和外围接口电路逻辑,同时实现导航计算机控制逻辑。采用高性能TMS320C6713为核心处理器完成姿态信息解算和温度信号采集和解算。经过调试验证本设计满足技术指标要求,且实现技术先进,具有广泛的应用前景。
关键词:TMS320C6713B; FPGA;IMU
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2017)02-0218-02
从专业化角度出发,惯性导航系统主要是借助对航行体运动期间的实际加速度情况进行测量之后,所求得准确速度以及具体位置的系统。就构成来说,该系统由控制显示装置、惯性传感器以及计算机组合而成。惯性导航系统是推算导航方式,也就是说从已知位置参照连续性测得的载体航向角以及实际速度来进一步推算接下来的具体位置。传感器根据安装方式上的差异,可以将其划分为捷联式传感器以及平台式传感器[1]。具体来说,捷联惯导系统通常情况下是将惯性传感器安装到载体中,摆脱了机电平台,这种情况下,惯性平台所具有的功能是由计算机来完成的。由于惯性传感器直接安装在载体,在实际应用中导航精度易受外部环境等因素影响。为了提高导航精度在设计中采用DSP和FPGA技术实现采集惯性导航参数及惯性导航参数的数字滤波、导航参数解算和外部通信。同时该技术方案采用FPGA实现计算机系统外围设备扩展部分,提高了导航计算机的集成度,增加计算机可靠性,减小导航计算机体积重量。
1系统结构设计
惯性导航系统当中的惯性传感器关键组成部分有里程计、陀螺仪以及加速度计。在实际导航过程中,主要是利用加速度计来获得载体速度以及最终的位置信息,之后再借助陀螺仪对载体姿态信息数据进行进一步计算,并有效控制显示器的导航参数[2]。
导航计算机可以完成以下工作:对陀螺计中的信号、速度计中的信号以及里程计中的信号进行定时采集,然后输入相应的测温阻值。还可以通过及时处理数据信息实现导航解算功能;通过专业化的RS422总线来准确接收命令以及参数,从而在一定程度上对惯导系统实施定期修正。本设计采用的系统结构如图1所示。
2硬件平台设计
2.1DSP功能单元设计
导航计算机实时采集加速计和陀螺计信号等导航数据,对导航数据的解算和处理要求导航计算机必须具有高精度的浮点处理能力,设计中DSP采用了TI公司TMS320C6713B高性能32位浮点运算DSP芯片,工作主频为200MHz,处理能力为600MIPS/1200MFLOPS,外部支持8,16,32bit寻址,EMIF总线支持512Mbytes的寄存器寻址空间,可与SDRAM,FLASH存储器无缝连接[3]。SDRAM采用容量为16MB(4M×32bit)的MT48LC4M32B2TG-7IT芯片,用于DSP在导航数据解算中大量矩阵和积分运算。FLASH采用容量16MB(8M×16bit)的S29GL128N10TFIR1芯片。DSP的引导方式配置采用16位外部ROM引导Boot(默认ROM时序)。DSP 上电复位后将外部FLASH存储1KB空间的Bootloader程序搬到DSP内部RAM地址为0x0空间,执行Bootloader程序实现FLASH导航解算程序加载到DSP内部RAM中执行。
外部时钟电路采用40MHz的晶振作DSP时钟输入。经配置内部锁相环倍频后作,在由內部分频提供给CPU和其他外设使用。
DSP工作需要3.3V的IO电压和1.2 V的内核电压电源。供电电源采用TPS70345电压调整器,对上电顺序进行控制,首先完成内核电压上电,然后上电IO电压。本身DSP的工作电源上电顺序可以不考虑,但从系统设计考虑保证DSP的I/O buffer 接收到DSP的内核有效输入早于输出buffer上电,防止与其他系统产生总线竞争。
2.2传感器接口信号滤波设计
由于导航计算机采集的传感器信号品质差(带有噪声),为了便于后续信号采集处理,降低信号计数误差对采集传感器输入信号进行滤波、整形和驱动隔离处理(处理电路如图2所示)。滤波电路根据需滤掉噪声频率设计RC滤波电路参数。整形电路采用施密特触发器实现信号整形,经过驱动隔离进行电平转换后输入FPGA。
2.3惯导传感器信息采集集成技术
在惯性导航系统中,导航计算机的主要功能包括将导航传感器信号采集并进行处理。同时根据系统配置将通过CAN总线和RS422接口与其他系统设备进行导航数据通信。导航计算机采用Sparatan-IIE FPGA实现对输入惯性传感器信号进行采集处理。首先对输入的惯性传感器信号进行了数字滤波处理,然后进行计数,对标频信号进行分频处理,由分频信号对各个惯性传感器信号计数器值进行锁存,同时产生中断信号到DSP,DSP可以通过EMIF总线访问FPGA的内部寄存器。
FPGA对实现对输入惯性传感器信号滤波、计数处理工作原理如下。惯性信号输入包括陀螺仪、加速度计和里程计信号等。陀螺计信号(陀螺计数电路原理见图3)的处理是本设计的关键部分,因此下面对陀螺计信号处理进行重点说明。导航计算机共有三路陀螺计输入信号(X、Y、Z),每路陀螺输入包含两个相互正交的方波信号,AX超前BX信号 90°时计数器应增加,BX超前AX信号 90°时计数器应减少。在设计中,每路陀螺的两个信号在FPGA外经过施密特触发器,进入FPGA后首先进行数字滤波处理,滤波后的信号再进行鉴相,产生两路四倍频的可逆脉冲信号,然后对可逆脉冲进行计数,当频标信号分频产生定时中断时,将计数器中的净计数值锁入锁存器中并由DSP进行读数。
为了去除信号中的毛刺,信号在进入FPGA之前,先经过施密特触发器过滤掉低电平的噪声,然后进入FPGA后经过一个4位延迟数字滤波器[4]。数字滤波器的输入信号必须在三个连续的时钟上升沿保持同一电平,才能够通过4位延迟移位寄存器,因此小于两个时钟周期的噪声脉冲都被抑制掉。同时,保证输入信号通过滤波器的条件为tS>3tclk,tS为输入信号高电平或低电平的持续时间,tclk为clk的时钟周期,也就是说必须保证时钟频率fclk>6finput。
每路陀螺的两个信号经过数字滤波器输出后,进入鉴相电路[5],经过处理后,变为四倍频的可逆脉冲信号。以X陀螺输入为例,两路输入信号AX、BX分别经过两级移位寄存器, AX经过第一级和第二级的输出信号分别命名为A、C,BX输出信号分别是B、D,最后输出分别得到正、负通道信号+X和-X,+X=(A⊕D)(B⊕C),-X=(B⊕C)(not(A⊕D))。这种鉴相电路具有较强的抗干扰能力,即使AX或BX输入上有噪声信号通过前面的滤波电路,也会在+X和-X上产生对称的脉冲而互相抵消掉。
以上功能实现采用了高速大规模可编程逻辑器件(FPGA),利用VHDL硬件描述语言,在一片FPGA上实现数据采集,脉冲计数和数字滤波以及多路串口协议处理等功能,对惯导传感器信号进行实时的处理。该设计降低了导航计算机功耗,减小了导航计算机的体积。
2.4测温电路设计
由于环境温度的变化会引起惯性导航系统精度下降,所以在导航计算机中设计了测温信号处理电路,将温度传感器采集到的模拟电压信号进行AD转换,DSP根据解算AD转换数字量进行惯性导航系统传感器温度控制或温度补偿,保证导航系统的精度。
测温电路采用铂热电阻温度传感器进行环境温度的测量,测温电阻与模块上3个高精度电阻组成电桥,电桥两臂中点分别接入运算放大器进行跟随处理,再经过后级放大后由AD转换芯片采集温度测量结果,DSP通过McBSP(Multichannel Buffered Serial Port)接口(配置SPI工作模式)读取A/D转换结果进行解算。
3导航计算机软件设计
导航计算机软件开发环境采用TI公司推出的Code Composer Studio v3.3。包含TI器件的编译器、源代码编辑器、项目开发环境,调试器及其他功能,与C语言有良好的数据交互接口。
导航系统平台的数据采集和解算通过软件来实现的。DSP在该设计中主要用来完成IMU实时数据的处理,解算获得姿态信息,即完成大量的数学运算功能。DSP程序包括两部分:一是TMS320C6713的Bootloader程序,实现将导航解算程序从FLASH中加载到DSP的内部RAM中,导航解算程序从DSP內部RAM中执行;二是导航程序,实现整个姿态算法,包括对IMU的通过RS422总线接口加载初始对准信息,环境温度对采集传感器误差补偿,姿态解算和导航结果输出等。
航姿解算主要是指及时处理好IMU信息数据,进而得到载体速度、载体位置以及载体姿态。当惯导上电之后,DSP上电初始化从FLASH中加载导航程序,然后运行导航程序,接收IMU数据进行导航信息的初始对准,对准完成后进行解算,最后输出姿态解算结果。
4结束语
采用TMS320C6713高性能32位浮点DSP作为捷联惯导平台的核心处理器,利用FPGA的实现5路串口协议逻辑和采集导航信息的数字滤波和计数,该设计实现了体积小,功耗低,姿态解算速度快、精度高的捷联惯导平台。通过试验调试和应用验证设计达了捷联惯导系统的技术要求。
参考文献:
[1] 秦永元.惯性导航[M].北京:科学出版社,2005
[2] 初一.惯性导航[J].卫星与网络,2009(12):38-40.
[3]. TMS320C6713,TMS320C6713B Floating-point Digital Signal Processors Data Sheet SPRS186I , Texas Instruments [2001-12].http://www.ti.
[4] 骆毅,张志文.脉冲信号数字滤波以及无缝计数电路设计[J].西安工业大学学报,2012(32):157-160.
[5] 庄肖波,王歆.基于FPGA的编码器倍频_鉴相电路[J].电子设计,2008,24(11):297-298.