专栏中心

EEPW首页 > 专栏 > FPGA的乒乓帧技术在高速数据采集中的应用

FPGA的乒乓帧技术在高速数据采集中的应用

发布人:0750long 时间:2010-03-13 来源:工程师 发布文章
FPGA的乒乓帧技术在高速数据采集中的应用

 

 

目前在很多数据采集的场合,都要用到FPGA,主要作用是对数据进行一些处理,缓存,然后通过计算机总线(比如PCI总线或其他一些工业控制总线)上传到主机。这里就涉及到一个上传速度的问题,FPGA的程序如果设计不当,将会大大影响效率。

这片FPGA通常由这几个模块组成:数据宽度转换模块,缓存控制模块和接口控制逻辑模块。
数据宽度转换模块靠近FPGA的数据输入端,主要是转换数据传送的位宽,要使传到FPGA的数据尽量转换成与计算机总线数据宽度相同,以便提升速率。比如对于A/D转换后的8位数据,要通过32位的PCI总线上传,就要先把8位数据转换为32位的数据,这样可以最大限度地利用PCI总线的带宽。

接口控制逻辑模块靠近计算机的总线端,主要是对总线接口芯片的local端的信号进行控制,以达到通过接口芯片上传到主机的目的。比如对PCI接口芯片PCI9054而言,设计者就要读一下9054的datasheet,选定它的工作模式,然后按照该模式的时序图进行控制逻辑模块的设计,这部分可以用状态机来实现,比如s0 是idle状态,s1是读状态,s2是写状态等等,然后确定这些状态之间转换的条件即可。这部分一定要小心设计,要把datasheet中的时序图搞明白,不然如果设计不当,从主机上抓数据的时候很容易导致主机挂起而死机。

缓存控制模块是介于数据宽度转换模块和接口控制逻辑模块之间的,也是我重点要谈的一部分。在不同的应用场合,数据格式也不同,不过一般都是一帧一帧传输的,一帧数据的起始有帧头,有些也有帧尾还有其他校验位之类的,原理上都差不多。比较通常的做法是,FPGA把接收到的数据先存储在它外挂的RAM(一般采用SRAM)中,RAM的容量正好等于一帧数据的大小,存满RAM之后,再通过接口芯片进行上传。如果FPGA外挂一片RAM的话,要等到它存满之后才能开始上传工作,这会让效率打折扣,对一些要求高速传输的场合会造成影响。在这里介绍一种乒乓帧技术,可以大大提升传输速度。

所谓乒乓帧,就是FPGA外挂的两片RAM。FPGA可以先通过缓存控制模块将前端传来的数据写入一片RAM,同时控制接口逻辑模块将另一片RAM的数据上传到主机,实现了读写可以同时进行,这样就节省了很多PCI总线的等待时间,使效率大大提高,可以满足一些高速传输的应用。乒乓帧的实现也比较简单,可以用数据的帧头或者帧尾做控制出发信号,因为一帧数据完全写入一片RAM的标志是本帧帧尾或者下帧帧头的到来,捕捉到这个帧头或者帧尾就可以向接口芯片发出ready信号,表示数据准备好了,可以把数据上传了,然后上传的同时下一帧数据就可以写入另一片RAM。如此反复,直到数据传完,就如同打乒乓球一样,乒乓帧的说法正是由此而来。
总之,要看你的应用,如果对带宽要求不高,可以只用一片RAM,这样可以节省成本。但速度要求高一些的应用来说,最好采用乒乓帧的做法,会为你省去很多麻烦,让你的设计比较轻松就能满足要求。

专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词:

相关推荐

“hanshuyujifen2”的uCGUI移植成功演示视频

视频 2012-05-04

随着2026年初,6G标准化逐渐临近

“hanshuyujifen2 ”的串口控制输出方波频率视频

视频 2012-05-04

HBM刻蚀设备据称将进入超级周期

EDA/PCB 2026-01-16

OpenAI投资于脑机接口开发商Merge Labs

OpenAI 悄然推出支持25种语言的ChatGPT翻译

智能计算 2026-01-16

英伟达的新Rubin架构在网络领域蓬勃发展

EDA/PCB 2026-01-16

禁止中国实体使用美国和以色列网络安全软件

IMEC 在 UWB 上

物联网与传感器 2026-01-16

存储还要继续疯!英伟达ICMSP让闪存涨停,黄仁勋要一统存储处理器

CES 2026:首款固态车辆可能是摩托车

LCD/LED显示,A/D转换器

“asean”的以太网测试视频

视频 2012-05-04

触摸屏资料

“sacq”的STM32运行uCGUI演示的视频片段1

视频 2012-05-07

程序对比工具

“hanshuyujifen2”的按键中断和按键输入视频

视频 2012-05-04

台积电对人工智能泡沫担忧“非常紧张”

更多 培训课堂
更多 焦点
更多 视频

技术专区