SOPC的多路信号同步采集编码系统

2017-11-09 01:11,,,
单片机与嵌入式系统应用 2017年10期
关键词:中断嵌入式处理器

,,,

(中北大学 信息探测与处理研究所,太原 030051)

SOPC的多路信号同步采集编码系统

史策,韩焱,李剑,邵云峰

(中北大学 信息探测与处理研究所,太原 030051)

设计了一种基于SOPC(System-On-a-Programmable-Chip)的信号采集编码系统。采用AD7607模数转换器作为多通道信号采样的核心,搭建采样模块;利用FPGA设计并搭建了数据编码电路和以MicroBlaze为内核的嵌入式处理器,实现了对采样信号的快速编码,并取代了传统设计中的单片机。实验结果表明,本系统可以对8路模拟信号进行同步采样、编码及传输。相比于传统采集编码器,该系统不仅将采样通道扩充至8路,而且基于SOPC的单处理器的方法大大简化了设计结构和难度。

数据编码;多通道采集;SOPC;微体积

引 言

目前,多路信号采集编码系统已广泛应用在遥测遥感、震动探测以及姿态导航等领域。信号采集编码系统工作性能的好坏直接关系到信号获取质量的高低,进而影响到信号处理的精度[1]。在信号采样过程中,通常采用微处理器和单片机构成的“双核控制编码器”提高信号的处理能力,其中,单片机及其外围模块称为“主处理器”[2]。FPGA或CPLD微处理器称为“协处理器”,法国 Sercel 公司的428系列陆上地震数据采集系统采用了双处理器架构,实现了单通道数据的高速采编一体化[3]。

美国Teledyne Control公司的AIFTD-8000系统和法国SFIM公司的DAMIEN-6系统在设计时也都采用了这种结构[4]。这种双核控制编码的方式虽然提高了信号编码系统的整体运算效率,但仍然存在采样通道数有限、开发难度大以及设计体积庞大的问题[5]。

随着总线技术与SOPC技术的发展,在大规模集成电路内搭建满足设计需求的嵌入式处理器成为可能[6],相比于双处理器设计,片上集成处理器具有体积小、配置灵活和开发成本低的优势[7]。鉴于此,本文设计了一种基于SOPC的多路信号同步采集编码系统,可以满足多传感器测量领域中对多路信号获取的需求,具有一定的工程应用价值。

1 系统结构设计

根据采集编码器功能要求,本系统结构应包括信号采样模块、嵌入式处理器、信号编码模块等。系统设计框图如图1所示。

图1 系统整体结构设计框图

采用ADI公司的AD7606作为信号采样模块中的模数转换器,其标准采样率为200 kHz,可以对8通道数据进行同步采样[7]。同时,利用XILINX公司SPARTAN 6系列XC6SLX16型FPGA搭建主控电路,控制外部采样模块以及对采样信号进行编码传输。外部FLASH用于存放系统程序,由FPGA上电后自动加载。同时,利用上位机通过串口与FPGA进行通信,采集信号编码数据用于后期数据处理与分析。

1.1 信号采集模块设计

由于信号采集过程中不可避免地存在噪声干扰,造成传感器的信号编码模块输出信号中常包含有高频噪声信号[8]。因此输入信号需先经过信号调理电路进行匹配设计,再接入模数转换器执行数据量化操作[9]。设计框图如图2所示。

图2 信号采样模块设计框图

采用8阶巴特沃斯滤波器MAX291实现抗混叠滤波,消除输入信号中的高阶模态频率[10]。同时,利用电压跟随作为缓冲进行阻抗匹配,保证后续电路的低输入阻抗[11]。最后,通过高分辨率模数转换器AD7606搭建多通道模数转换电路,实现对处理后信号的实时采样量化[12]。

1.2 嵌入式处理器设计

MicroBlaze软核采用精简指令集,具有运行速度快、占用资源少、可配置性强等优点[13],配合SDK软件编写工具可以实现在FPGA中设计并生成嵌入式处理器。本系统搭建的处理器结构如图3所示。

图3 嵌入式处理器设计框图

图3中,MicroBlaze内核执行逻辑运算和指令译码;中断控制器管理处理器中所有中断源,分配中断优先级;处理器由GPIO口与外部ADC通信、接收编码结果并由RS232串行接口发至上位机。使用AXI4.0总线进行以数据为主导的信息传输[14]。所有外设和处理器内核均挂接在AXI4.0总线上。

1.3 信号编码模块设计

在对模拟信号的量化过程中,容易出现长“1”(连续“1”超过5位)和长“0”(连续“0”超过5位)的情况,不利于信号传输[15]。因此,本系统利用8b/10b编码方式,消除信号中出现的长“1”和长“0”,确保信号的直流平衡[16]。信号编码电路如图4所示。

