APP下载

基于MicroBlaze的高速数据采集与处理系统设计

2015-02-07中北大学山西省光电信息与仪器工程技术研究中心谭绪祥王志斌王冠军

电子世界 2015年15期
关键词:高速数据外设嵌入式

中北大学山西省光电信息与仪器工程技术研究中心 谭绪祥 王 丽 王志斌 王冠军

基于MicroBlaze的高速数据采集与处理系统设计

中北大学山西省光电信息与仪器工程技术研究中心 谭绪祥 王 丽 王志斌 王冠军

MicroBlaze是Xilinx公司提供的通过使用FPGA通用逻辑实现的软核处理器。本文基于MicroBlaze设计了一个高速数据采集与处理系统,该系统可以实时采集和处理模拟信号并显示结果,也可以通过USB将采集到的信号上传至电脑另做处理。实验表明,该系统可完成高速信号的采集和处理,并成功应用在弹光调制型光谱仪中。

数据采集与处理;嵌入式系统;MicroBlaze;SPOC

1 引言

数据采集与处理系统在实际中有广泛的应用,许多领域对采集速率、采样精度和实时处理速度都要求越来越高[1],传统数据采集与处理系统一般由ARM+DSP、FPGA+DSP等架构组成[2-3],这类架构的数据采集与处理系统大多电路复杂且稳定性差。随着集成电路的快速发展,FPGA可编程逻辑器件的功能变得日益强大,现在FPGA可以嵌入MCU、DSP、MPU等微处理器形成可编程片上系统(System on Programmable Chip)[4-5]。

MicroBlaze是Xilinx的32位精简指令集嵌入式软核处理器,在EDK(Embended Development Kit)开发环境中可以灵活裁剪、参数化的设计处理器和组件,FPGA内部即可实现一个高性能的处理器[6]。由于软核嵌入式处理器在FPGA内部实现,所以可以缩小电路板面积、减少芯片数量和连线并能有效提高稳定和速度,片上系统在功耗、成本、体积等方面都很有优势[6-8]。

为提高系统稳定性并增强信号的采集与处理能力,本文设计了一个基于MicroBlaze的高速数据采集与处理系统,并实现了高速型号的采集和处理实验。

2 硬件设计

本系统中的FPGA选用Xilinx的SPARTAN6系列高性能FPGA,ADC芯片采用TI公司高速高精度低功耗的双通道ADS4245芯片,其数据精度为14bit,数据采样频率为125MSPS,为了让ADC获得更好的性能,采用专用时钟芯片AD9524作为ADC的采样时钟。FPGA的配置芯片采用的是Xilinx的XCF32P,内存使用了两片型号为MT41J128M16HA的芯片,采用CY7C68013A做为USB模块的控制转换芯片,显示屏采为800×480的LCD液晶模块,电源均采用线性电源模块供电。主要器件框图如图1所示。

具体电路设计可参考各芯片数据手册,在此不对其做详细介绍,ADS4245采用单电源1.8V供电和差动输入,因此需要在前面增加一个驱动电路来把单端信号转换为差分信号,同时需要把信号电压调理到AD芯片可采集的范围之内。为了保证良好的阻抗匹配,本系统ADC驱动电路采用两传输线变压器背靠背式设计。设计电路时需要将数字地和模拟地隔离,高速信号布线时需考虑阻抗匹配、信号完整性、电磁干扰等因素。

图1 系统硬件结构框图

3 嵌入式系统开发

3.1 开发流程

MicroBlaze系统是采用开发工具EDK对硬件和软件进行协同设计,硬件实现部分使用HDL描述语言,功能实现部分使用C语言,先在XPS中对硬件平台进行搭建,包括设置处理器类型、总行结构、外设的连接方式等,把XPS生成的硬件文件后导入到SDK中再开发相应的驱动程序和应用程序,最后将硬件比特流文件和可执行文件协同生成配置文件下载到FPGA中,整个流程如图2所示。

图2 系统设计流程图

3.2 片上系统硬件开发

