电子发烧友网 > 可编程逻辑 > 正文

基于可编程逻辑器件实现多路数据采集系统的设计

2020年08月05日 17:30 次阅读

对于国内而言,正如DSP在20年前出现的情形一样,如今,FPGA正处于数字信号处理技术的前沿。而DSP都是基于一种精简指令集的计算机体系架构,其固定的硬件结构和数据总线宽度已不适合许多面向用户型(可重配置型)的DSP应用系统;其速度也受制于CPU的指令顺序执行的基本工作模式,这已成为DSP处理器一个难以突破的瓶颈。

现代的大容量、高速度FPGA器件通常都内嵌有可配置的高速RAM、PLL、LVDS、LVTTL以及硬件乘法累加器(MAC)等DSP模块,而且都提供了支持以低系统开销、低成本实现高速乘-累加(MAC)超前进位链的DSP算法。 在许多宽带信号处理领域(如无线通信、多媒体系统、卫星通信、雷达系统等),FPGA技术具有更广阔的应用前景,已代替DSP实现许多前端的数字信号处理算法。用FPGA来实现数字信号处理可以很好地解决并行性和速度问题,而且其灵活的可配置特性,使得FPGA构成的数字信号处理系统易于修改、测试及系统升级,能降低设计成本,缩短开发周期。

本文应用FPGA技术针对一个远程监控系统的多路数据采集系统,实现了64bit位宽的海量数据实时采集、存储以及时钟匹配。

1 数据存储板的结构

图1为数据采集系统中数据存储板的基本框图,数据采集时钟为20MHz,远低于SDRAM存储的工作时钟100MHz,需要进行缓冲处理。通用CPU的SDRAM控制器只支持32bit位宽数据,而且容量也很难做到480M,笔者运用Altera公司的Cyclone系列高性价比EP1CQ240C8定制SDRAM控制器。

EP1CQ240C8是该数据存储板的核心器件,其主要功能有:完成数据的缓冲;对SDRAM的读写时序控制;完成EPP(增强型并口)协议与计算机通信;提供SDRAM的100MHz工作时钟;产生SDRAM所需的定时刷新、充电、配置等控制命令;提供SDRAM的地址空间等。SDRAM选择HYNIX公司32M×8bit×16组的HYM72V64636BT8。

20MHz晶振为EP1CO240C8提供输入时钟,同时被EP1CQ240C8内部的PLL倍频到100MHz和跟随的20MHz,前者被CY2309功分到SDRAM,为SDRAM的存储器组提供工作时钟;后者被时钟驱动芯片74FCT3807分为多路,为A/D提供采样时钟。

2 EP1CQ240C8与SDRAM的接口设计

SDRAM的工作模式配置

基于可编程逻辑器件实现多路数据采集系统的设计

HYM72V64636BT8具有同步接口,其所有输入和输出都与系统时钟CLK上升沿同步,由输入信号RAS、CAS、WE组合产生SDRAM控制命令,完成相应的模式寄存器设置、刷新、激活、读写、预充电等操作。

SDRAM在工作之前必须设置模式寄存器,其读写工作模式分为普通模式和页模式。普通模式的数据长度可以为1,2,4,8;页模式和普通模式不同,一旦确定行列地址,则数据按照工作时钟(本系统工作时钟为100MHz)读出或写完一页(1024列)。

为了编程方便,笔者选取读写不同的工作模式:向SDRAM写入数据时采用页模式,写满后读出数据时采用是突发长度为1的普通模式。读写操作完成后用PCH命令或BT命令预充电中止读或写操作。在没有读写操作的时候,每64ms必须用ARF命令刷新存储单元,防止数据丢失。

SDRAM的控制接口设计

根据本系统SDRAM的工作要求, EP1CQ240C8与SDRAM的接口电路方框图如图2示,笔者对FPGA的内部硬件资源进行了详细配置。

(1)PLL(锁相环)完成时钟管理。

(2)地址产生模块由计数器构成,包括写地址模块和读地址模块。写地址模块产生的地址同时送到双口RAM和状态机,状态机发出初始化、刷新、读写、充电等命令,交给仲裁机制,在不冲突的情况下完成命令的译码和地址的行列复用,这时数据被存入到由地址的行和列所确定的SDRAM地址中去。数据存满SDRAM后再切换到读地址模块,通过读地址模块产生读地址将数据读出到并口,然后导入计算机进行相关的处理。

