一种基于fpga+dsp构架的高速数据记录系统及其构建方法

文档序号:6520661阅读:286来源:国知局
一种基于fpga+dsp构架的高速数据记录系统及其构建方法
【专利摘要】一种基于FPGA+DSP架构的高速数据记录系统,该系统包括:PC端测控软件、FPGA核心控制芯片、DSP核心控制芯片、电源芯片、FLASH存储芯片、USB通信芯片、HDLC协议通信芯片、AD芯片和GPS通信子板;FPGA核心控制芯片控制数据上传时PC通信的USB模块,与DSP核心控制芯片通信时的缓存模块,FLASH存储芯片的读写模块,GPS通信子板的控制,以及HDLC协议通信芯片发送、接受数据模块;DSP核心控制芯片控制数据传输记录模式下的系统自检,模拟量数据采集模块,以及与FPGA核心控制芯片的通信模块;电源芯片与各芯片连接,提供整个系统工作所需的电压。其构建方法有五大步骤。本发明硬件电路简单,体积较小,系统可以高速实时的记录数据,便于应用于多种系统。
【专利说明】—种基于FPGA+DSP构架的高速数据记录系统及其构建方法
【技术领域】:
[0001]本发明涉及一种基于FPGA+DSP构架的高速数据记录系统及其构建方法,该设计属于通信【技术领域】。
【背景技术】:
[0002]在现代通讯发展中,各式各样的数据通讯已经占据了重要地位。在越来越多的情况下,对实时数据的存储与分析成为用户广泛的需求。而在各种科学研究与检测中,对数据进行存储与分析更是成为一种重要且必要的手段。数据存储设备(俗称黑匣子)在实际生活中已经得到了很多广泛的应用。如应用在飞机中,记载黑匣子记录的各种飞行参数是在飞机发生事故后查找分析原因的重要依据。此外,车载、舰载黑匣子也逐渐得到应用。但即便在民用领域内,数据记录设备也存在诸如成本高,应用环境苛刻等缺点。基于这些原因,本专利申请提供了一种自行设计的数据记录系统。

