当前位置:首页 > 模拟 > 模拟
[导读] 本系统采用基于FPGA的DMA技术高速缓存多路并行数据,通过数据重组将数据有序发送给处理系统,用于数据的显示与分析。系统采用了嵌入式技术,达到了便携效果,从而更好地适应设备的工作环境。并行数字信号采集实验结果表明,系统能以5 MHz、2.5 MHz、500 kHz、50 Hz 4档采样频率进行62路并行数字信号采集,各路采集结果正确,并保存了各路之间的同步信息。

随着数字电子技术的发展,大型电子设备中数字电路的比例越来越大[1]。为便于故障诊断,一些电子设备(如雷达系统)预留了大量的数字信号检测口[2]。采用示波器采集此类测试接口的信号时,由于示波器采集通道数的限制,无法保留同步信息;采用逻辑分析仪或ATE设备不但价格昂贵,而且不便于携带,不适宜广泛使用。因此,设计一款便携式并行数字信号高速同步采集系统,为大型电子设备的维护提供支持是十分必要的。
    此类检测口信号采集中多通路、高采样率的特性要求瞬时大量数据的高速缓存实现方法。文献[3]以硬盘为存储介质,采用DMA技术实现了接近6 MB/s的存储速率。文献[4],文献[5],基于SoPC技术采用SDRAM作为存储介质,相对硬盘存储速度有了很大的提高。但是当通道数超过SDRAM数据位数时,SoPC的处理速度就会影响数据的存储速度,适用于多通路同步采集。本文采用读写速度最高的SRAM作为存储介质,并利用虚拟多个DMA通道的技术极大地提高了数据存储速度,实现多路并行数字信号的高速同步采集。
1 系统整体设计
    采集系统采用了嵌入式技术达到便携性的目的,由FPGA子系统和ARM子系统两部分组成,如图1所示。

    FPGA子系统接收ARM子系统的指令,完成数据的采集、缓存和发送功能。数字信号缓冲电路用于数字信号的电平转换和驱动。输入数字信号可能是TTL或CMOS电平,采用缓冲电路一方面减小对原电路的影响,另一方面将电平转换为FPGA输入所需的CMOS电平。FPGA子系统以Altera公司的EP1C12Q240C6芯片为核心,EP1C12Q240C6拥有12 060个逻辑单元以及173个用户可使用IO,能充分满足开发及调试中的要求。FPGA搭配SRAM采用DMA的方式实现数据的高速缓存,选用SRAM容量为1 MB,访问时间为10 ns,利用SRAM访问速度快的特点,可达到200 MB/s的数据访问速率。同时,FPGA还实现了与ARM的通信接口,完成缓存数据的打包发送功能。
    ARM子系统实现数据的存储和人机交互界面。采集到的数据可以通过ARM子系统以类似于逻辑分析仪的方式图形化地呈现给用户,方便用户管理数据采集过程。