图4 信号编码模块设计框图

由图4可知,信号编码模块由采样数据接收、采样数据分割、采样数据编码以及采样数据发送4部分功能电路构成。另外,为确保接收到完整、连续的数据流,在数据接收与数据编码之间加入1个FIFO作为数据缓冲器。采样模块的量化数据在被接收后即被写入FIFO中等待读取,被读信号经8位数据分割、8b/10b编码,由数据发送电路发送至嵌入式处理器的GPIO。

2 系统程序设计

系统程序中包括多路信号采样模块的配置程序和响应外部中断的中断子程序,程序流程图如图5所示。

图5 系统程序流程图

可以看出,主程序实现对采样模块的参数配置和系统的中断使能,并在中断源到来前保持待机状态。

信号编码模块输出的数据发送标志会触发处理器的I/O外部中断。在中断程序中,处理器读取I/O上的并行数据,通过串口将数据发至上位机。程序执行完毕后退出中断,返回主程序,进入待机模式。

当上位机发送配置指令后,程序进入串口接收中断。在中断中对接收到的信息进行指令判断和译码,根据译码结果对采样模块进行相应配置并返回配置结果,随后退出中断程序,返回待机模式。系统指令码格式如表1所列。

表1 系统指令码格式表

3 实验验证

为了验证本系统的实用性和可靠性,将对系统的信号编码模块和嵌入式处理器两部分分别测试:采用Simulation仿真软件观察本系统的时序逻辑;用串口助手测试系统与上位机的数据通信。

3.1 信号编码模块仿真

在仿真实验中,将模拟输入图6所示的正弦信号X(t),其信号频率f为2 Hz,峰峰值Vpp为4 V。

图6 模拟输入信号时域图

以100 Hz的采样率对信号X(t)采样后,根据AD7606的传递函数,将采样得到的模拟电压值量化为相应数字量,部分量化结果如表2所列。

表2 量化结果十进制表

为直观观察信号编码效果,现将表2中原十进制数转为16位有符号二进制数表示,转换后的部分数据如表3所列,表中用加粗数字表示长“1”和长“0”。

表3 量化结果二进制表

从表3中1行1列和6行1列的数据可以明显看出,量化后数据容易出现正负不平衡的现象,而这种现象在信号零点附近尤为明显。从表3中2行1列和2行2列的数据以及6行2列和6行3列的数据可发现,在连续信号的采样过程中,某组信号的直流平衡不仅与自身数值有关,更受到其前后数据的影响。

将量化结果作为采样模块的输出信号,通过模拟采样模块输出时序,将其依次读入到信号编码模块中,信号读入及编码时序如图7所示。

图7中“reset”为系统复位信号,“sclk”为系统时钟信号。数据读信号“rd”由嵌入式处理器发出,低电平时表示有新数据“di[15:0]”产生。信号编码电路接收到新数据后立即存入FIFO缓冲电路,信号“empty”标识了FIFO缓冲电路中有无数据,一旦缓存非空,后续电路即将数据读出,并将所读数据“dout[15:0]”送入编码器,得到编码结果“final_out[19:0]”和数据输出标志“data_sent”。

将图7中的编码结果转为二进制表示,转换结果如表4所列。

图7 信号编码电路时序逻辑图

序号123101100101000101010011100111010010011101000110011011010101110021100110100010101101001111001001100110100110001100100101111013011100100111001001010110111001100011101001001110011101000101401001110011101000101100100100110001110100111001001110010010151100011001001011110110000110110011001011001100101101010110106011001010001010100110110001011011000101101100110110101011100

通过表4和表3的对比不难看出,原始数据中的长“1”或长“0”在数据编码后已经消失,并且编码之后的数据中没有出现其他长“1”或长“0”的情况,实现了输出信号的直流平衡。

3.2 嵌入式处理器功能验证

嵌入式处理器主要负责与上位机的通信,接收来自上位机的控制指令,并回传信号编码结果。在验证实验中,使用上位机通过串口完成系统初始化、使能数据采集,并回读编码数据。处理器与上位机的通信结果如图8所示。

图8 串口输出结果图

以图8的配置过程为例,说明处理器与上位机的通信过程:首先,由上位机按照表1所列的指令码格式,发送对采集编码系统的配置信息,处理器接收后返回接收到的指令码,并配置系统相关参数,若配置成功,则输出成功标志“CC”。