【发明内容】
:
[0003]1、目的:本发明目的在于提供一种基于FPGA+DSP架构的高速数据记录系统及其构建方法,它能够实现实时记录数据及PC环境读取数据的功能,本系统设计以FPGA与DSP为主控器件,配备以总线通信接口,模拟量数据采集接口和PC数据通信接口。整个系统以各种电源模块为供电基础,由5V电源转换成各种电平供给芯片正常工作。本发明主要通过VHDL硬件描述语言来完成FPGA核心控制芯片功能,C语言实现DSP核心控制芯片功能,完成系统设计。
[0004]2、技术方案:本发明的目的通过以下技术方案来实现。
[0005](1)本发明一种基于FPGA+DSP架构的高速数据记录系统,该系统包括:PC端测控软件、FPGA核心控制芯片、DSP核心控制芯片、电源芯片、FLASH存储芯片、USB通信芯片、HDLC协议通信芯片、AD芯片和GPS通信子板。它们之间的位置连接关系及信号走向是:在整个系统中,FPGA核心控制芯片控制数据上传时PC通信的USB模块,与DSP核心控制芯片通信时的缓存模块,FLASH存储芯片的读写模块,GPS通信子板的控制,以及总线通信模块即HDLC协议通信芯片发送、接受数据模块。DSP核心控制芯片控制数据传输记录模式下的系统自检,模拟量数据采集模块,以及与FPGA核心控制芯片的通信模块。电源芯片与各芯片连接,提供整个系统工作所需的电压。系统结构图如图1所示。
[0006]PC端的测控软件用VC进行设计。它主要完成的工作是在硬件系统与PC通信时,在PC端显示出数据,便于进行分析。本测控软件以界面处理和USB接口控制为主,通过界面向主控板发送装订参数、上传数据等命令,并将得到的数据存储为Excel文件,同时在界面上显示相关信息。软件的总体结构如图2所示,可分为界面控制及显示、指令发送、数据接收以及数据处理四个部分。
[0007]PC端的测控软件的工作流程大致如工作流程图如图3所示:[0008]a.打开软件,检测USB设备是否连接;
[0009]b.开机自动向设备发送自检命令,检测设备是否连接正常;
[0010]c.可启动测试模式,检测设备功能是否正常;
[0011]d.读取并在界面上绘制FLASH芯片的数据储存信息;
[0012]e.查找存储区中最新一次存储的数据;
[0013]f.控制接收设备上传的指令数据,将帧头部分关键信息显示于界面上;
[0014]g.将接收到的指令数据以Excel的形式存储计算机中;
[0015]h.断开设备,分析数据。
[0016]本软件界面单元为用户提供了参数输入、指令控制按键等输入接口,并具备显示存储状态等功能,分装订指令区、FLASH控制区、查找数据信息区、数据读取区、内存图显区和数据帧头信息显示区六个部分,各自功能如下:
[0017]装订指令区包括地址参数输入框、地址码发送按钮、天线选择按钮等,完成对指令线应答机数据记录分析设备地址码装订、天线选择及切换等多项功能的控制。
[0018]FLASH控制区完成清除FLASH所有存储数据的功能。
[0019]查找数据信息区主要有包含查找内存最新存储位置以及显示内存分布图按键,最新页起始、最新页终止和起始头标志显示信息。
[0020]数据读取区有两个按键:读取和存为Excel。读取起始页和读取终止页表示读取FLASH的范围;当前读取包数和已读取包数用于显示读取进度。
[0021]内存图显区是一个饼图显示区域,受内存管理区的显示内存分布图控制。数据信息区第一行是标题,表示帧头、起始地址和结束地址。最多可显示前100组数据。
[0022]所述FPGA核心控制芯片是Xilinx公司出品的XC5VLX50T。XC5VLX50T拥有1M系统门,7200个slices,最多可用480Kbits的分布式RAM存储空间,多达7200个用户I/O接口。最高达550MHz的内部时钟速率,I/O接口的数据传输速率可达840Mb/s以上。另外,此型号FPGA具有高性能时钟控制电路,多达12个数字时钟控制模块具有精确的时钟相位补偿、高分辨率相位偏移等特点。诸多性能使得XC5VLX50T能够满足系统设计的所有需求,在具有系统进一步升级、功能完善的同时不会有过多的浪费资源。FPGA核心控制芯片属于本发明的核心主控部分,负责数据上传时PC通信的网口模块,与DSP通信时的缓存模块,FLASH存储芯片的读写模块,GPS子板控制,以及总线通信模块即HDLC通信协议发送、接受数据模块。
[0023]所述DSP核心控制芯片为系统工作流程主控部分,负责数据传输记录模式下的系统自检,模拟量数据采集模块,以及与FPGA核心控制芯片的通信。针对本系统的技术要求,DSP核心控制芯片采用TI公司的TMS320F2812。TMS320F2812拥有150MHz的高性能静态CMOS制作技术;高效能32BUCPU能够实现哈弗总线结构,能够快速中断响应;4M线性程序寻址空间和4M数据寻址空间;此外,芯片上有128Kxl6的Flash和18Kxl6的SARAM,16个信道12位模数转换模块(ADC)。在此数据记录系统中,DSP核心控制芯片主要的外部接口有电平采集接口、GPS数据传输接口、以及与FPGA核心控制芯片的数据及地址接口,其外部连接图如图4所示。其中DSP核心控制芯片与GPS模块和电平采集模块是直接连接的,由于DSP2812芯片提供了一个SCI接口,通过RS232电平的转换形成了与GPS模块之间的接口,通过该接口完成与GPS模块之间的通信;另外DSP2812芯片内置一个16路的12位AD采集器,该AD采集器的采集电压范围为0?3V,通过在硬件上添加相应分压电阻以及电压反向电路实现测量范围的增大,可以满足采集-13V?+13V的电平输入。而DSP核心控制芯片与FPGA核心控制芯片之间的连接使用EMIF A接口,这种接口支持的存储器包括同步动态RAM (SDRAM)、异步器件(异步FIFO、ROM等)、外部共享存储空间的器件等。FPGA核心控制芯片与DSP核心控制芯片通过EMIF A进行同步数据通信,需要互连的总线接口包括数据总线XD (32bit),地址总线XA (20bit),空间选择CE (4bit),字节输入使能BE (4bit),写使能信号SSWE,输出使能SS0E,读使能信号SSRE,同步读时钟ECLK0UT。对于其它的辅助信号,如总线控制接口(HOLD,H0LDA)、异步通信接口(ARDY)等信号,作为系统备用,也接在了 FPGA核心控制芯片上。此外DSP核心控制芯片虽然在硬件上并未与FLASH直接连接,中间通过FPGA核心控制芯片进行转换,而在FPGA核心控制芯片内部只是将FLASH的数据线与地址线进行了简单的译码处理,使得DSP核心控制芯片能够通过更少的外部10引脚来处理FLASH,节省了 DSP核心控制芯片宝贵的外部10资源。而FPGA核心控制芯片在这中间并未参与更多的控制。DSP核心控制芯片连接结构图如图4所示。
[0024]所述电源芯片是PTH05000芯片,可提供-0.6?10V的输出电压。电源芯片提供整个系统工作所需的电压。本发明用到种电压:27V、5V、1.0V、1.9V、2.5V和3.3V。其中,1.0V为FPGA核心控制芯片的内核供电电压,1.9V为DSP核心控制芯片工作的内核电压,3.3V为FPGA核心控制芯片和DSP核心控制芯片的I/O供电电压以及其它芯片的供电电压,2.5V为外围芯片工作电压。由于外部系统只对记录系统提供5V和27V电压,所以在记录仪系统硬件中,需要设计电压转换电路。
[0025]所述FLASH存储芯片是K9F8G08U0M芯片,这款芯片存储量高达8Gbit,另有256Mbit存储空间作为备用,通过对使能、控制管脚的电平变化实现对FLASH芯片的读写操作。FLASH存储芯片为系统的存储部分,主要负责数据的存储,通过FPGA核心控制芯片进行控制,便于进行试验后分析。
[0026]所述USB通信芯片是Cypress公司生产的EZ-USB FX2芯片CY7C68013作为连接二者的设备芯片。CY7C68013为USB2.0协议,分为端口、GPIF和Slave FIFO三种工作方式。理论全速下信号速率可达12Mbps,高速下信号速率可达480Mbps。在系统与PC连接时,用户可以从PC环境界面向系统发送指令,进行命令装订或者对已存数据的查找、读取、擦除等。FPGA核心控制芯片设计中包括PC指令的译码模块以及网口数据传输的控制模块。与PC通信时原理如图5所示。为便于通信,方便系统协同工作,USB采用Slave FIFO工作模式,芯片受控于FPGA核心控制芯片。FPGA核心控制芯片根据FIFO空满标志信号控制芯片的数据总线,控制总线中的读写使能等,完全可以实现数据的高速传输。芯片的初始化程序存储在与之配套工作的固件芯片24LC64当中。通过编写固件程序可以选择68013的工作模式,以及内部的FIFO存储大小、数据传输方向等。PC环境结合Cypress公司提供的CY7C68013对应API函数库,通过VC++编写可视化界面平台,便于命令、数据的发送与接受。工作时,界面平台向系统发送命令,固件程序根据命令判断选择FIFO端口。数据通过FIFO进行传输,完成命令、数据的传输与读取。
[0027]本系统与外接设备进行通信一发送接收数据时使用标准HDLC (High-level DataLink Control)通信协议。HDLC协议是国际标准化组织ISO制定的高级数据链路控制规程,广泛应用于数字通信领域。HDLC以帧作为传输的基本单元,主要的传输结构为:头标志位,接收站地址、控制,有效数据,帧校验序列FCS,尾标志位。数据由存储单元(即前文中提及的DSP通过乒乓传输方式传递给FPGA的RAM中)经过串并转换、CRC校验、插“0”、数据打包(包装帧头帧尾)等功能将数据发送;判断接收数据时系统检测帧头帧尾标志位、CRC校验后将数据进行串并转换并存储到RAM中(然后以前文介绍的通信方式记录在存储设备FLASH中)。
[0028]系统采用Analog公司生产的AMS2486芯片的RS-485差分电平特性完成系统设计的与外设的连接与通信。理论上此芯片可以达到20M的传输速率,并设计有隔离器件构造和过流保护电路,能够在于外部通信的同时有效地保护系统硬件平台。为满足不同设计的需要,FPGA核心控制芯片内部设有专门的波特率寄存器,可以通过从PC环境中装订或者手动控制两种方式,由FPGA核心控制芯片内部专门的时钟模块控制发送、接受数据的波特率。
[0029]所述AD芯片是MAXM公司的MAX1270AEAI。本系统需要对5路电压进行采集检测,来判定系统是否工作正常,或者检测外接电压工作状态。此功能通过FPGA核心控制芯片控制的AD芯片来实现。该MAX1270芯片可以采集8路模拟信号。采集电压量为-10V~+10V,在电平输入前设计电平调节电路,可以满足采集-13V~+13V的电平输入。系统工作时钟为2MHz,单次采集通信不大于32个时钟周期,则每次采集所需时间为0.5μ sX32=16y s。系统共需要采样5路模拟信号电平,因此一次采样周期为16μ sX5=80y s。
[0030]所述GPS通信子板是OEMStar。它是加拿大NovAtel公司最新推出的一款高性能低成本的GNSS接收板卡,其采用RHCP极化方式,阻抗为50ohms,增益值为26dB,精度3dB,噪声在2.8dB。工作温度为-55~+85摄氏度,天线宽度为89mm,高度为15mm。该办卡支持GL0NASS功能,硬件尺寸与接口、数据格式都可以和SSII及0EMV-1/1G板卡兼容,也完全支持0EMV系列产品的操作指令。其特性如下:
[0031]
【权利要求】
1.一种基于FPGA+DSP架构的高速数据记录系统,其特征在于:该系统包括:PC端测控软件、FPGA核心控制芯片、DSP核心控制芯片、电源芯片、FLASH存储芯片、USB通信芯片、HDLC协议通信芯片、AD芯片和GPS通信子板;FPGA核心控制芯片控制数据上传时PC通信的USB模块,与DSP核心控制芯片通信时的缓存模块,FLASH存储芯片的读写模块,GPS通信子板的控制,以及HDLC协议通信芯片发送、接受数据模块;DSP核心控制芯片控制数据传输记录模式下的系统自检,模拟量数据采集模块,以及与FPGA核心控制芯片的通信模块;电源芯片与各芯片连接,提供整个系统工作所需的电压;所述PC端的测控软件用VC进行设计,它完成的工作是在硬件系统与PC通信时,在PC端显示出数据,便于进行分析;所述FPGA核心控制芯片是XC5VLX50T,负责数据上传时PC通信的网口模块,与DSP通信时的缓存模块,FLASH存储芯片的读写模块,GPS子板控制,以及HDLC通信协议发送、接受数据模块;所述DSP核心控制芯片是TMS320F2812,负责数据传输记录模式下的系统自检,模拟量数据采集模块以及与FPGA核心控制芯片的通信;在此数据记录系统中,DSP核心控制芯片的外部接口有电平采集接口、GPS数据传输接口、以及与FPGA核心控制芯片的数据及地址接口;而DSP核心控制芯片与FPGA核心控制芯片之间的连接使用EMIF A接口;所述电源芯片是PTH05000芯片,提供-0.6~10V的输出电压,该电源芯片提供整个系统工作所需的电压; 所述FLASH存储芯片是K9F8G08U0M芯片,通过对使能、控制管脚的电平变化实现对FLASH芯片的读写操作,FLASH存储芯片负责数据的存储,通过FPGA核心控制芯片进行控制,便于进行试验后分析;所述USB通信芯片是EZ-USB FX2芯片CY7C68013作为连接二者的设备芯片;CY7C68013为USB2.0协议,分为端口、GPIF和Slave FIFO三种工作方式;在系统与PC连接时,用户从PC环境界面向系统发送指令,进行命令装订或者对已存数据的查找、读取、擦除;所述HDLC协议通信芯片是AMS2486,该芯片的RS-485差分电平特性完成系统设计的与外设的连接与通信;所述AD芯片是MAX1270AEAI ;本系统需要对5路电压进行采集检测,来判定系统是否工作正常,此功能通过FPGA核心控制芯片控制的AD芯片来实现,该MAX1270芯片能采集8路模拟信号;所述GPS通信子板是OEMStar,它是一款高性能低成本的GNSS接收板卡,其采用RHCP极化方式。
2.一种基于FPGA+DSP架构的高速数据记录系统的构建方法,其特征在于:该方法具体步骤如下:步骤一:记录系统初始化及自检;系统设备加电开机后,系统自动把FPGA核心控制芯片和DSP核心控制芯片的加载FLASH里的程序加载到相应的控制芯片中,使核心芯片完成初始化;DSP核心控制芯片端是配置各个寄存器,包括总线控制寄存器、中断寄存器,以保证DSP的正常运转;FPGA核心控制芯片也将DSP核心控制芯片对应管脚进行配置,同时将DSP核心控制芯片的输出时钟作为本地的全局时钟,供该芯片工作;FPGA核心控制芯片控制自检命令判定,测控评估设备发送自检命令后通过HDLC接口发送到前段设备,前段设备通过系统自检后会向测控评估设备发送信号,数据记录系统确认系统自检完成后,点亮自检指示灯;FPGA核心控制芯片控制装订地址码,用户通过拨动拨码开关选择所需地址,FPGA核心控制芯片接收到地址指令后,通过HDLC接口对接收机系统地址进行装订,接收机装订完毕后返回信息到数据记录系统,系统通过FPGA核心控制芯片点亮对应地址指示灯;FPGA核心控制芯片控制天线选择功能,通过拨码开关选择天线地址,通过FPGA核心控制芯片程序对系统选择天线进行配置,同时点亮天线选择指示灯;FPGA核心控制芯片控制指令切换功能,通过拨码开关对下行线切换指令进行选择,选择完成后点亮相对应指示灯显示指令状态;用户使用拨码开关对设备进行设置时,设备只在上电时读取一次拨码状态,设备在正常工作时将不再读取拨码状态,直到系统工作完毕;步骤二:原始数据采集;需要采集的数据分为3个部分:1)AD芯片MAX1270采集的参考电压2)485通信接口端传输原始数据信号3)GSP守时、星历信息数据;其中,AD采集电压的数据和GPS数据直接进入FPGA核心控制芯片进行后续处理,而4通信端口传输过来的数据则是经过HDLC协议通信芯片,转换为满足协议要求的485格式数据,传输进入FPGA核心控制芯片进行后续处理;485接口实现数据记录设备与前端产生数据设备通信,与FPGA核心控制芯片进行通信的485信号需要经过DS96F174/175ME芯片进行电平转换;设备与应答机的通信由FPGA核心控制芯片控制,包括发送自检命令、应答机状态装订、下行数据发送、应 答数据接收;此外,这些命令采用HDLC协议发送和接收,这个协议转换过程通过FPGA核心控制芯片完成;HDLC接口传递速率为4Mbps,采用与接收机相同速率,以实现相互通信;DS96F174/175ME芯片是为RS485通信协议设计的低电压电平转换芯片,将普通电平转换成485协议工作电平;FPGA核心控制芯片接收和发送485信号时,首先要经过一个光耦合器件进行电气性能隔离,光稱合器件选用HCPL-5631,这两款光稱器件是由GaAsP发光二极管和一个集成的高增益光检测器构成的光电耦合器件,检测芯片输出是一个集电极开路的肖特基钳位晶体管,其内部屏蔽提供15千伏/μ s的共模瞬态抗扰度;基于FPGA核心控制芯片实现的HDLC协议通信芯片包括发送和接收两个模块,发送端首先发送标志字0χ7Ε,因为双方开机时间不同,为了避免丢失数据,标志字重复复数次,然后将待发送的并行数据进行并/串转换,同时系统自动完成CRC编码、“0”比特插入HDLC协议要求功能,再将处理后数据按同步串行传输方式发送;接收端接收同步串行数据,然后由系统自动完成标志字的检测、去“ 0 ”及CRC校验,在将同步串行数据转换成8位并行方式输出,整个系统采用同一个全局时钟;系统具有自动校准时间的功能;在没有接收到GPS信号时,系统中DS3231芯片会提供一个基准的时钟,当有GPS信号时,会对FPGA核心控制芯片和芯片时钟进行校时;对于DS3231的时钟控制与校准,都是在FPGA核心控制芯片中完成,实现控制ds3231芯片的时序,能够将校时时间由并行时间转换为串行时间写入ds3231中,并读取ds3231时间,由串行数据转化为并行数据;步骤三:DSP核心控制芯片写入主函数,控制系统流程;结合DSP核心控制芯片的定点、浮点运算能力强,代码开发简单的特点,针对本系统的实际应用指标要求,对于预存数据的装订比较、对接收数据的运算分析工作均在DSP核心控制芯片中完成;相比较与FPGA核心控制芯片,由DSP核心控制芯片完成此功能使得程序的可读性更强,系统修改、升级、适用性更加广泛;DSP核心控制芯片主要功能是实现与PC通信,检测PC端测控软件相应命令;测控单元DSP核心控制芯片程序的工作流程大致如下所示:a.上电启动DSP核心控制芯片;b.初始化DSP核心控制芯片及FPGA核心控制芯片各寄存器,查找FLASH数据尾地址,作为本次写入数据的起始地址;C.进入主函数循环,循环检测是否有来自PC机下发的命令以及由SCI 口发送的指令;d.检测到PC机发送查找最新位置命令之后,则查询最新一次写入FLASH的首位地址并将该信息上传至PC机;e.检测到PC机发送读取数据命令之后,则读取FLASH芯片中相应地址的数据并上传至PC机;f.检测到PC机发送擦除FLASH命令之后,则擦除FLASH芯片中的所有数据,并将数据起始地址设为FLASH芯片首地址,完成擦除操作后向PC机发送擦除完毕命令;g.查询SCI接口是否有数据,`若有,则获取数据;h.根据SCI发送的数据帧命令字分类处理处理数据帧,提取其中有效数据存储于FLASH芯片中;i.测控单元断电,跳出主循环,程序结束;首先,主函数完成对DSP核心控制芯片内部及其外接器件的初始化配置,包括FLASH、GPS和SCI接口器件,其中DSP核心控制芯片刚上电时,对FLASH存储芯片先进行一次遍历,查询得到数据结尾并记录,作为后续写入数据的起始地址,同时读取坏块地址并记录;将GPS数据清零,并重置GPS标志,读取外部拨码设置并相应设定GPS更新频率;初始化SCI接口则包括设置数据停止位及异步传输方式、读取外部拨码设置并相应设置数据传输波特率;步骤四:FPGA核心控制芯片控制FLASH存储芯片实现数据存储;FLASH存储芯片控制在PFGA核心控制芯片端的FLASH模块中实现;在此模块中,FLASH控制函数主要包括读取FLASH函数、写入FLASH函数、擦除FLASH函数以及查找FLASH坏块函数;在主函数中通过调用这些函数来完成对应功能;其中读取FLASH函数和写入FLASH函数分别通过配置FLASH读写寄存器之后将数据读取或写入FLASH存储芯片中;而擦除FLASH函数则完成将FLASH存储芯片中指定块地址的数据进行擦除的功能;查找FLASH坏块函数则通过遍历FLASH存储芯片的坏块标志来查找FLASH中坏块并记录其地址;步骤五:PC端测控软件实现数据读取分析;数据记录系统在未连接PC的情况下完成数据记录,之后通过USB接口与PC连接,通过PC端测控软件将数据存储为Excel格式的表格,便于对数据进行分析。
【文档编号】G06F13/16GK103678728SQ201310606616
【公开日】2014年3月26日 申请日期:2013年11月25日 优先权日:2013年11月25日
【发明者】张玉玺, 王晓亮, 向洪, 樊文贵, 王俊 申请人:北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1