《电子技术应用》 2010年第 3期欢迎网上投稿 www.chinaaet.com
随着数字电子技术的发展 , 大型电子设备中数字
电路的比例越来越大 [ 1 ]。 为便于故障诊断 ,一些电子设
备 (如雷达系统 )预留了大量的数字信号检测口 [ 2 ]。 采用
示波器采集此类测试接口的信号时 , 由于示波器采集
通道数的限制 , 无法保留同步信息 ; 采用逻辑
分析
定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析
仪
或 ATE 设备不但价格昂贵 ,而且不便于携带 ,不适宜
广泛使用 。 因此 ,设计一款便携式并行数字信号高速同
步采集系统 ,为大型电子设备的维护提供支持是十分必
要的 。
此类检测口信号采集中多通路 、高采样率的特性要
求瞬时大量数据的高速缓存实现方法 。文献 [ 3 ]以硬盘
为存储介质 ,采用 DMA 技术实现了接近 6 MB / s 的存
储速率 。 文献 [ 4 ] ,文献 [ 5 ] ,基于 SoPC 技术采用 SDRAM
作为存储介质 ,相对硬盘存储速度有了很大的提高 。 但
是当通道数超过 SDRAM 数据位数时 ,SoPC 的处理速度
就会影响数据的存储速度 ,适用于多通路同步采集 。 本
文采用读写速度最高的 SRAM 作为存储介质 ,并利用虚
拟多个 DMA 通道的技术极大地提高了数据存储速度 ,
实现多路并行数字信号的高速同步采集 。
1 系统整体设计
采集系统采用了嵌入式技术达到便携性的目的 ,由
FPGA 子系统和 ARM 子系统两部分组成 ,如图 1 所示 。
FPGA 子系统接收 ARM 子系统的指令 ,完成数据的
采集 、缓存和发送功能 。 数字信号缓冲电路用于数字信
号的电平转换和驱动 。 输入数字信号可能是 TTL 或
CMOS 电平 , 采用缓冲电路一方面减小对原电路的影
基于 DMA的并行数字信号高速采集系统
王 俊,郑 焱,王 红,杨士元
(清华大学 自动化系,北京 100084)
摘 要: 本系统采用基于 FPGA 的 DMA 技术高速缓存多路并行数据,通过数据重组将数据有序发
送给处理系统 ,用于数据的显示与分析 。 系统采用了嵌入式技术 ,达到了便携效果 ,从而更好地适应
设备的工作环境 。 并行数字信号采集实验结果表明 ,系统能以 5 MHz、2.5 MHz、500 kHz、50 Hz 4 档采
样频率进行 62 路并行数字信号采集,各路采集结果正确,并保存了各路之间的同步信息 。
关键词 : DMA;并行高速采集 ;FPGA;嵌入式系统
中图分类号 : TP391.5 文献标识码 : B
DMA-based high-speed parallel acquisition system of digital signals
WANG Jun,ZHENG Yan,WANG Hong,YANG Shi Yuan
(Department of Automation, Tsinghua University , Beijing 100084 ,China)
Abstract: The proposed FPGA-based system uses DMA technology to cache multi-channel parallel data , and to send data to
processing system orderly after data re-organization for display and analysis. Embedded technology is used to make system portable for
operation environment of electronic equipment . Parallel digital signal acquisition experiment result shows that this system can acquire
62 channel digital signals correctly and synchronously at four gear sampling frequency of 5 MHz, 2.5 MHz, 500 kHz, and 50 Hz.
Key words: DMA;high-speed parallel acquisition ;FPGA;embedded system
集成电路应用 Application of Integrated Circuits
42
《电子技术应用》 2010年第 3期
响 , 另一方面将电平转换为 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 个数据位 ;剩余每个方格
集成电路应用 Application of Integrated Circuits
43
《电子技术应用》 2010年第 3期欢迎网上投稿 www.chinaaet.com
通道数
采样频率
逻辑电平
最大输入范围
同步采样
输入频率范围
表 2 系统性能参数
62 路
5 MHz 、 2.5 MHz 、 500 kHz 、 50 kHz
TTL
0~5 V
是
0~1 MHz
编号
9
10
11
12
表 1 采集结果与误差
给定频率 /kHz
16.28
32.55
65.10
130.21
采集频率 /kHz
16.25
32.50
65.00
130.00
误差 /%
0.18
0.15
0 .15
0 .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 系统根据以上
公式
小学单位换算公式大全免费下载公式下载行测公式大全下载excel公式下载逻辑回归公式下载
将各个通道数据逐位地从
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 的写入
速度已成为主要的限制 。
参考文献
[1] 唐玉兰 ,陶伟 ,于宗光 .一种实现数模混合电路中的 DAC
测试的 BIST 结构 [J ] .电子器件 ,2006,29(1):231-234.
[2] 张开德 . 1553B 数据总线技术在某艇作战系统中的应用
[J ] .舰船科学技术 ,1994, (003):48-51.
[3] 詹艳艳 .数据采集系统并行存储的实现 [ J ] .科技资讯 ,
2009(4) .
[4 ] 奚素霞 .基于 SOPC 的高速数据采集系统的分析与设计
[J ] .电子元器件应用 ,2009,11(4) .
[5] 冯萍 ,李秀华 .基于 FPGA 的高速高精度数据采集系统的
研究 [J ] .中国科技信息 ,2008, (021):105-106.
(收稿日期 :2009-09-25)
作者简介 :
王俊 ,男 ,1985年生 ,硕士研究生 ,主要研究方向 :嵌入
式系统开发与研究 。
杨士元 , 男 ,1945年生 , 清华大学教授 , 博士生导师 ,
IEEE 高级会员 ,中国计算机学会容错计算专业委员会副主
任 ,主要研究方向 :电子技术 、检测技术 、系统故障诊断理
论和技术以及智能家居系统的研究 。
集成电路应用 Application of Integrated Circuits
44