深入浅出带你了解FPGA架构
数字集成电路有两种类型:ASIC和FPGA(现场可编程门阵列)。专用集成电路(ASIC)有一个预先定义的特定硬件功能,在生产后不能重新编程。但FPGA可以在制造后可无限编程。
FPGA是一种集成电路,一种可编程芯片,它允许工程师对定制的数字逻辑进行编程,可以根据程序改变其硬件逻辑。主要目的是允许工程师重新设计和重新配置他们的芯片更快,更便宜,只要他们想要,然而世界上没有什么理想的,FPGA芯片也有局限性!
FPGA最早出现于20世纪80年代,其最初的应用是允许工程师拥有通用可编程逻辑芯片。然而,这需要大量的编程才能执行简单的功能,所以工程师们尽量避免使用这些功能。但是,虽然在1980年的FPGA是一个简单的接口设备,主要针对难以用于设计复杂系统的胶水逻辑,但它成为了一个系统级集成电路,具有自己的内存块、微处理器和接口,允许设计重要的系统。
基本特点
1) 采用FPGA设计ASIC电路(专用集成电路),用户不需要投片生产,就能得到合用的芯片。
2) FPGA可做其它全定制或半定制ASIC电路的中试样片。
3) FPGA内部有丰富的触发器和I/O引脚。
4) FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。
5) FPGA采用高速CMOS工艺,功耗低,可以与CMOS、TTL电平兼容。
6)使工程师能够精确地构建所需硬件,而不必使用标准集成电路,或花费与ASIC设计相关的时间、成本和风险。
7)与微处理器或微控制器相比,它们以更快、更节能和更简单的方式进行操作。
8)FPGA功能可以像任何其他软件代码一样更新,即使硬件已经离开了生产点。这可以帮助修复bug或添加新特性。
可以说,FPGA芯片是提高系统集成度、可靠性的最佳选择之一。FPGA是由存放在片内RAM中的程序来设置其工作状态,因此,工作时需要对片内RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活。
CPLD和FPGA
CPLD是复杂可编程逻辑器件,也是一种制造后可重新编程的器件。在这个意义上,它们类似于FPGA。然而,也有显著的差异。FPGA由多个逻辑单元组成,而CPLD由较少的逻辑单元组成。由于它们的尺寸,CPLD通常更便宜和更快。然而,CPLD的功能非常有限,它们不能用于构建复杂的系统,它们通常用于简单的设计,如胶合逻辑[1]。
各个厂家叫法不尽相同。PLD(Programmable Logic Device)是可编程逻辑器件的总称,早期多EEPROM工艺,基于乘积项结构。FPGA最早由Xilinx公司发明。多为SRAM 工艺,基于查找表(Look Up Table)结构,要外挂配置用的EPROM。Xilinx把SRAM工艺,要外挂配置用的EPROM的PLD叫FPGA,把Flash工艺(类似EEPROM工艺),乘积项结构的PLD叫CPLD;Altera把自己的PLD产品:MAX系列(EEPROM工艺),FLEX/ACEX/APEX系列(SRAM工艺)都叫作CPLD,即复杂PLD(Complex PLD)。
FPGA的应用
目前FPGA的应用有很多。当我们在生产过程中不确定我们的需求,或者需求会随着时间而改变。FPGA是最快、最便宜的原型制作方法之一,但它并不局限于此。它被用于不同的目的:从灵活的设计和机器学习训练到快速交易和加密挖掘。服务器应用是FPGA设备最新的案例。
然而,它们也有缺点:
硬件成本
速度要求
FPGA的架构
FPGA由构建块组成,这些构建块就像可以用来构建系统的乐高积木。它有一个基本的逻辑构建块称为逻辑单元(CLB),但也可以包含更大的其他块,如PLL、接口、内存等。单个FPGA芯片将拥有数十万个逻辑单元。除了CLB,芯片还有输出输入模块IOB(Input Output Block)和内部连线(Interconnect)。
我们有一个查找表(LUT)作为FPGA逻辑块的核心。本质上就是一个RAM。它把数据事先写入RAM后,每当输入一个信号就等于输入一个地址进行查表,找出地址对应的内容,然后输出。构建块的输出是多路复用的。多路复用器的一个输入是LUT的直接输出,用于纯组合逻辑,如NAND, NOR, XOR或其他逻辑门。多路复用器的另一个输入是经过d型触发器并与时钟同步存储的LUT的注册输出。
一个逻辑单元本身是一个简单的电路,不能做太多的事情,但当有很多逻辑单元时,我们可以实现任何我们想要的功能。为了做到这一点,逻辑单元被连接到一个阵列的其他逻辑单元。
CLB块之间的橙色矩形是可编程开关,它可以将逻辑单元的输出路由到任何地方。这是一个非常简单的图表;事实上,比这里显示的更多的电线和互连线。
注意携带和携带引脚。每个加法器只有一位宽,而使用进位/进位引脚,可以非常快速和有效地创建大的加法器和计数器。拥有快速、专用的携带链是FPGA相对于其他可编程逻辑器件(如CPLD)的最大优势之一。
在FPGA中,时钟可以实现所有触发器,因为没有时钟的数字设计几乎不可想象。FPGA有非常高级的时钟资源,包括内置的可配置PLL(锁相环)和DLL(延迟锁环)。由于几乎所有的现代数字设计都需要多个具有不同频率和相位延迟的时钟,因此时钟管理非常重要。
FPGA也有用于读取和输出数据的输入输出块。除了标准的I/O块,大多数FPGA有以下I/O特性:
触发器输出同步I/O
微分信号
双数据速率(DDR)
序列化器和反序列化器(SERDES)
上拉、下拉和三态I/O
回转速度可调,驱动强度可调
就像内存中内置的RAM块一样,分布式RAM可以在100Kb和100Mb之间变化。最新一代的FPGA设备也有DSP乘法器片,主要用于DSP应用(数字信号处理)。大多数FPGA有其他内置块:
ADC和DAC
外部存储器控制器,如DRAM, DDR, DDR2。
串行总线控制器
以太网MAC
专用的先进先出[2]
高速收发器
这些块在FPGA设备上设计为“硬块”,而不是在制造过程后由逻辑块和开关构建,因为它们通常是所有复杂系统都需要的。因为它们存在于所有的系统中,并且使用得非常频繁,所以我们希望它们能够存在以节省时间(总使用clb和开关从头开始设计它们没有意义,相反我们将它们设计为单独的可配置块,以便设计师能够更改它们的参数),但更重要的是,我们希望它们具有非常好的特性,非常高效地工作并占用更少的空间。此外,这些模块中有一些模拟部件需要手工设计,不能仅通过数字单元来构建。
如何对FPGA进行编程和配置
为了配置FPGA,我们需要对它进行编程。我们可以使用Verilog、System Verilog和VHDL等FPGA硬件描述语言进行编程。这些语言有一些区别,这里便不再赘述。使用FPGA定义硬件的工作流程如下:
每个步骤都需要一些工具集。大多数FPGA制造商都提供了具备所有所需工具的编程环境。
高手玩家
FPGA市场前景诱人,但是门槛之高在芯片行业里无出其右。全球有60多家公司先后斥资数十亿美元,前赴后继地尝试登顶FPGA高地,其中不乏英特尔、IBM、德州仪器、摩托罗拉、飞利浦、东芝、三星这样的行业巨鳄,但是最终登顶成功的只有位于美国硅谷的四家公司:Xilinx(赛灵思)、Altera、Lattice(莱迪思)、Microsemi,其中,Xilinx与Altera这两家公司共占有近90%的市场份额,专利达到6000余项之多,如此之多的技术专利构成的技术壁垒高不可攀。
Xilinx
Xilinx公司成立于 1984年,Xilinx首创了现场可编程逻辑阵列(FPGA)这一创新性的技术,并于1985年首次推出商业化产品,是全球领先的可编程逻辑完整解决方案的供应商,也是目前排名第一的FPGA解决方案提供商。
产品系列包括:
Spartan系列:定位于低端市场,目前最新器件为采用28nm工艺的Spartan7;
Artix系列:定位于低端Spartan和高端Kintex之间的中端市场,目前在售的主流产品为采用28nm工艺的Artix-7;
Kintex系列:定位于高端市场,包含有28nm工艺的Kintex7系列,20nm的Kintex7 Ultrascale系列,还有16nm的Kintex7 Ultrascale+系列;
Virtex系列:定位于高端市场,包含有采用28nm工艺的Virtex7系列,20nm的Virtex7 Ultrascale系列,还有16nm的Virtex7 Ultrascale+系列;
全可编程 SoC 和 MPSoC系列:包括有Zynq-7000和Zynq UltraScale+ MPSoC系列FPGA、内嵌有ARM Cortex系列CPU;
AI Engine系列:Versal ACAP、Alveo系列等。
Intel(Altera)
与Xilinx齐名的FPGA供应商,2015年被CPU届的大佬Intel收购。
产品系列包括:
MAXII系列:实质上是CPLD;
Cyclone系列:定位于中低端市场,类似于Xilinx 公司的Spartan系列和Artix系列,最新产品为Cyclone10。
Stratix系列:定位于高端市场,与Xilinx的Kintex、Virtex系列竞争,最新产品为Stratix10;
Arria系列:SOC系列FPGA, 内置ARM Cotex A9的核;
Intel Arria 10系列:支持DDR4存储器接口的FPGA,硬件设计人员可以使用Quartus II 软件v14.1,在Arria 10 FPGA和SoC设计中实现666 Mbps DDR4存储器数据速率;
Agilex系列:面向数据中心等高端市场,采用10nm工艺,异构 3D 系统级封装 (SiP) 技术的一款FPGA产品。
Microchip(Microsemi)
Microsemi并购了Actel,专注于美国军工和航空领域,产品为反熔丝结构FPGA和基于Flash的FPGA为主,具有抗辐照和可靠性高的优势,Microsemi又被Microchip(微芯)并购。
产品系列包括:
基于FLASH的通用FPGA系列:包括PolarFire Mid-Range FPGAs、RTG4 Radiation-Tolerant FPGAs、IGLOO2 Low-DensityFPGAs三个高、中、低端系列。
Lattice
CPLD的发明者,著名的可编程逻辑解决方案供应商,仅次于Xilinx和Altera。
产品系列包括:
ECP系列:为Lattice自己的开发的FPGA系列,提供低成本,高密度的FPGA解决方案,而且还有高速Serdes等接口,适用于民品解决方案居多;
ICE系列:为收购SilioncBlue的超低功耗FPGA,曾用在iPhone7里面,实现了FPGA首次在消费类产品中应用;
Mach系列:替代CPLD,实现粘合逻辑的最佳选择。
QuickLogic Corp
QuickLogicCorporation 诞生于1988年,是一家超低功耗嵌入式现场可编程门阵列 (eFPGA) IP、多核语音识别 SoC、显示器桥接和可编程序逻辑解决方案开发公司。
eFPGA产品系列包括:采用65nm和40nm工艺的ArcticPro系列和采用GF-22工艺的ArcticPro 2 eFPGA。
Achronix
Achronix 作为后起之秀,早期推出了eFPGA IP,但是限于IP产品的变现速度太慢,随后推出了FPGA芯片,今年5月发布的新品叫Speedater7t。
EFINIX
EFINIX可以说是后起之秀,它改变了传统FPGA的设计理念:
eXchangeable Logic and Routing (XLR) cell
我们将逻辑资源比作一个城市。随着城市的扩大,就必须建立更宽的道路,道路间要建立不少的立交,而且这些立交的层次都可能很复杂,还需要更多的交通灯,以及匝道来汇聚和分开车流。这些实际上和一块FPGA的结构非常类似,你可以自然联想到,芯片规模越大,就只有两个办法来完成逻辑之间的互联互通。要不就是把走线的资源增加很多层,要不就是把芯片做到更大的面积来增加布线。甚至两个方面都要加强。
传统的FPGA中的运算单元LE(Logic Element)和互连资源Routing Switch在功能上各司其职,而数量和位置都是固定的。因此,如果你的设计中有很多Logic,那么很可能片上的LE不够用,而互连资源会有很多富裕;而如果你的设计中需要很多的连线,比如复杂的总线,大量的Mux,那么很可能互连资源成为瓶颈。
Efinix的想法就是设计一种新的Cell,XLR,它既可以作为运算资源,又可以作为互连资源。
国内主要玩家
[1] gule logic的中文含意是“胶合逻辑”,它是连接复杂逻辑电路的简单逻辑电路的统称。例如,一个ASIC芯片可能包含许多诸如微处理器、存储器功能块或者通信功能块之类的功能单元,这些功能单元之间通过较少的粘合逻辑连接起来。在印制板(PCB)层,粘合逻辑可以使用具有较少逻辑门的“粘合芯片”实现,例如PAL、GAL、CPLD等。
[2] 先进先出(FIFO,first-in,first-out)为处理从队列或堆栈发出的程序工作要求的一种方法,它使最早的要求被最先处理。
基于FPGA和NAND Flash的便携式信号采集系统设计
0 引言
随着现代检测技术和科技水平的高速发展,信号采集技术的应用范围越来越广泛[1]。与此同时,对信号采集系统的采集精度、采样率以及便携性等设计需求提出了更高的要求。现场可编程门阵列(FPGA)具有逻辑门充足、时钟频率高、速度快、效率高和IP核丰富等特点,使其成为高速信号采集系统设计的一个有效手段[2-3]。针对当前信号采集系统的设计需求,本文主要介绍如何提高信号采集系统的采样率和便携性。
目前,信号便携式信号采集系统采样率低主要受限于信号采集系统的传输速度和处理速度不足。查阅近几年的相关文献,基于FPGA的信号采集系统主要有以下两种设计方案:方案一,采用FPGA作为逻辑控制模块,搭配ADC采集模块和USB2.0传输模块[4];方案二,同样采用FPGA作为逻辑控制模块,搭配DDR2/DDR3模块对ADC模块采集的数据进行高速缓存[5-6]。方案一受限于USB的传输速度其采样率较低[7-8];方案二虽然可以达到较高的采样率,但是具有数据易失、存储容量小的问题,便携性不足[9]。
针对以上问题,本文结合目前NAND Flash高速存储的特性,提出了便携式高速信号采集系统的设计方案。该设计的关键在于利用存储芯片写入速度快、数据总线可复用等特点,使ADC采集到的信号采用DMA方式存入存储芯片中。其次,该设计配置LCD显示屏,用于信号的实地查看,减少了上位机的配置。系统满足长时间、多批次的信号采集。
根据功能和原理,该系统分为4个模块:基于FPGA芯片的逻辑控制模块、以ADC芯片为主的数据转换模块、以NAND_Flash芯片为核心的高速数据存储模块以及LCD触摸显示屏模块,如图1所示。
系统基本工作原理:首先,模数转换模块在接收到模拟信号后,将信号转换为数字信号并发送到FPGA逻辑控制模块中的FIFO中;其次,FPGA逻辑控制模块采用直接存储器存储(Direct Memory Access,DMA)模式将数据从FIFO中传递到NAND_Flash数据存储模块;然后,NAND_Flash模块结合其相应的内部结构以同步的方式进行高速数据存储;最后,将由LCD模块发送相应的指令,以一定速度读取数据,经过FPGA进行一定的信号处理,在LCD显示屏中显示。
2 硬件电路设计
2.1 FPGA逻辑控制模块
FPGA逻辑控制模块由ALTERA公司的EP4CE40F29C8N、EPCS64SI16以及海力士公司的H27U1G8F2B芯片组成。其中EP4CE40F29C8N为Cyclone IV系列FPGA芯片,该芯片最大时钟频率为472 MHz,具有533个IO接口,满足系统设计所需的最大时钟频率以及外设连接接口。逻辑控制模块由顶层设计部分、系统时钟与复位部分、采集控制部分、存储控制部分、LCD显示控制部分以及NISO II部分构成,其中顶层设计部分负责各个部分的连接以及逻辑控制模块与其他模块的接口。FPGA顶层原理图如图2所示。
在系统时钟与复位部分,由FPGA芯片系统时钟接口通过连接25 MHz无源晶振获得25 MHz时钟信号,通过“PLL”IP核将25 MHz时钟信号倍频为33 MHz、50 MHz、100 MHz以及200 MHz,以此作为系统的时钟电路。其次,产生异步复位同步释放的系统复位信号。
LCD显示控制部分由波形模块、数据缓存模块、LCD显示驱动模块和触摸屏指令接收模块组成。该部分提供接口将QSYS中的显示数据输出到DDR2缓存模块中;并为DDR2芯片和LCD显示芯片建立DMA通信机制,实现显示数据的输出。
通过QSYS系统集成开发工具建立NIOS II片上嵌入式处理系统,负责信号采集系统指令接收和程序执行控制。NIOS II系统完成以下工作:(1)系统初始化程序执行,监听LCD指令输入;(2)实现配置Flash芯片(H27U1G8F2B)的读写操作,配置Flash芯片中存放显示模块中的背景图片、字体库以及采集过程中采集批次编号和采集数据存储的起止位置信息;(3)实现采集数据读取操作,并将采集的信号数据转为波形显示数据;(4)负责系统各个外设驱动指令的输出。
2.2 模数转换模块
模数转换电路采用AD9226作为转换芯片,该芯片是一款低功耗(475 mW)、高精度(12 bit)的高速模数转换芯片,其最高转换速率为65 MSPS,并且具有良好的信噪比(70 dB)。本设计中,信号输入范围为1 V~3 V。该模块的采样时钟由FPGA逻辑模块提供,以达到对采样率的控制,本文中所有测试内容中采样率均为50 MHz,模数转换模块电路图如图3所示。
2.3 高速数据存储模块
为了匹配高速采样率,高速数据存储模块选取SLC颗粒的NAND Flash芯片[10]。本设计选择Micron公司的MT29F256G08AUCABH3芯片,该芯片在同步状态下,引脚读写速度可以达到200 MT/s,并且在数据写入过程中采用DDR模式,即在时钟的上升沿和下升沿均有数据写入。通过对其数据手册的分析,由于NAND Flash需要进行PROGRAM PAGE 操作,因此该芯片写入1页数据(8 KB)大约需要400 μs。在该时间段内,AD信号采集模块采集数据4×104B,远大于NAND Flash存储数据,无法满足系统的设计需求。考虑到NAND Flash芯片在同步写入过程中加载8 KB数据需要40.96 μs,模数转换模块采集8 KB数据需要81.92 μs。影响系统存储时间的主要因素是NAND Flash的编程时间(350 μs)。
针对这一问题,本设计结合MT29F256G08AUCABH3的存储结构特点,如图4所示。该芯片内部具有8个LUN结构,且当一个LUN处于编程状态时,其他LUN可以进行读写以及编程。根据这一特性,本设计将其内部的8个LUN芯片采用流水线方式排列,依次进行数据的存储操作,如图5所示。当采集数据达到8 KB,处于写准备状态的LUN开始以DDR方式进行数据写入。完成1页数据(8 KB)的写入后,后一LUN进入写准备状态,等待未存储数据再次达到8 KB。以此方式进行循环,当第8个LUN完成写操作时,第一个LUN完成编程过程,处于空闲状态可以进行写操作,图5所示为存储芯片流水线工作模式。
2.4 显示模块
在系统的显示模块,选用一款具有800×480分辨率和数字接口驱动的7英寸LCD液晶显示屏。显示屏的输出色彩信号通过565的RGB并口数字信号传输,搭配容量为512 MB的DDR2 SDRAM芯片用于缓存显示数据。系统显示模块的时钟频率为33 MHz。
除显示功能外,该模块同时肩负人机交互功能。利用触摸屏的特性,完成对整个系统的操作控制,减少键盘模块,使操作更加简单。本设计采用电阻式触摸屏,屏幕的x轴和y轴各有两条信号线连接到触摸屏专用AD芯片上(本设计选择AW2083芯片),每次按触摸屏时,会在对应的x轴和y轴产生一个阻值。在两条坐标轴的正负极之间加参考电压,当其中一条坐标轴的某一位置被触按,则这个位置和对应坐标轴的正负极之间的电阻会通过电压的形式反馈给ADC的输入端,产生12 bit的AD量化值,AD芯片采集到的坐标数据与实际坐标值成正比,且为线性关系。图6所示为y轴坐标测量等效电路图。
3 系统程序逻辑设计
当系统上电后,系统进行初始化操作。FPGA读取配置NAND Flash芯片中系统的配置信息。获取显示模块的初始化界面并进行输出和显示,同时从配置芯片中获取存储模块下一存储地址。系统初始化完毕后,系统进入待机状态,并监听LCD显示模块的指令输入。
3.1 信号采集流程
通过点击LCD模块中的“开始采集”按钮,触发信号采集程序。逻辑控制模块监听到信号采集开始指令,系统进入信号采集流程。
信号采集流程:
(1)高速存储模块初始化,对上一批次结束的所在LUN的下一个LUN进行存储状态激活。
(2)逻辑控制模块发送模式转换模块使能信号,同时向模数转换模块输入50 MHz时钟信号。
(3)模数转换模块开始工作,将输入的模拟信号以50 MS/s的转换率转换为12 bit的数字信号,并输出到逻辑控制模块。
(4)逻辑控制模块接收到12 bit后,将其左移4位与当前采集批次的4 bit二进制值相加产生一个16 bit存入FIFO中。FIFO设置为输入信号16 bit,频率50 MHz;输出信号为8 bit,输出信号频率为400 MHz;深度为4 096 words。
(5)当FIFO状态为“FULL”时,逻辑控制模块向高速数据存储模块发生写指令,向FIFO发送读指令,系统开始以DMA的方式将数据从FIFO中发送到高速数据存储模块。
(6)当完成page数据的存储后,逻辑控制模块关闭FIFO读使能。高速数据存储模块激活下一个LUN的存储状态,重复步骤(5)~(6)。信号采集流程图如图7所示。
3.2 信号采集停止流程
LCD显示模块中的“采集停止”按钮被触发,逻辑控制模块等待数据采集流程中步骤(6)执行时,关闭高速数据存储模块、模数转换模块使能,将当前采集批次编号和对应数据存储的起止位置存入配置信息存储Flash中。系统进入待机状态,监听LCD显示模块的指令输入,同时LCD显示模块初始化界面。
3.3 波形显示流程
LCD波形显示按钮触发后,界面切换到采集批次选择界面,通过点击选择对应批次的波形显示,进入波形显示操作流程。
波形显示流程:
(1)逻辑控制模块从配置Flash中读取相应批次数据采集的存储起止位置。
(2)读取高速存储模块中对应地址的数据,写入波形控制IP核中。波形控制模块负责控制LCD波形窗口控制,并将采集数据值锁存到双口RAM中,同时负责输出波形点显示坐标位置和波形显示时钟频率。
(3)将波形控制模块中的数据输入到LCD显示模块中的DDR2芯片中。
(4)LCD显示屏中,读取DDR2中的数据,进行显示。
(5)当对应批次的所有数据读取完毕后,波形显示流程结束。
3.4 高速数据存储控制流程
高速数据存储控制程序主要分为采集数据写流程和显示数据读流程。本设计中,采集数据写流程采用同步写入方式,工作频率为200 MHz;显示数据读流程采用异步读取方式,工作频率为50 MHz。
(1)高速数据写流程:①NAND Flash芯片激活同步读写状态;②从逻辑控制模块获取写入页地址;③向NAND Flash发送写操作命令;④向NAND Flash写入写操作地址;⑤NAND Flash等待数据写入使能;⑥接收到逻辑控制模块发送的写使能,开始写入数据;⑦当数据写满一页时,该LUN进入编程状态,同时从逻辑控制模块获取下一个LUN的存储地址,重复步骤③~⑦。
(2)高速数据读流程:①NAND Flash芯片激活异步读写状态;②从逻辑控制模块获取读取页地址;③向NAND Flash芯片发送读操作命令;④向NAND Flash写入多操作操作地址;⑤读取NAND Flash数据发送到逻辑控制模块中;⑥当数据读完一页后,重复步骤②~⑥。
4 实验测试
测试平台由超声发射电路、超声接收电路、超声探头和有焊缝的金属薄板构成。超声探头发射2.5 MHz的超声信号到金属薄板。当超声信号到达焊缝部位时,信号发生部分或全部反射,产生回波信号。信号采集系统通过超声接收电路采集回波信号,经过逻辑控制模块处理后,写入存储模块。同时,经过处理的数据通过LCD显示屏进行显示。图8为信号检测系统输出波形。对比两个波形发现,系统能够以50 MHz的采样率进行良好的采样。图9和图10为连续采样数据波形输出,实现了连续多批次信号采集。
5 结束语
本系统通过AD9226高速模数转换模块,将采集到的模拟信号转换为数字信号,经过FPGA存储到大容量NAND Flash中,并在LCD显示屏中显示波形。在实际应用中,该系统能够进行持续长时间的多批次高速信号采集,并具有小型化、易于携带的特点。
参考文献
[1] 张晓威,苏淑靖.基于FPGA的高速高精度数据采集系统的设计[J].仪表技术与传感器,2016(1):70-72.
[2] BAO S,YAN H,CHI Q,et al.FPGA-based reconfigurable data acquisition system for industrial sensors[J].IEEE Transactions on Industrial Informatics,2017,13(4):1503-1512.
[3] 杨海钢,孙嘉斌,王慰.FPGA器件设计技术发展综述[J].电子与信息学报,2010,32(3):714-727.
[4] XU Z,ZHU L,SHAN J F,et al.A new high-speed data acquisition system[J].Journal of Fusion Energy,2015,34(3):1-4.
[5] 黄远望,严济鸿,周伟.基于FPGA的数据采集测试系统设计[J].现代雷达,2015,37(4):73-76.
[6] KHEDKAR A A,KHADE R H.High speed FPGA-based data acquisition system[J].Microprocessors & Microsystems,2016,49:87-94.
[7] 李茂,杨录,张艳花.基于FPGA和USB的多通道超声检测系统设计[J].仪表技术与传感器,2017(8):82-84.
[8] 孟晓东.基于FPGA的DDR3控制器设计与验证[D].长沙:国防科学技术大学,2012.
[9] LIU D,WANG Y,QIN Z,et al.A space reuse strategy for Flash translation layers in SLC NAND Flash memory storage systems[J].IEEE Transactions on Very Large Scale Integration Systems,2012,20(6):1094-1107.
[10] 肖佳.基于NANDFLASH的大数据高速存储系统的设计与实现[D].西安:西安电子科技大学,2014.
作者信息:
周 浩,王浩全,任时磊
(中北大学 信息与通信工程学院,山西 太原030051)
相关问答
什么是嵌入式系统?嵌入式系统是指由硬件和软件组成并且能够移植到硬件设备的操作系统。而相比较于普通的PC操作系统,嵌入式操作系统不能存储大容量的内存和程序。所以嵌入式操作系...
国产芯片发展到什么水平了?芯片制造的差距并不是单个方面,它是工艺的各个方面。许多智能手机或电脑都是中国制造,但是装有的中国“芯”却寥寥无几。以前国家对微电子的重视程度是不够的...
连英特尔都搞不定的5G芯片,为何华为却能搞定?应邀回答本行业问题。5G芯片,其实不仅仅是技术的原因。包括通信的专利,芯片的市场定位,芯片合作企业,和设备商、运营商的关系等等,都决定了芯片企业的命运...另...
存储芯片是什么?怎么没有听说存储芯片被卡脖子?谢邀。目前整个芯片领域可以分为逻辑芯片、存储芯片、半导体代工三大块。逻辑芯片:比较复杂,整个生态都被美国把控,比如英特尔、英伟达,短期内我国仍将处于...
半导体、汽车和新能源三个行业,哪个最有前景?这三个行业是全球最大的行业,在中国半导体,汽车,新能源都是全球顶尖规模的行业。(注意我说的是体量大)。因为你是学材料,慢慢的你会发现这三个行业在应用...但...
华为会不会授权让紫光生产麒麟芯片?中兴、华为被美国制裁,中芯国际购买ASML的EUV光刻机受阻,种种迹象表明我们必须拥有自己的半导体和完整的集成电路产业链才有可能完成“鲤鱼跃龙门”的巨变。芯...