先利用XPS中的BSB向导配置处理器并创建工程文件,然后定制嵌入式系统的外设,可以直接调用XPS中已经存在的IP核,本设计中使用了软件自带的DMA、LED、内存控制和按键控制四个核,对于XPS没有提供控制核的外设,需要自己定制相应的IP核后才能使用。定制IP核是通过硬件描述语言实现处理器和外设的接口逻辑,制作好的IP核可导入到系统工程中。本文设计了时钟配置、ADC控制、流处理、USB控制和LCD控制五个IP核,其中流处理核作用是把ADC输出数据转换成符合DMA传输要求的数据,然后把这五个核挂在一条自行设计的BRAM控制器扩展线上以便于统一管理。BRAM控制器扩展线是由一个BRAM控制器的读写操作封装而成,CPU通过对BRAM控制器操作来操作挂在该扩展线上的IP核,嵌入式片上硬件系统开发如图3所示。

图3 MicroBlaze片上系统结构图

3.3 嵌入式软件设计

软件设计包括外设驱动的设计和应用程序设计,外设驱动程序可通过BSP向导生成,EDK开发环境提供大量的库函数,应用程序设计主要是完成软件调度程序编写。本系统应用程序设计流程如图4所示:

图4 应用程序编写流程

首先编写时钟芯片AD9524和ADC芯片 ADS4245的配置程序,再编写 DMA开启程序来开始数据传输,然后根据后续数据处理需要编写相应程序来控制采集数据的长度,再加入数据处理算法程序对采集的信号做处理,最后编写显示程序把处理结果显示到LCD屏上。

4 系统测试

使用本系统对10M正弦信号进行采集测试,实验结果如图5所示,其中图5为LCD屏幕上显示的信号波形,可以看出所采集的信号波形为正弦信号,图6为信号在系统中经过快速傅里叶变换后的频谱图,LCD上显示频谱信息为10M与实际信号相符合,说明该系统可以正确的实时采集和处理数据。

图5 信号时域波形图

图6 信号频谱图

5 结束语

本文基于MicroBlaze设计了一套高速数据采集与处理系统,可以对高速模拟信号进行实时采集与处理,也可以通过USB将采集的数据传送至PC机处理。MicroBlaze是以软件方式实现的,添加和裁剪外设都比较方便,能实现数据采集与处理的SOPC系统,在实际和科研中应用前景广阔。

[1]杜鹏飞,王志斌,王艳超,黄艳飞.弹光调制干涉信号的高速采集系统设计与实现[J].计算机工程与设计,2014,08: 2728-2731.

[2]杜鹏飞.弹光调制干涉信号的高速数据处理系统设计与实现[D].中北大学,2015.

[3]高杨,刘荣科,胡伟.基于FPGA+DSP的高清视频图像系统设计与实现[J].电子测量技术,2011,01:69-73.

[4]常璐.基于SOPC的数据采集系统设计[J].电子元器件应用,2011,05:24-26.

[5]刘仁伟.基于SOPC的嵌入式系统的设计[D].电子科技大学,2007.

[6]何宾,王瑜.基于Xilinx MicroBlaz多核嵌入式系统的设计[J].电子设计工程,2011,13:141-144.

[7]赵泽才,常青.基于MicroBlaze的嵌入式系统设计[J].现代电子技术,2006,10:56-57.

[8]张燕,冯永新.基于MicroBlaze的AD数据采集系统[J].电力系统通信,2008,01:39-42.

[9]杨定定,施慧彬.基于AXI总线的MicroBlaze双核SoPC系统设计[J].电子产品世界,2012,01:76-77.

谭绪祥(1987—),男,湖南衡阳人,硕士研究生,主要从事光电信号处理和嵌入式方面研究。

国家自然科学基金仪器专项资(项目号:61127015);国家国际科技合作专项(项目号:2013DFR101150,2012DFA10680)。

猜你喜欢

高速数据外设嵌入式
TS系列红外传感器在嵌入式控制系统中的应用
搭建基于Qt的嵌入式开发平台
基于AD9250的高速数据接口设计
嵌入式软PLC在电镀生产流程控制系统中的应用
基于AD7891的浮空器高速数据采集系统设计
倍福 CX8091嵌入式控制器
Microchip推出具备双ADC外设的全新器件,扩展其低成本8位PIC®单片机产品线
超短波高速传输设备的设计
外设天地行情
外设天地行情