2 DMA高速数据缓存
    由于ARM系统通信速度的限制,要想避免数据的溢出,采集的数据需要先缓存到FPGA子系统的SRAM中。对于62路并行数据信号进行同步采集,采集频率为5 MHz时,数据量达310 Mb/s,因而选用了DMA的方式来高速地缓存采集数据。基于FPGA系统,数字信号首先在采样时刻被存放到FPGA的寄存器中,并在2个连续采样时刻之间的采样间隔内将FPGA寄存器中的数据通过多个虚拟的DMA通道存储到SRAM中。DMA高速数据缓存结构如图2所示。

    采集系统选用了1片16 bit的SRAM,62路数字信号需要分为4组缓存入SRAM中,因而构建了4个DMA通道分时与SRAM连接。由于SRAM的访问时钟是FPGA系统中的最高时钟,所以SRAM的访问时钟选用了系统时钟。SRAM的访问时间为10 ns,系统时钟必须低于100 MHz,才能保证每次能将数据完整正确地写入SRAM中。本FPGA系统选用了50 MHz的系统时钟,这样采样时钟频率最高为5 MHz,一个采样周期内的数据有10个系统时钟周期的时间来处理。在FPGA系统的控制下,一个采样周期内的10个系统时钟有1个用于等待数据写入FPGA寄存器,4个用于向SRAM写入数据。数字信号并行采集的数据缓存时序如图3所示。

    图3中‘0’时刻为采样时钟上升沿,此时刻FPGA系统将并行的62路数字信号缓存入62 bit寄存器中。由于传输延时时间受系统布线和FPGA内部布局的影响,系统时钟和采样时钟上升沿不一定是同步的,图中‘0’时刻到‘2’时刻之间可能有1~2个系统时钟周期,这段时间内,系统不动作等待采集信号可靠地写入寄存器,这样可以避免‘0’和‘1’时间间隔过小,采集的数据未完全写入寄存器的情况。在之后的‘2’时刻至下一周期‘0’时刻,系统完成写入SRAM的工作。其中‘2’时刻至‘3’时刻为第一写入周期,系统将寄存器中的0 bit~15 bit写入SRAM中;‘3’时刻至‘4’时刻为第二写入周期,系统将寄存器中的16 bit~31 bit写入SRAM中;‘4’时刻至‘5’时刻为第三写入周期,系统将寄存器中的32 bit~47 bit写入SRAM中;‘5’时刻至下一周期‘0’时刻为第四写入周期,系统将寄存器中的48 bit~61 bit写入SRAM中。这样,同一采样时刻的62通路的数字信号被分时地写入SRAM中,信号保持真实的同步信息。此时,系统的数据缓存速率达310 Mb/s。
    上述方法中,‘5’时刻至下一周期‘0’时刻只进行了一次写入,实际上这段时间可以容纳6个写入周期,时间并没有被充分地利用。对其进一步扩展,将系统时钟周期充分地利用,可以同时采集更多通路的信号,将第六到第十个系统时钟周期也用于信号缓存,则可以同时缓存16×9=144路数字信号。这种情况下,系统的数据缓存速率可达720 Mb/s。
    考虑采用SRAM的极限访问速率的情况,可以选用100 MHz的系统时钟,这时系统的数据缓存速率可达1 520 Mb/s。
    选用的SRAM的数据写入极限速率为1 600 Mb/s,此种方法的数据缓存速率达SRAM数据缓存极限的95%,实现了高速的数据缓存。
3 缓存数据重组织
    按照上述数据缓存的方法,同一通道的数据不是连续地存储在SRAM中。SRAM中的数据存储顺序如图4所示。图中第一列表示SRAM地址,offset为数据存储的初始地址偏移;第一行表示数据位,选用的SRAM中一个地址对应2字节数据,有16个数据位;剩余每个方格表示一个数据存储单元,方格里的数字表示该单元用于存储第几通道的数据。

    定位一个通道的一位数据需要知道其对应的SRAM地址和位号。假设通道m的第i位数据由[addr(m,i),bit(m,i)]定位。分析SRAM中的数据存储顺序可知:
    addr(m,i)=offset+1+[(m-1)/16]+(i-1)×4;
    bit(m,i)=(m-1)%16。
    其中m=1,2,3,…,64;i=1,2,3,4,…。
    FPGA系统向ARM系统发送数据时,将同一通路的数据抽取出来,以一个字节为单位连续发送,所以需要对存储的数据进行重组织。在FPGA系统中,使用6 bit变量dch[5:0]表示通道号,其中000000(b)表示通道1(m=1),000001(b)表示通道2(m=2),依此类推。数据位计数i使用N位变量bitcnt[N-1:0]来表示,其中N由存储的总数据量决定,与通道号类似,全零表示i=1情况,1(b)表示i=2情况,依此类推。因而有:
    [(m-1)/16]=dch[5:4];
    (i-1)×4={bitcnt[N-1:0],00(b)};
    (m-1)%16=dch[3:0]。
    数据由FPGA中的变量定位表示为:
    addr=offset+1+{bitcnt[N-1:0],dch[5:4]};
    bit=dch[3:0]。
    FPGA系统根据以上公式将各个通道数据逐位地从SRAM中读出,并移入移位寄存器中,从而把同一通路的数据以字节为单位连续地组织起来。