(3)仲裁机制完成对读写命令和刷新命令的仲裁,杜绝同时操作;命令译码主要用于控制SDRAM的各种时序,完成SDRAM的读写和刷新。

(4) 刷新控制电路主要完成对SDRAM数据刷新进行计时,确保每64ms刷新8192行数据;刷新控制电路主要由781计数器构成。由于SDRAM工作时钟是100MHz,SDRAM要求在64ms之内刷新8192行数据,因此该计数器应小于:64ms/8192/0.01us=781.25 。当计数器计满781次后,刷新控制电路向仲裁电路发出刷新请求,仲裁机制根据请求向SDRAM发出刷新命令。

(5)状态机是SDRAM控制器的核心。在程序方案上,笔者设计了两个模块:一个模块产生状态机命令和控制命令;另一个模块完成命令的译码,包括读写、刷新、充电等操作,将命令翻译成SDRAM的命令码字,完成特定的操作。

在本系统中,由于多通道数据采集后进入FPGA的时钟是20MHz,而FPGA的状态机以及SDRAM的时钟是100MHz,因此,数据需要做缓冲处理。笔者利用FPGA内部的硬件资源构造双口RAM解决时钟匹配问题,同时又考虑到SDRAM工作在页模式,因此将双口RAM的容量构造成SDRAM一页的数据容量1024×64bits,这样数据缓冲一页就存入一页。双口RAM作为FPGA配置中的关键模块,下面将详细介绍双口RAM的设计。

3 双口RAM的构造

由于本系统中数据读出时钟是写入时钟的五倍,所以必须注意时钟追赶的问题,即读出一定要滞后写入,否则读出的数据就不是存入双口RAM的数据。

笔者的编程思路是:当数据以20MHz时钟写入到双口RAM容量的7/8时,便以100MHz时钟开始读出,读完一页后必须就等待下次写满7/8。读出的一页数据刚好存满SDRAM的一页,依次类推,这样就完成了数据的缓冲。当然,读写地址的产生是FPGA内部用计数器实现的,因此,就得到如图3示的算法流程图。

图3中clk1为20MHz时钟,clk2为100MHz时钟;count1[9:0]输入到双口RAM的wraddress[9:0],count2[9:0]输入到rdaddress[9:0]。并和“1110000000”比较,判断是否写满了双口RAM的容量的7/8,如果写满了就触发100MHz的读出时钟,数据开始从双口RAM读出。根据上述思路,利用Altera公司的开发平台QUARTUS II完成编译、仿真得到双口RAM的功能仿真波形如图4示,由仿真结果可知该方案很好地解决了时钟追赶问题,完成了数据缓冲。

4 数据存储板的性能测试

笔者利用在FPGA内部资源编写了一个测试模块,用它产生有规律的数据信号(模拟采样的数据),并存入SDRAM,当存满后通过EPP将数据存储到计算机,利用相关软件读出保存到计算机的数据如图5示,仿真结果表明存入的数据与测试模块产生的数据一致,存储板能正常工作。

本文作者的创新点:

在本监控系统中,充分利用了FPGA内部的硬件资源—嵌入式逻辑块,应用软件编程解决了64位宽的海量数据缓冲、分页存储及系统时钟匹配问题,发挥了FPGA技术在信号处理领域的重要作用。

责任编辑:gt

下载发烧友APP

打造属于您的人脉电子圈

关注电子发烧友微信

有趣有料的资讯及技术干货

关注发烧友课堂

锁定最新课程活动及技术直播

电子发烧友观察

一线报道 · 深度观察 · 最新资讯
收藏 人收藏
分享:

评论

相关推荐

写好状态机--从2019年全国FPGA竞赛谈Verilog编码技巧

理解Verilog编码技巧掌握FPGA中状态机的写法掌握非重叠序列检测代器Verilog代码编写
发烧友学院发表于 2020-04-21 00:00 20998次阅读
写好状态机--从2019年全国FPGA竞赛谈Verilog编码技巧

基于可编程逻辑器件实现Web服务器的应用设计

嵌入式系统是以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积....
发表于 2020-08-05 17:38 0次阅读
基于可编程逻辑器件实现Web服务器的应用设计