系统配置结束后,上位机发送数据采集指令,处理器开启采集电路并使能I/O口中断,在接收到信号编码电路的输出标志后,将长度为20位的编码结果,按照由高至低,高位补零的方式依次通过串口输出。

结 语

针对现有采集编码器的电路体积大、采样通道少等问题,设计了一个基于SOPC的多通道信号同步采集编码系统。

[1] QI S Z,MING D,IAN G,et al.Development of anew seismic-data acquisition station based on system-on-a-programmable-chip technology[J]. Annals of Geophysics,2013,56(3):1861-1867.

[2] 张轩硕,王建斌,王军阵. 基于SoPC的超声导波激励信号发生器设计[J]. 电子技术应用,2011(7):82-85.

[3] 陈志华,李德识,李刘腾. 基于FPGA的多接口路由系统设计与实现[J].科学技术与工程,2015(2):97-103.

[4] 储成君,任勇峰,刘东海,等. 基于FPGA的多通道信号采集电路设计. 科学技术与工程,2013(19):5692-5695,5701.

[5] 胡继胜,李洪. 基于SoPC/NIOS Ⅱ的信号发生器设计与实现[J].电子技术应用,2011(6):91-94.

[6] 肖芳,罗军,王安文. 一种新型SoPC自动指纹识别系统设计[J].电子技术应用,2010(8):14-16.

[7] Pan Guoteng,Luo Li, Ou Guodong, et al. Design and Verification of a MAC Controller Based on AXI Bus[C]//Proceedings of the 3rd International Conference on Intelligent System Design and Engineering Applications,Washington DC,USA: IEEE Press,2013: 558-562.

[8] Muralikrishna B,Madhumati G L,Khan H,et al. Reconfigurable System-on-Chip Design Using FPGA[C]//Proceedings of the 2nd International Conference on Devices,Circuits and Systems,Washington D C, USA: IEEE Press,2014: 1-6.

[9] 鄢永明,刘轶民,曾云,等. 基于8051软核的SOPC系统设计与实现[J].电子技术应用,2005(10):72-75.

[10] 何伟,余征华,张玲,等. 基于SoPC的SD卡控制器IP核的设计[J].电子技术应用,2011(3):137-140.

[11] Min Zhang. The Design of the Supervisory System Based on the SOPC[J].Advanced Materials Research,2012,1518(383):91-94.

[12] KUENDIGER T. A system-on-chip fibre channel IP core, 2004.

[13] Guang Song Ma. The Design of Ship-Borne Antenna Stabilized Platform Base-d on SOPC[J].Advanced Materials Research,2014,3181(926):282-286.

[14] 何琪,郑建生,陈鲤文. 基于FFT的P码捕获技术及FPGA实现[J].科学技术与工程,2015(5):120-124,136.

[15] 张博,段哲民. 基于FPGA的数据采集系统设计[J].电子设计工程,2012(7):86-88.

[16] 刘春雅,程旭,赵辉昌. 基于FPGA的数据采集系统的设计与实现[J].电子设计工程,2011(1):51-54,61.

史策、邵云峰(硕士研究生),主要研究方向为信息探测与处理;韩焱(博士生导师)、李剑(讲师),主要研究方向为多维信号处理与重建、无损检测技术。

MultipathSignalSynchronizationAcquisitionCodingSystemBasedonSOPC

ShiCe,HanYan,LiJian,ShaoYunfeng

(Institute of Signal Capturing&Processing Technology,North University of China,Taiyuan 030051,China)

In the paper,the signal acquisition and coding system is proposed based on SOPC.AD7607 is used as the multi-channel signal sampling,the sampling circuit is built.The FPGA is used to design and build the data encoding circuit and embedded processor which takes MicroBlaze as the core.The design realizes the fast encoding of sample signals,instead of the single chip machine in the traditional design.The experiment results show that the system can be used for sampling,coding and transmissing of 8 channels analog signals.Compared with the traditional encoder,the system not only extends the sampling channel to 8,moreover,the single processor based on SOPC greatly simplifies the design structure and difficulty.

data encoding;multi-channel data acquisition;SOPC;micro volume

TP274

A

2017-07-05)

猜你喜欢
中断嵌入式处理器
搭建基于Qt的嵌入式开发平台
跟踪导练(二)(5)
千里移防,卫勤保障不中断
嵌入式软PLC在电镀生产流程控制系统中的应用
Imagination的ClearCallTM VoIP应用现可支持Cavium的OCTEON® Ⅲ多核处理器
ADI推出新一代SigmaDSP处理器
Altera加入嵌入式视觉联盟
倍福 CX8091嵌入式控制器
AT89C51与中断有关的寄存器功能表解
FPGA内嵌PowerPC的中断响应分析