4 采集实验结果
    为了进行测试,基于FPGA设计了专用信号发生器,产生62路数字信号用于测试。62路数字信号中包括4.07 kHz~520.8 kHz(50 MHz的96分频)的TTL信号及恒高、恒低电平信号。
    由于数字信号通道数较多,这里以其中不包含恒高和恒低的9~12通道来说明采集精度,采集结果如表1。

    依此可知,各通道采集结果与输入信号对应,说明个通道采集结果正确,本采集系统可靠。
    以某型雷达做为被测对象,系统进行了实际工作测试。采集性能如表2所示。

    本文介绍基于嵌入式技术的并行数字信号采集系统的设计,系统采用DMA技术实现了62路数字信号同步采集,用于某型雷达预留测试接口信号的采集,整体采集速率达310 Ms/s。利用本设计中提出的DMA方法,系统可以进一步扩展,从而实现128路数字信号同步采集,并使整体采集速率达1 520 Ms/s,此时SRAM的写入速度已成为主要的限制。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

随着科技的不断进步,数字信号处理技术在各个领域的应用越来越广泛。其中,DAC(Distance Amplitude Curve,距离-幅度曲线)曲线作为超声波检测中一种重要的分析工具,在无损检测领域发挥着重要作用。本文将...

关键字: 数字信号 DAC曲线

随着科技的飞速发展,数字信号与模拟信号之间的转换成为众多电子系统不可或缺的一部分。其中,DAC(Digital-to-Analog Converter,数字/模拟转换器)作为将数字信号转换为模拟信号的关键模块,在音频设备...

关键字: 数字信号 dac模块

在数字信号处理和通信系统中,编码器扮演着至关重要的角色。它负责将原始数据转换为字符序列或二进制码序列,以实现信息的有效传输和处理。而在编码器的众多组成部分中,BAT(电池)信号不仅提供了编码器运行的必要电源,还承载着多种...

关键字: 数字信号 编码器 BAT

DS18B20是常用的数字温度传感器,其输出的是数字信号,具有体积小,硬件开销低,抗干扰能力强,精度高的特点。

关键字: ds18b20 温度传感器 数字信号

需要将人类语音通过麦克风等设备转换成数字信号。这一步通常涉及信号处理技术,如滤波和分帧,以去除背景噪声和提高信号质量。

关键字: 语音识别 数字信号 信号处理

在汽车工业中,传感器与电子控制单元(ECU)之间的通信至关重要。为了优化这一通信过程,SAE(汽车工程师协会)推出了一种名为SENT(Single Edge Nibble Transmission)的新标准。SENT接口...

关键字: 传感器 电子控制单元 数字信号

​模数转换器,即Analog-to-Digital Converter,常称ADC,是指将连续变量的模拟信号转换为离散的数字信号的器件。大部分现实世界的电信号是模拟信号,ADC构建了模拟世界数字世界的联系。本文就模数转换...

关键字: 数模转换器 数字信号 模拟信号

伺服电机编码器是伺服系统的重要组成部分,它能够将伺服电机的位置、速度和方向等运动参数转换成可被处理的数字信号。编码器的工作原理基于光电转换原理或磁电转换原理,下面将分别介绍这两种工作原理。

关键字: 伺服电机 编码器 数字信号

数字信号处理是将信号以数字方式表示并处理的理论和技术。数字信号处理与模拟信号处理是信号处理的子集。

关键字: DSP技术 通信 数字信号

摘要:针对窃电手法的隐蔽化和专业化,为减少公司范围内窃电行为,大力整治用电市场秩序,保持反窃电高压态势,结合当前新疆反窃查违工作中的实际,依托用电信息采集系统,融合多源系统数据,采用开盖记录+计量异常途径对用电行为进行分...

关键字: 计量异常 采集系统 用电行为分析
关闭
关闭