双DSP为核心导航计算机的模块化设计*

2017-12-07 06:17
菏泽学院学报 2017年5期
关键词:电路误差计算机

肖 成

(湖南信息职业技术学院,湖南 长沙 410200 )

双DSP为核心导航计算机的模块化设计*

肖 成

(湖南信息职业技术学院,湖南 长沙 410200 )

为满足惯性导航系统更高实时性、精确度的定位和导航需求,提出一种基于双DSP和FPGA嵌入式计算机平台的设计方法,双DSP主要完成导航数据的处理,FPGA主要用于对惯性敏感元件的数据采集和简单处理以及与外界的通信,本文从系统总体设计、硬件设计、FPGA逻辑设计、软件设计等方面详细说明该方法的实现,从而满足了系统要求.

DSP;导航计算机;FPGA

引言

导航是指引导某一设备从指定地点沿特定的路线准确到达目的地的方法,对于车辆、近地飞行的飞行器或是航行的船舶来说,当前常用的导航方法是INS(Internet Navigation System, 惯性导航系统),该系统通过分析装置在车辆、飞行器和船舶上的惯性敏感元件测得的加速度和角速度数据,推算出载体的坐标、速度和姿态等信息,将航向、姿态角、速度等信息提供给驾驶员,以实现对载体的正确驾驶.为了实现更高实时性、精确度的定位和导航需求,原有的DSP+FPGA导航计算机已经逐渐不能满足这种需求,因此,本文设计一种以双DSP为核心的导航计算机系统,充分利用了DSP强大的数字信号处理能力和FPGA强大的高速并行处理能力.

1 导航计算机系统的总体设计

导航计算机的主要设计功能为数据的输入输出以及数据的处理计算,其中,数据的输入输出主要包括初始化对准信息和控制信息、收集惯性敏感元件检测到的信号、接收上位机发出的矫正信息、输出关于导航参数的计算结果;数据的处理计算主要包括初始对准、滤波、导航计算、在线矫正、误差补偿等,为了更好地发挥DSP和FPGA的性能,本系统采用FPGA完成对惯性敏感元件的数据采集和简单处理以及与外界的通信,采用DSP完成导航算法的处理,系统的总体设计结构图如图1所示.

图1 系统总体设计结构图

2 硬件设计

系统的硬件设计主要包括三个方面:数据采集系统、DSP外围电路、FPGA基础平台,其中数据采集部分主要负责系统中所有信号的输入,其硬件设计应根据不同信号的不同的输入格式,设计相应的接口电路;DSP外围电路主要是对Flash的读写操作和与FPGA的数据通信;FPGA基础平台主要将A/D转换后的数据进行采集并发送给DSP进行解算.

2.1数据采集系统设计

导航系统的数据采集系统主要用于采集加速度计、陀螺、GPS信号、里程计等数据,其中GPS信号和里程计的输出形式通常为串行模式,可在FPGA上嵌入Nios II软核处理器,将UART内核接收到的数据提供给该软核处理器;而加速度计和陀螺的输出信号一般为模拟电压或是数字脉冲,若为模拟电压信号,则采用A/D转换模块将其转换为数字信号,若为数字脉冲信号,则可在软核处理器上设计一个高精度频率采样系统,以实现对这两种信号的采集,其中,本设计中的A/D转换模块采用24位精度的AD采集芯片,与16位AD转换系统相比,AD精度的提高可以提高初始数据的精度,为得到更高的计算精度提供条件.

2.2DSP外围电路

以前的导航计算机多采用单DSP和FPGA配合的方式进行数据的采集处理和控制,但在本系统中,为了获得更高精度的计算结果,在数据采集模块中采用了24位精度的AD采集芯片,此时如果仍采用单DSP+FPGA的方式来处理,就有可能会破坏DSP的程序流水线,DSP相较于普通CPU的优势也无法得到充分的发挥,因此,本设计采用双DSP级联的方式处理此类问题.设计中采用的DSP芯片为TMS320C6713,该芯片为TI公司的一款32位高速浮点型DSP,采用二级缓冲处理,适合应用于导航类具有高速大数据量的矩阵运算中,且芯片有外部存储器接口EMIF,DSP通过该接口可以和片外存储器进行互联.本系统中,DSP的外围电路的主要功能为实现Flash的读写操作和与FPGA的数据通信,主要由两片相同的DSP、看门狗、SDRAM、FLASH、调试电路、电源电路、AD转换调理电路等部分组成,其中,两个DSP之间通过GPIO和双口SDRAM进行数据交换,AD转换调理电路用于对温度传感器和测温电阻随温度产生的阻值变化进行检测和调理,采用AM29LV800 FLASH芯片作为外部ROM使用,以利于DSP的程序加载,将DSP的CE2空间和CE4空间分配给FPGA,通过EMIF总线与FPGA进行连接,系统硬件设计如图2所示.