基于EP1K30TC144-3芯片实现温控定时喷...

FPGA是新型的可编程逻辑器件,能够将大量的逻辑功能集成于单个器件中,它所提供的门数从几百门到上百万....
发表于 2020-08-05 17:17 11次阅读
基于EP1K30TC144-3芯片实现温控定时喷...

基于可编辑逻辑器件实现IEEE 802.11协议...

IEEE 802.11标准定义了能够统筹所有基于以太网的无线通信的协议。它是迄今为止最流行的无线局域....
发表于 2020-08-05 17:06 15次阅读
基于可编辑逻辑器件实现IEEE 802.11协议...

基于EP2S30 FPGA芯片实现MAC接收控制...

传统的测控网是将具有各种功能的仪器通过诸如VXI、CAN等专用总线连接起来构成一套完整的测控系统。现....
发表于 2020-08-05 17:00 19次阅读
基于EP2S30 FPGA芯片实现MAC接收控制...

采用现场可编程门阵列器件实现典型电路的设计方案

在科研和工程中,数据采集系统具有很广泛的应用,针对各类电压型传感器输出的信号伏值不同这种情况,本文提....
发表于 2020-08-05 16:55 23次阅读
采用现场可编程门阵列器件实现典型电路的设计方案

采用可编辑逻辑器件和VHDL语言实现波控系统设计...

相控阵是通过波控系统控制阵列天线各单元通道的相位、幅度以形成空间波束并控制其方位角和俯仰角。早期的波....
发表于 2020-08-05 16:43 19次阅读
采用可编辑逻辑器件和VHDL语言实现波控系统设计...

基于NI PXI-5105和虚拟仪器实现相控阵列...