图2 双DSP最小系统及外围电路

2.3FPGA基础平台

本设计中的FPGA时钟信号由外部晶振提供,对FPGA采用两种配置方式:主动串行(AS)配置和边界扫描模式(JTAG),通过跳线改变其配置方式,为使DSP专注于导航结算,本系统利用FPGA实现模拟信号的采集和缓冲,然后由DSP的EMIF以DMA的方式从FIFO快速读取,FPGA与DSP连接时连接DSP的EMIFA总线的数据线、地址线、控制线,将LVDS外挂到FPGA上,以减少DSP的EMIF总线压力,也能增强LVDS处理的灵活性.

3 可编程逻辑设计

本设计中FPGA的核心工作是对正负脉冲、正交方波、同步方波信号的处理,并实现串行通信总线接口、CPU地址总线译码等,其中,正负脉冲信号和正交方波由FPGA处理后还需发送给DSP进行运算处理,同步方波信号则通过内部中断的形式参与FPGA计时器和计数器的输出锁存,FPGA的内部逻辑框图如图3所示,由图可见,FPGA的数据传输方向主要有两种,一种是从外设(IMU和GPS信号)到CPU,其通信方式采用异步串行通信,FPGA接收到数据后,进行串并转换,送入异步FIFO模块,由DSP通过数据总线提取;另一种传输方向是由CPU到外设,DSP对数据进行融合处理后,将导航结果发送至数据总线,FPGA将数据通过地址总线进行接收,然后进行并串转换后发送至PC机.

图3 FPGA内部逻辑框图

(1)串口模块设计:根据系统需要,FPGA的串口模块需要有RS485和RS232两种接口,采用FPGA控制MAX3160芯片来转换电平规范和传输方式来进行两种接口的设置,并使用Verilog语言描述串行通信各状态下的电路行为以及个各状态之间跳变的出发条件;

(2)异步FIFO设计:FIFO模块用于缓存FPGA和DSP之间的数据,设计中采用阿尔特拉公司提供的LPM_FIFO参数宏模块,使用Mega Wizard管理器定制FIFO基本宏功能的参数,然后生成一个封装图文件再直接调用.

4 DSP软件设计

导航计算机平台的软件部分设计目标主要为实现硬件系统的实时控制、自身的硬件测试、以及对采集信号的导航解算等,其中,本系统中的初始化软件采用DSP自带的DSP/BIOS完成对系统的时钟配置、存储器的分配、中断配置和EMIF总线等功能的设置,此方法可以使用户避免直接控制硬件资源,其开发步骤主要包括:用配置工具建立应用程序要用到的对象,为应用程序编写框架,在CSS环境下编译并链接,使用仿真器测试等;BIT测试软件主要用于检测系统的硬件功能是否工作正常,包括对DSP的浮点测试、存储器检测、A/D检测、离散量检测、RS232/422Z总线等,测试的结果由RS232发送出去;导航解算任务可分为数据采集任务、陀螺信号处理任务、通信任务、USB操作任务,其中数据采集任务由INT5硬件中断触发,陀螺信号处理任务和通信任务由INT6中断触发,USB操作任务由HINT中断触发,系统的整体软件设计如图4所示.

图4 系统整体软件设计流程图

5 系统性能测试

将平台调整为水平状态后,将IMU放在平台上,在实验室环境下,确定导航坐标系与惯导坐标系的关系,通过一小时的静态测试,得到航向角、俯仰角、经度、纬度和横滚角的误差曲线如图5~图9所示.

图5 角误差输出曲线 图6 角误差输出曲线

图7 误差输出曲线 图8 误差输出曲线

图9 角度误差输出曲线

由上图可看出,经度误差小于1.5海里,俯仰角误差在0.011度以内,航向角误差在0.06度以内,纬度误差小于0.18海里,横滚角误差在0.015度以内,从以上数据可以得知,静态导航经度完全符合惯性传感器的经度参数指标.

6 结束语

本文提出了一种双DSP为核心的导航计算机的模块化设计,详细描述了系统的整体设计方案、硬件设计、FPGA逻辑设计、系统软件设计等,双DSP+FPGA的设计拥有强大的运算能力,通过采用传递对准算法、纯惯导算法和GPS+惯导组合算法对系统进行性能测试,所有算法计算频率均可达到200 Hz以上,能够满足对惯性导航系统信号的实时处理和运算.

[1]姜琳琳, 刘文学, 蒋剑峰,等. 高精度导航计算机实现技术研究[J]. 航空计算技术, 2011, 41(4):111-114.

[2]刘炜. 基于DSP的导航计算机硬件设计分析[J]. 计算机与数字工程, 2013, 41(2):248-250.

[3]张兆亮, 赵伟, 赵大建,等. 导航计算机系统中CPLD配置软件串口更新研究[J]. 现代电子技术, 2011, 34(24):56-59.

[4]李良仁, 汪临伟, 彭雪峰. 基于SOPC的嵌入式导航计算机设计[J]. 制造业自动化, 2010, 32(1):150-152.

[5]陈亮, 刘金学. 基于DSP和FPGA的导航计算机系统设计[J]. 现代电子技术, 2012, 35(2):1-3.

[6]涂坤, 曾连荪. 基于DSP的导航计算机信息处理系统的设计与研究[J]. 信息技术, 2011(11):54-57.

[7]戴陈靓, 赵伟, 刘建业,等. 导航计算机测试系统的研究与实现[J]. 电子测量技术, 2014, 37(5):42-46.

[8]马伟勃. 导航计算机硬件设计方式分析与研究[J]. 军民两用技术与产品, 2016(20).

[9]周珍娟. 基于DSP的导航计算机数据处理[J]. 现代电子技术, 2016, 39(7):44-47.

[10]柳懿, 王向军, 嵇斗. 基于双DSP的断路器机械特性检测装置[J]. 电力自动化设备, 2011, 31(5):112-116.

[11]Yin-Hai L I, Wang M G, Sun C X. The design of digital flight control computer based on1 DSP +FPGA[J]. Electronic Design Engineering, 2014.

[12]Gao C. An Electronic Reconnaissance Signal Simulator Based on DSP and FPGA[J]. Electronic Science & Technology, 2016.

[13]Ye L, Zhang Y C. Study on Adaptive Channel Estimation in OFDM Systems Based on DSP/FPGA[C]// International Conference on Computer Information Systems and Industrial Applications. 2015.

[14]尹璐, 赵争鸣, 鲁挺,等. 基于双DSP的双PWM变频器控制平台设计[J]. 电力自动化设备, 2013, 33(11):148-153.

OnModularDesignofNavigationComputerwithDoubleDSP

XIAO Cheng

(Hunan College of Information, Changsha Hunan 410200, China)

In order to meet the requirements of more real-time and accurate positioning and navigation requirements of inertial navigation system, the paper proposes a design method of a computer platform based on double DSP and FPGA. Dual DSP mainly completes the processing of navigation data, FPGA is mainly used for data acquisition and simple processing of inertial sensors and communication with the outside. The overall design, hardware design, FPGA logic design, software design and other aspects of the system are described in detail to meet the system requirements.

DSP; navigation computer; FPGA

1673-2103(2017)05-0050-05

2017-07-18

肖成(1984-),男,湖南衡阳市人,硕士,讲师.研究方向:电子信息专业,智能控制技术.

TP273

A

猜你喜欢
电路误差计算机
电路的保护
计算机操作系统
角接触球轴承接触角误差控制
Beidou, le système de navigation par satellite compatible et interopérable
基于计算机自然语言处理的机器翻译技术应用与简介
计算机多媒体技术应用初探
解读电路
压力容器制造误差探究
巧用立创EDA软件和Altium Designer软件设计电路
基于MATLAB模拟混沌电路