超声相控阵列已经在医学图像处理领域内应用多年,但由于成本和复杂度的限制,该技术直到最近才在无损探伤(....
发表于 2020-08-05 16:09 26次阅读
基于NI PXI-5105和虚拟仪器实现相控阵列...

通过体感技术的应用,未来购物试衣将更加便捷

体感已经成为一项热门技术,在购物中挥手操作体感试衣镜,即可完成快速试衣,让购物的人更加轻松。 体感试....
发表于 2020-08-05 15:59 4次阅读
通过体感技术的应用,未来购物试衣将更加便捷

基于DDS和FPGA器件实现频率特性测试仪的设计

在电路测试中。常常需要测试频率特性。电路的频率特性体现了放大器的放大性能与输入信号频率之间的关系。频....
发表于 2020-08-05 15:01 30次阅读
基于DDS和FPGA器件实现频率特性测试仪的设计

基于EP1C6Q240C8的FPGA芯片实现对实...

利用FPGA开发振动模拟器研制开发费用低,不承担投片风险,通过开发工具在计算机上完成设计,电路设计周....
发表于 2020-08-05 14:29 36次阅读
基于EP1C6Q240C8的FPGA芯片实现对实...

采用GPRS技术实现油田、油井远程监控系统的设计

近些年来随着社会的进步、经济科技的发展,人们生活、工作和生产水平有了很大的提高。石油在人们的生产、生....
发表于 2020-08-05 10:35 27次阅读
采用GPRS技术实现油田、油井远程监控系统的设计

fpga--矩阵键盘实现某些按键独特功能

矩阵键盘原来是按一下输出一个值,现在想把其中几个值改为一直按一直输出而不是一直按着只输出一个值 ...
发表于 2020-08-05 10:30 40次阅读
fpga--矩阵键盘实现某些按键独特功能

FPGA如何获得外部输入信号?

你好, 我们想使用LCD引脚,在FPGA中获得外部输入信号。 我们在上阅读了讨论,我们使用vivado逻辑进行了一些...
发表于 2020-08-05 07:12 0次阅读
FPGA如何获得外部输入信号?

【每周FPGA案例】至简设计系列_串口回环工程

至简设计系列_串口回环工程 --作者:小黑同学 本文为明德扬原创及录用文章,转载请注明出处! 1.1 总体设计1.1.1 概...
发表于 2020-08-04 20:31 0次阅读
【每周FPGA案例】至简设计系列_串口回环工程

基于FPGA器件实现UART适应自顶向下的设计

UART(通用异步收发器)是广泛使用的串行数据传输协议。UART允许在串行链路上进行全双工的通信。专....
发表于 2020-08-04 17:25 137次阅读
基于FPGA器件实现UART适应自顶向下的设计

一文详谈FMC标准和FMC连接器的

FMC标准描述了一个通用的模块,它是以一定范围的应用,环境和市场为目标的。
发表于 2020-08-04 16:35 22次阅读
一文详谈FMC标准和FMC连接器的

基于DSP的RS232串口连接设计

此芯片缺陷是不能够一对多发送数据,只能一对一,倒也能满足我使用需求。
发表于 2020-08-04 15:41 149次阅读
基于DSP的RS232串口连接设计

基于EP1C6Q240C8的FPGA芯片实现电子...

本文采用的是ALTERA公司的EP1C6Q240C8型号的FPGA,整个体统采用模块化设计的思想,将....
发表于 2020-08-04 09:39 200次阅读
基于EP1C6Q240C8的FPGA芯片实现电子...

基于FPGA和单片机构成的电子加密系统的设计

FPGA/CPLD技术是近年来计算机与电子技术领域的又一场新的革命,为了保护知识产权,出现了各种层次....
发表于 2020-08-03 17:58 109次阅读
基于FPGA和单片机构成的电子加密系统的设计

FPGA器件EP1C3T100I7实现高速传输速...

近些年来,各种电路功能,包括模拟电路和数字电路,越来越多地用单片集成电路来实现。采用单片集成电路不仅....
发表于 2020-08-03 17:54 166次阅读
FPGA器件EP1C3T100I7实现高速传输速...

基于可编辑逻辑器件实现ADPLL的应用设计

随着数字电路技术的发展,特别FPGA技术的普遍应用,采用FPGA实现全数字锁相环(ADPLL)的应用....
发表于 2020-08-03 17:40 39次阅读
基于可编辑逻辑器件实现ADPLL的应用设计

采用编程逻辑器件控制8个LED小灯电路的设计

演化硬件(EHW)是指能根据外部环境变化自动改变自身结构和功能的一类硬件,它把可编程逻辑器件的结构位....
发表于 2020-08-03 17:35 58次阅读
采用编程逻辑器件控制8个LED小灯电路的设计

基于FPGA器件实现AMI编码器和译码器的设计

实际的基带传输系统,含有丰富直流和低频成分的基带信号不适宜在信道中传输。而对具有易获取定时信息、无直....
发表于 2020-08-03 17:31 171次阅读
基于FPGA器件实现AMI编码器和译码器的设计

基于VHDL语言及SOPC技术实现全数字调频信号...

在常用的信号源及信号处理设计方案中,RC/LC振荡电路频率调整方便,但是它的工作频率稳定度较低。频率....
发表于 2020-08-03 17:19 68次阅读
基于VHDL语言及SOPC技术实现全数字调频信号...

采用EPM7064S芯片和TMS320F2812...

CCD驱动板完成CCD信号的驱动,产生CCD像元同步、帧同步信号和经过运放处理的视频信号,DSP电路....
发表于 2020-08-03 17:12 43次阅读
采用EPM7064S芯片和TMS320F2812...

采用SOPC技术和VHDL语言实现图像增强处理系...

图像增强最早起源于人类的空间探索计划。从卫星或飞船上获得的关于地球和太阳系中行星的图像因为多种原因而....
发表于 2020-08-03 17:07 29次阅读
采用SOPC技术和VHDL语言实现图像增强处理系...

基于FPGA XC3S400芯片和ARM相结合实...

在往复式压缩机状态在线监测系统中,由于压缩机结构复杂、零部件多、运动形式各不相同,发生的故障也就会多....
发表于 2020-08-03 17:01 66次阅读
基于FPGA XC3S400芯片和ARM相结合实...

基于EP1C6Q240C8芯片的FPGA开发板实...

本文使用了6输入1输出的BP神经网络结构,其隐含层选择了8个神经元。当传感器出现故障时,系统就根据传....
发表于 2020-08-03 16:53 31次阅读
基于EP1C6Q240C8芯片的FPGA开发板实...

紫光同创PGL22G开发平台试用---软件和器件

已经可以支持到DDR3的800M。内部频率150M---200M,可以很好的运行。硬件部分和国外的中....
发表于 2020-08-03 16:46 272次阅读
紫光同创PGL22G开发平台试用---软件和器件

Vitis AI:从边缘到云的最佳人工智能推断

有了世界领先的模型压缩技术,我们可以在对精度影响极小的情况下,将模型的复杂性降低 5 至 50 倍。....
发表于 2020-08-03 16:40 154次阅读
Vitis AI:从边缘到云的最佳人工智能推断

提高MRAM的整体产量和需求,来降低MRAM存储...

Everspin在磁存储器设计,制造和交付到相关应用中的知识和经验在半导体行业中是独一无二的。Eve....
发表于 2020-08-03 16:26 91次阅读
提高MRAM的整体产量和需求,来降低MRAM存储...

请问zynq 怎么实现PS与PL数据交互,然后通过UART串口打印出来?

请问zynq 怎么实现PS与PL数据交互,然后通过UART串口打印出来?   前辈们做过的指导我一下。 ...
发表于 2020-08-03 15:53 134次阅读
请问zynq 怎么实现PS与PL数据交互,然后通过UART串口打印出来?

巨星科技牵手意大利DL公司布局欧洲激光雷达市场

资料显示,DL公司是一家位于意大利,专注在自动数据采集及工业自动化领域的全球领先供应商,其产品涵盖条....
发表于 2020-08-03 10:36 423次阅读
巨星科技牵手意大利DL公司布局欧洲激光雷达市场

牛人牛语-FPGA

发表于 2020-08-02 17:56 0次阅读
牛人牛语-FPGA

Maxim双通道ADC系列产品专为空间紧张系统而...

Maxim的引脚兼容的双通道、8位、65/100/130Msps ADC系列产品MAX19505/M....
发表于 2020-08-01 11:13 31次阅读
Maxim双通道ADC系列产品专为空间紧张系统而...

采用GPRS/CDMA移动通讯方式实现油田远程监...

油田具有特殊的工作环境,工作站点分散,受地理环境客观条件的限制,实现油田之间的各工作站点的视频监控及....
发表于 2020-08-01 09:43 322次阅读
采用GPRS/CDMA移动通讯方式实现油田远程监...

力维加油站联网监控系统的功能特点和应用场景分析

加油站作为一级防火单位,是安全防范的重点部门。由于预防措施不到位或者人为原因造成的加油站事故屡见不鲜....
发表于 2020-08-01 09:39 77次阅读
力维加油站联网监控系统的功能特点和应用场景分析

数字油田视频监管系统的功能实现和应用特点

数字油田视频监管系统全面采用高清、智能、物联网、3G应用技术,在“标准化、一体化、智能化”设计原则的....
发表于 2020-08-01 09:33 156次阅读
数字油田视频监管系统的功能实现和应用特点

使用采集卡采集数据,存在大量的重复数据。

NI-9219采集卡,官网显示采样率100S/s,在采集程序中设置采样率100,但效果不佳,目测就一秒钟就更新了电压2次,但...
发表于 2020-07-31 22:01 154次阅读
使用采集卡采集数据,存在大量的重复数据。

奈奎斯特升余弦数字滤波器的工作原理和采用FPGA...

随着信息需求量的增大,网络都逐渐朝着综合化、宽带化方向发展。数据速率的提高,对于数字信号处理的速度和....
发表于 2020-07-31 18:04 71次阅读
奈奎斯特升余弦数字滤波器的工作原理和采用FPGA...

基于MAX7000S系列的FPGA芯片解决基带传...

现场可编程门阵列FPGA是一种由用户实现芯片功能的器件,用户在设计完成之后可以进行功能仿真,也可以现....
发表于 2020-07-31 17:55 75次阅读
基于MAX7000S系列的FPGA芯片解决基带传...

数字Σ-Δ调制器的基本原理及采用FPGA器件实现...

Σ-Δ调制在数字信号处理以及通信系统方面的应用正越来越引起大家的重视,因为Σ-Δ调制实现时主要采用数....
发表于 2020-07-31 17:52 91次阅读
数字Σ-Δ调制器的基本原理及采用FPGA器件实现...

基于GPS中频信号源的FPGA设计实现方案

在GPS接收机的设计中,为了检验和完善信号处理算法,需要在本地获得GPS数字中频信号数据。采用真实的....
发表于 2020-07-31 17:37 177次阅读
基于GPS中频信号源的FPGA设计实现方案

采用FPGA器件实现滤波器的设计和验证方法

光电脉冲编码器是一种集光、机、电为一体的用于检测机械位移或间接检测速度的光电传感器,根据其用于检测角....
发表于 2020-07-31 17:31 71次阅读
采用FPGA器件实现滤波器的设计和验证方法

基于复杂可编程逻辑器件实现数据采集系统的软硬件设...

以往的数据采集系统多数采用单片机、DSP等微处理器产生A/D转换芯片所需要的控制时序,以及通道转换所....
发表于 2020-07-31 17:23 150次阅读
基于复杂可编程逻辑器件实现数据采集系统的软硬件设...

LTC2753系列器件的性能特点及实现16位DA...

在工业过程控制设备、仪器仪表和自动测试设备中经常需要软件配置输出范围精度为16位的模拟输出。针对这种....
发表于 2020-07-31 16:38 51次阅读
LTC2753系列器件的性能特点及实现16位DA...

基于FPGA技术和CVSD编解码算法实现语音编解...

64 Kbit/s的A律或μ律的对数压扩PCM编码在大容量的光纤通信系统和数字微波系统中已得到广泛应....
发表于 2020-07-31 16:12 76次阅读
基于FPGA技术和CVSD编解码算法实现语音编解...

安装余压监控系统,为智能消防添一份力

随着社会经济的快速发展和经济结构的转型升级,消防工作面临挑战和压力与日俱增,传统消防安全基础建设越来....
发表于 2020-07-31 13:58 24次阅读
安装余压监控系统,为智能消防添一份力

油气罐车的无线监控系统的特点及应用方案

由于油气库多设立在偏远地区,而作为成品油及LNG的销售点的加油加气站又具备点多、线长、面广等特点,使....
发表于 2020-07-31 11:16 161次阅读
油气罐车的无线监控系统的特点及应用方案

油气库视频监控系统及周界报警防范系统的解决方案

可实现进出口车辆的抓拍及识别,并可实现对不正常热源的检测及实时报警。全面保护生产、员工及周界的安全,....
发表于 2020-07-31 11:11 104次阅读
油气库视频监控系统及周界报警防范系统的解决方案

电梯视频监控系统的干扰产生的原理和解决方案

电梯作为高楼载客/货的主要工具,在未来的使用将会越来越广泛,它是最普通的公共场所,所以在电梯中安装监....
发表于 2020-07-31 10:23 75次阅读
电梯视频监控系统的干扰产生的原理和解决方案

基于MEMS和单片机实现惯性测量组件的数据采集系...

首先简介ADISl6355AMLZ型MEMS的原理、构成及应用。在此基础上,搭建一个硬件平台,采用内....
发表于 2020-07-31 10:16 89次阅读
基于MEMS和单片机实现惯性测量组件的数据采集系...

如何选择正确的压力传感器

医用设备的灭菌是医疗中最重要的处理过程之一,可以杀灭医用和牙科设备上所有的活体微生物,包括细菌、孢子、病毒和真...
发表于 2020-07-31 06:30 0次阅读
如何选择正确的压力传感器

【MYMINIEYE Runber蜂鸟开发版免费试用连载】安装软件和申请license

1、高云的软件还是比较完善的,可以从官网下载http://www.gowinsemi.com.cn/faq.aspx 2、但是下载完还是需要申请...
发表于 2020-07-30 16:35 606次阅读
【MYMINIEYE Runber蜂鸟开发版免费试用连载】安装软件和申请license

可以直接将FPGA和那部分连接在一起吗?

嗨专家, 我有一个使用XC7K325T-2FFG900C的新设计,HP组的IO标准是LVDS18(1.8V LVDS),该组将...
发表于 2020-07-30 16:25 0次阅读
可以直接将FPGA和那部分连接在一起吗?

上电期间的FPGA I / O引脚是否应该处于三态?

大家好, 我目前正在研究基于thetrix xc7a35tfgg484-1的设计。 电源是: VCCINT - 1.0V VCCBRAM - ...
发表于 2020-07-30 09:51 0次阅读
上电期间的FPGA I / O引脚是否应该处于三态?