异步FIFO和PLL在高速雷达数据采集系统中的应用
- 格式:pdf
- 大小:280.34 KB
- 文档页数:3
异步FIFO和PLL在高速雷达数据采集系统中的应用-设计应用1 引言随着雷达系统中数字处理技术的飞速发展,需要对雷达回波信号进行高速数据采集。
在嵌入式条件下,要求获取数据的速度越来越快。
精度越来越高,以致数据量及处理速度要求大增。
为避免数据处理不及时,发生数据丢失,影响系统可靠性,要进一步提高系统实时性,必须研究开发高速嵌入式雷达信号采集系统。
这里结合高速嵌入式数据采集系统,提出一种基于CvcloneⅢFPGA实现的异步FIFO和锁相环(PLL)结构来实现高速缓存,该结构可成倍提高数据流通速率,增加数据采集系统的实时性。
采用FPGA设计高速缓存,能针对外部硬件系统的改变,通过修改片内程序以应用于不同的硬件环境。
由于FPGA可重配置,可通过对其编程修改其电路功能,方便后续的系统升级。
2 高速雷达数据采集系统结构图1为高速雷达数据采集系统结构框。
通过下变频将接收的射频信号变换为适合A/D采样的中频信号。
再经A/D转换器转换为数字信号,然后FPGA中异步FIFO构成的高速缓存将中频采样数据变换为与存储器写时间相匹配的低速数据并存储到RAM中。
DSP及其他数据处理器通过与RAM或FIFO间进行数据传递,分析处理雷达回波信号,就可获取信号的特征和特征参数。
如果DSP不通过缓存而直接与A/D相连,在采样过程中,若A/D连续采样数据,DSP一直处于连续的间隔读数状态,这将占用DSP大部分处理时间,导致DSP不能进行其他工作。
也可能出现上的数据还没被DSP处理完,下采集过程就开始的情况。
如果选取更高速的A/D转换器,甚至会发生数据丢失,破坏系统的可靠性。
同时由于DSP不直接与A/D转换器相连,所以A/D转换器的升级或替代都不会影响原来的数据采集系统,且使用高速缓存后数据采集速率可达所采用的A/D转换器输出的速率,能充分发挥DSP算法处理功能强大、速度高的优势。
而采用CycloneⅢFPGA设计高速缓存,设计灵活、通用性强。
激光告警系统的异步FIFO设计付林【摘要】介绍了在激光告警系统中采用异步FIFO解决A/D数据采样与FPGA数据处理模块之间的不同速率匹配问题.在分析异步FIFO设计难点基础上,提出利用Gray码计数器作为读写地址编码,有效地同步了异步信号,避免了亚稳态现象的产生,给不同速率间的数据传输提供了一种有效的解决方案.同时采用Verilog语言描述,提高了硬件设计的可移植性,减少了系统的复杂性,提高了激光告警接收系统的可靠性.【期刊名称】《微型机与应用》【年(卷),期】2010(029)021【总页数】4页(P17-20)【关键词】激光告警接收系统;异步FIFO;Gray码【作者】付林【作者单位】中山职业技术学院,电子信息工程系,广东,中山,528404【正文语种】中文【中图分类】TN247快速在片激光告警接收系统中,A/D信号采样频率与FPGA中数据处理系统的工作频率往往不一致,因此在这种情况下,为避免数据丢失,需要设计一种数据缓存。
本文采用VerilogHDL语言设计了一种异步FIFO(时钟周期和相位相互独立),它不仅提供数据缓冲,而且能够实现不同时钟域间的转换等功能。
1 激光告警接收系统的数据采样和处理对于高速在片激光告警接收系统,具有较高的采样速率、低功耗、体积小以及相应的高抗干扰性能是提高其成功获取敌方激光武器有效数据的关键,而采用线性CMOS芯片和提高系统的集成度是实现小体积、低功耗的最经济、最有效的途经。
本系统采用Xilinx公司Spartan-Ⅲ系列芯片XC3S1500,设计完成异步FIFO缓存,包括采集控制电路、FFT数据处理、时钟控制信号、接口电路等。
激光告警接收系统的数据采样和处理框图如图1所示。
图1 激光告警接收系统的数据采样和处理框图2 异步FIFO设计异步FIFO由读、写地址逻辑,存储单元和空满标志逻辑四部分组成,如图2所示。
由图2可以看出,整个系统分为两个独立的时钟域 (读时钟域和写时钟域),FIFO的存储介质为一块双口RAM,可以同时进行读写操作。
FPGA⾼速ADC接⼝实战——250MSPS采样率ADC9481⼀、前⾔ 最近忙于硕⼠毕业设计和论⽂,没有太多时间编写博客,现总结下之前在某个项⽬中⽤到的⼀个⾼速ADC接⼝设计部分。
ADC这⼀器件经常⽤于⽆线通信、传感、测试测量等领域。
⽬前数字系统对⾼速数据采集的需求与⽇俱增,本⽂使⽤了⽶联客的⼀款速率较⾼的AD/DA模块ADQ9481来阐述利⽤FPGA设计⾼速ADC接⼝的技术要点。
⼆、ADC硬件特性分析 ⾸先必须通过datasheet分析其核⼼参数、接⼝定义和时序要求。
ADC9481的采样率为250MSPS,精度8bit。
其原理结构图如下: 主要引脚说明: CLK+-:差分时钟输⼊,信号频率为250MHz VIN+-:模拟信号输⼊,范围是1Vpp VREF:电压参考输⼊/输出,这⾥使⽤内部固定参考电压模式 SENSE:参考模式选择 D7A~D0A:通道A数字信号输出 D7B~D0B:通道B数字信号输出 DCO+-:数字差分时钟输出,信号频率为125MHz S1:数据格式选择,该接⼝电压决定数格式时原码还是补码 PDWN:低功耗选通 接下来看看接⼝时序: 很容易看出A和B两个数字输出通道是交替输出的,通道A在DCO+上升沿输出,B在DCO-上升沿输出。
DCO+-的频率仅是采样率250MHz的⼀半,也就是降低了对数字系统处理速率的要求。
三、ADC接⼝设计 根据上述时序关系可知,FPGA端需要在DCO+上升沿采集通道B数据,在DCO-上升沿采集通道A数据。
并且由于在DCO+-同⼀变化沿时刻,通道A为前⼀个数据,因此要注意数据的采集顺序。
这类数据采集的普遍做法是将数据存⼊到RAM中,然后利⽤本地时钟同步。
具体⽅法是:按照两通道的数据顺序对数据进⾏拼接,之后缓存到异步FIFO中。
本地PLL⽣成的125MHz时钟作为读侧和后续处理时钟信号。
这⾥就要利⽤Xilinx FPGA的“原语”中的IBUFDS+BUFG,依次是差分输⼊缓冲器和全局缓冲器。
异步FIFO在DSP图像采集系统中的应用卢博;王军【摘要】本文利用异步FIFO芯片作为TVP5150与DSP之间的缓冲,可以进行稳定的数据传输,并且简化了设计难度.以TI公司的TMS320VC5509A作为DSP图像处理器件,FIFO芯片采用可以存储一帧图像的P5150作为视频解码芯片,利用CPLD完成逻辑控制功能.给出了系统的整体架构,重点介绍了FIFO的特点,FIFO与TVP5150之间的硬件接口电路,FIFO与DSP之间的硬件接口电路,以及FIFO的读写指针复位和读写使能的控制.软件采用C语言对DSP进行编程,在CCS 中进行在线仿真,完成对整个系统的采集与处理控制,不仅增强了程序的易读性,而且增强了系统的可移植性.【期刊名称】《单片机与嵌入式系统应用》【年(卷),期】2015(015)001【总页数】4页(P57-59,63)【关键词】异步FIFO;TVP5150;DSP;中断;CPLD【作者】卢博;王军【作者单位】重庆邮电大学信号与信息处理重庆市重点实验室,重庆400065;重庆邮电大学信号与信息处理重庆市重点实验室,重庆400065【正文语种】中文【中图分类】TP316基于DSP的图像采集与处理系统与传统的PC端的系统相比,具有功耗低、携带方便、处理速度快的特点,被广泛使用在图像采集与处理领域。
DSP(Digital Signal Processor)芯片也称数字信号处理器,是TI公司推出的专用于数字信号处理系统中进行算法处理的微处理器器件。
DSP采用哈佛结构总线设计,程序存储器和数据存储器分开,取值和数据访问可以同时进行。
DSP还使用流水线操作,使得多条指令重叠进行操作,可以有效地提高指令执行效率。
此外,DSP还拥有独立的硬件乘法器,在处理滤波、卷积等运算时具有很快的速度,因此,DSP特别适合在图像采集与处理系统中作为核心器件[1]。
视频采集端的视频解码芯片使用TVP5150,将采集到的模拟图像信号转换成数字图像信号。
基于FPGA的异步FIFO设计与实现王伟国;张振东【摘要】随着现代数字电路系统密度和规模的不断扩大,一个系统中通常会包含多个时钟,因此不同时钟之间的数据传输成为亟待解决的问题.而一种可靠易行的解决方案就是异步FIFO.异步FIFO需要非常严格的多时钟技术,难以作出正确的设计合成和分析.本文提出了一种利用格雷码作为读写地址计数器的异步FIFO的设计方法,有效的避免了数据在不同时钟时间传输时遇到的亚稳态问题.并给出了综合仿真结果.%With the expanding of the density and scale of modern digital circuitry,a system will contain multiple clock.Therefore,the transfer of data between different clock becomes a serious problem needs to be solved.A reliable and feasible solution is asynchronous FIFO.Asynchronous FIFO require very strict clock technology,it is difficult to make the correct design of synthesis and analysis.This paper presents a design method of asynchronous FIFO which based on read/write counter in terms of gray code.This method effectively avoid the metastable state in the data transmission between different clock and given a comprehensive simulation results.【期刊名称】《聊城大学学报(自然科学版)》【年(卷),期】2012(025)003【总页数】6页(P79-84)【关键词】多时钟;异步fifo;verilog;HDL;格雷码【作者】王伟国;张振东【作者单位】中国科学院长春光学精密机械与物理研究所,吉林长春130033;中国科学院长春光学精密机械与物理研究所,吉林长春130033/中国科学院研究生院,北京100039【正文语种】中文【中图分类】TN4330 引言随着现代数字电路系统的实时数据处理能力的不断提高,逻辑电路的复杂程度和内核处理器的运算速度也快速增长,在使得一些复杂算法得以实现的同时也加剧了快速CPU与慢速外设之间的冲突.异步FIFO大量数据缓存的能力成功的解决了这一问题,但专用的高速异步FIFO芯片价格昂贵,且容量受限,随着现场可编程逻辑器件容量和速度的不断提高,利用现场可编程逻辑器件设计异步FIFO成为可行的方法.本文首先讨论了异步FIFO设计中经常出现的亚稳态问题和二进制计数器多位同时改变的问题,并给出解决办法,然后讨论了两种格雷码计数器的形式并作出比较,最后给出一种以格雷码为读写地址计数器的异步FIFO的设计方法和在设计异步FIFO时必须要注意的细节.1 多时钟电路中的亚稳态问题在一个时序电路中,合理的建立时间和保持时间是触发器正常工作的前提条件.对于下降沿触发的触发器而言,下降沿触发之前输入数据持续的最短时间是建立时间(setup time),下降沿触发之后输入数据持续的最短时间是保持时间(hold time).当电路时序不能满足setup time/hold time的要求时,系统时序就会出现混乱.在异步时序电路中,不同时钟之间是不存在任何关系的,必然会产生建立时间和保持时间冲突.解决系统时序问题常用双锁存器法如下图1所示,即在不同时钟之间传输数据时连续锁存两次.但是这种方法只是保证了电平的稳定,而在实际的系统中还需要FIFO作为不同时钟之间传输多位数据的接口.图1 避免亚稳态出现的双锁存器法2 异步FIFO指针对于同步FIFO来说,使用一个计数器计算读出和写入到FIFO缓存器中的数据量,计数器在只有写没读是递增,只读没写是递减,既读又写和没读也没写时保持不变.当计数器到达设定值时FIFO满信号置位,为零时空信号置位.在异步FIFO中,由于这种计算数据个数增减的计数器会被两个不同的时钟控制,因此这种计数器不能使用.所以,为了决定FIFO“空”和“满”状态,读指针和写指针必须相互比较.设计FIFO最主要的困难是生成FIFO指针和找到一个决定FIFO“空”和“满”状态的可靠方法.在FIFO设计中,读指针和写指针总是指向下一个要读和写的地址空间.当读或写操作完成后指针自动递增,当FIFO是空时读指针和写指针相等,当FIFO满时读指针和写指针也是相等.一种解决的方法是增加一个多余的MSB位来区分两种状态,当写指针递增超过地址范围时,写指针会递增MSB位,其他位清零,读指针同样也是.当读指针和写指针的MSB位不同时,意味着写指针比读指针多走了一圈,当MSB位相同时意味着走的圈数相等(如图2所示)图2 增加多余MSB后区分FIFO空和FIFO满的方法示意图当FIFO存储缓冲区需要(n-1)位地址时,地址指针用n位,当指针相等(包括MSB位)时空标志置位,当指针低(n-1)位相等且MSB位不等时满标志置位.2.1 二进制FIFO指针的情况二进制地址计数量会有多个位同时变化,因此在把二进制量在不同时钟域之间同步时会出现问题.一个解决的方法是取样并把周期计数量寄存在一个保持寄存器中,并发出一个ready信号,新时钟域收到信号并发出确认信号,这样变化的计数量就安全的传送到新时钟域.用这种方法不会产生上溢和下溢,因为当读指针递增到与写指针相等时,空信号置位,取样的写指针不反映当前写指针的值,而是小于当前值,故永远不能产生下溢,满信号也是如此.最常用的解决方法是用格雷码计数器,格雷码在每个时钟只有一位变换可以极大的减少在同步计数时错误的发生.3 格雷码计数器设计格雷码计数器的方法有很多,这里介绍二种简单直接的方法.下面详细介绍两种方法.3.1 格雷码计数器中的问题为了更好的理解把n-bit计数器转换成(n-1)-bit计数器时出现的问题,先考虑一下一个双重4-bit和3-bit格雷码计数器的例子如图3.图3 4-bit格雷码计数器示例及转换成3-bit格雷码时出现的问题在4-bit计数器中除了MSB位其余位关于中间对称,我们把2nd MSB位反相后,上半部分与下半部分的LSBs便相等.但是经过反相操作后整体便不是格雷码了,例如15(1100)到0(0000)的转变过程有两个bits变化,在下面的第一种格雷码计数器中会有解决方法.3.2 第一种格雷码计数器图4是第一种计数器的框图并是双重格雷码计数器中两个bits同时跳变的解决方法.其中假设输出寄存器的值是格雷码(ptr),此格雷码被输出到格雷码到二进制的转换器中,然后通过一个有条件递增的加法器并输出下一个格雷码值(gnext),连接到输出寄存器的输入端,如框图上半部分所示.(n-1)-bit格雷码简单地通过n-bit格雷码的2个MSBs的异或操作产生,(n-2)个LSBs不变.图4 第一种格雷码计数器示意图及其如何避免了两位同时跳变问题3.3 第二种格雷码计数器此种风格的格雷计数器(如图5所示)用了两组寄存器避免了把格雷码转换成二进制数的步骤.而且第二组寄存器也可以直接用来寻址FIFO存储器.n-bit格雷码指针仍然需要同步到不同的时钟域中.二进制指针可以更容易的通过计算产生“几乎满”和“几乎空”信号.因此在本论文的设计中用此种风格的格雷码计数器.图5 第二种格雷码计数器工作示意图4 总体设计及“空”和“满”信号的产生总体设计如图6所示,本设计方案共有四个模块,双口RAM模块,读控制模块,写控制模块,格雷码同步模块.写控制模块主要是当写使能信号有效且写满信号无效时产生写地址并实行地址递增功能,读控制模块实现相似功能,双口RAM模块用来使缓冲数据其读写动作可同时进行.4.1 “空”和“满”信号的产生“空”信号的产生比较简单,只需同步到读时钟域的写地址格雷码与n-bit的读指针的格雷码完全相等即可代码如下图6 异步FIFO总体设计框图及其信号说明但是,“满”信号的产生就没那么容易,简单地用n-bit格雷码作比较判断“满”信号是不可靠的.因为格雷码除了MSB位外是对称的如图3所示.在图3中假如写指针和读指针都指向地址7,此时写指针递增一次后,写指针指向地址8,读指针和写指针相比较,除了MSB位不同外其余各位均相等,满信号此时有效,但这是不符合实际情况的,错误的.这也是为什么在图4中应用双重n-bit格雷码计数器的一个原因.正确判断满信号的条件是:读写指针的n-bit格雷码的前两个MSBs都不相等,其余的写指针和同步读针相等.代码如下4.2 不同时钟速度因为异步FIFO被两个不同的时钟控制,很明显两个时钟运行在不同的速度下.当把较快的时钟同步到较慢的时钟时,会有一些计数值被跳过.当被同步的格雷码递增两次只被取样一次时也不会出现亚稳态问题,因为亚稳态出现在同步时钟上升沿附近有多位同时跳变时,而在两个同步时钟沿之间有格雷码跳变两次,第一次跳变距离同步时钟条边沿较远,只有第二次跳变在同步时钟沿附近,故不会产生亚稳态.当较快的格雷码计数器在较慢时钟沿之间递增多于一次,不会出现已经溢出却没有检测到的现象,因为同步到写时钟域的读指针滞后于当前的读指针,而写指针只会小于或等于同步读指针,故不会出现溢出.5 设计仿真及总结本设计采用Xilinx公司Spartan3A系列的XC3S1400A,封装时PG484,速度是-4,仿真器是ISE Simulator(VHDL/Verilog),硬件描述语言是Verilog,开发工具是ISE.最后对电路进行时序分析,结果为该FIFO运行速度可达到90.63MHz.wclk、rclk时钟周期分别为:75MHz、80MHz.先向FIFO中写入18个数据,当第16个数据被读入后wfull立即被置位如下图7.图7 写满仿真结果同时向FIFO中写入和读出数据,由于wptr要经过两个读周期才能同步到读时钟域,故在waddr递增后的第二个rclk的上升沿rempty才清零如下图8所示.本文对异步FIFO的结构和重要时序问题给予了详细的阐述,并得到了可靠的仿真结果.在高速数据采集系统中,采用高性能FPGA作为数据预处理和高速异步FIFO 作为数据采集缓存的应用都十分广泛.把FIFO集成在FPGA中简化了电路设计的复杂程度,增加了电路的集成化程度和可靠性,是未来高速数据采集系统的重要发展方向.图8 同时写入读出时的仿真结果参考文献【相关文献】[1] Clifford E.Cummings,Synthesis and Scrip ting Techniques for De signing Multi-Asynchronous Clock Designs[A].SNUG-2001,2001(3):2-8.[2]吴自信,张嗣忠.异步FIFO结构及FPGA设计[J].单片机及嵌入式系统应用,2000,22(3):1.[3]赵雅兴.FPGA原理、设计与应用[M].天津:天津大学出版社,1999.[4]夏宇闻.数字系统设计-Verilog实现[M].北京:高等教育出版社,2006.[5]王金明.Verilog HDL程序设计教程[M].北京:人民邮电出版社,2004.。
一种实现高速异步FIFO的FPGA方法
黄忠朝;赵于前
【期刊名称】《计算机工程与应用》
【年(卷),期】2010(046)003
【摘要】在跨时钟域传递数据的系统中,常采用异步FIFO(First In First Out,先进先出队列)口来缓冲传输的数据,以克服亚稳态产生的错误,保证数据的正确传输.但由于常规异步FIFO模块中的RAM存储器读写寻址指针常采用格雷码计数器以及"空满"控制逻辑的存在,将使通过这两个模块的信号通路延时对整个模块的工作频率造成制约.提出了一种在FPGA内实现高速异步FI-FO的方法,该方法针对不可能产生满信号的高频系统,通过省略"满"信号产生模块和多余的存储器位深来简化常规的FIFO模块,而只保留"空"信号产生模块.仿真和综合设计结果表明,整个模块的工作频率得到一定提高.
【总页数】4页(P13-15,26)
【作者】黄忠朝;赵于前
【作者单位】中南大学,信息物理工程学院,生物医学工程系,长沙,410083;中南大学,信息物理工程学院,生物医学工程系,长沙,410083
【正文语种】中文
【中图分类】TP752.1
【相关文献】
1.基于FPGA的高速大容量异步FIFO的实现 [J], 滕明晖;杨瑞峰
2.一种高速大容量异步FIFO的实现方法 [J], 李玉发;孙靖国;李涛
3.基于FPGA的高速异步FIFO的设计与实现 [J], 唐清善;费玮玮;蔡惠智;李亚捷
4.一种基于音频解嵌的异步FIFO设计及FPGA实现 [J], 刘飞;卢结成;姜文奇;刘玉梅
5.基于FPGA的高速异步FIFO存储器的设计与实现 [J], 罗先哲;张仁喆;付大鹏因版权原因,仅展示原文概要,查看原文内容请购买。
现代电子技术Modern Electronics TechniqueOct. 2023Vol. 46 No. 202023年10月15日第46卷第20期0 引 言毫米波通信具有波束窄、尺寸小、探测能力强等优点[1],已成为当前移动通信研究的热点。
早期毫米波雷达主要应用于军事领域,近年来随着雷达技术的发展,毫米波雷达传感器开始应用于汽车电子、无人机、智能交通等民用领域[2⁃3]。
毫米波雷达具有精度高、抗干扰能力强、全天候全天时、高分辨率、多目标等优点。
2017年5月16日,美国德州仪器(TI )全球发布了AWR 和IWR 两个系列的毫米波雷达传感器,面向汽车领域和工业领域。
本文使用TI 公司的毫米波雷达AWR1243boost 开发板作为系统的射频前端传感器。
AWR1243器件是一款能够在76~81 GHz 频带内运行的集成式单芯片FMCW 收发器,主要集成了小数分频PLL 、发射器、接收器、基带和ADC ,具有4 GHz 的可用带宽、3个发射通道和4个接收通道。
AWR1243评估板上还集成了77 GHz 毫米波MIMO 天线、频率为40 MHz 的时钟晶振、与外部处理器进行控制连接的SPI 接口以及与外部处理器进行数据连接的MIPI D⁃PHY 和CSI2 V1.1接口[4]。
AWR1243芯片的架构如图1所示。
针对毫米波雷达射频前端的高速数据,毫米波雷达采集数据系统应具有高数据采集速率、大数据容量以及较高的可移植性等特点。
现场可编程门阵列(Field Programmable Gate Array, FPGA )具有并行运算能力强、实时性好等优点,可以满足毫米波雷达射频前端高速数据的需求。
本文提出一种以FPGA 、USB 为数据传DOI :10.16652/j.issn.1004⁃373x.2023.20.006引用格式:孙黄悦,于映.毫米波雷达数据采集系统设计[J].现代电子技术,2023,46(20):28⁃32.毫米波雷达数据采集系统设计孙黄悦, 于 映(南京邮电大学 集成电路科学与工程学院, 江苏 南京 210023)摘 要: 随着毫米波雷达逐渐民用化,毫米波通信已成为当前移动通信的研究热点。
高速多通道数据采集传输系统的设计*赵忠凯,尹达,刘海朝【摘要】摘要:设计了一种基于FPGA与DSP的高速多通道实时数据采集传输系统。
该系统通过FPGA实现对时钟、ADC、DSP等芯片的功能配置,采集数据由FPGA预处理后通过EMIF接口传送至DSP,并完成后续的复杂信号处理。
该系统最高数据采集速率可达500 MSPS,FPGA与DSP之间可实现高速率的数据传输。
实际测试结果表明,该系统实现了多通道数据的实时同步采集、传输与处理,数据采集达到较高性能,能够满足当前复杂电磁环境下精确制导雷达数据处理分析的需求。
【期刊名称】火力与指挥控制【年(卷),期】2015(000)012【总页数】5【关键词】多通道,高速数据采集,EMIF,FPGA&DSP0 引言当前电磁信号环境越来越复杂,电磁信号密度已达到百万量级[1],这就要求雷达信号识别处理系统必须具备快速、准确识别威胁的能力,能够为之后作战提供及时可靠的信息。
随着一些新算法的出现,信号处理复杂度越来越高,动态范围也要求越来越大,信号的通道数也越来越多,因此,多通道信号的采集处理已成为当前雷达数字接收机的发展趋势。
传统的信号采集和传输方法已不能完全满足当前复杂电磁威胁环境下信号处理机对处理数据的要求[2],必须应用更精确更高速的采集系统,保证电子战环境中的主动权,所以对雷达信号高速多通道采集传输系统的研究具有重大且深远的意义。
FPGA具有强大的数据并行处理能力,能够满足高速ADC的数据处理要求,非常适合作为本系统的逻辑控制核心。
高性能多核DSP的高速运算能力使其适合选作复杂算法的主处理芯片[3]。
1 系统总体方案雷达信号高速多通道数据采集传输系统总体框图如图1所示。
设计中所选用的ADC芯片数据转换速率最高可达500 MSPS。
FPGA芯片选择Altera公司Stratix III系列的EP3SL200F1152C2,DSP芯片选择TI公司的TMS320C6678。
1引言
随着雷达系统中数字处理技术的飞速发展,需要对雷达
回波信号进行高速数据采集。
在嵌入式条件下,要求获取数
据的速度越来越快,精度越来越高,以致数据量及处理速度要求大增。
为避免数据处理不及时,发生数据丢失,影响系统可靠性,要进一步提高系统实时性,必须研究开发高速嵌入式雷达信号采集系统。
这里结合高速嵌入式数据采集系统,提出一种基于Cyclone ⅢFPGA 实现的异步FIFO 和锁相环(PLL )结构来实现高速缓存,该结构可成倍提高数据流通速率,增加数据采集系统的实时性[1]。
采用FPGA 设计高速缓存,能针对外部硬件系统的改变,通过修改片内程序以应用于不同的硬件环境。
由于FPGA 可重配置,可通过对其编程修改其电路功能,方便后续的系统升级。
2高速雷达数据采集系统结构
图1为高速雷达数据采集系统结构框图。
通过下变频将接收的射频信号变换为适合A/D 采样的中频信号,再经A/D 转换器转换为数字信号,然后FPGA 中异步FIFO 构成的高速缓存将中频采样数据变换为与存储器写时间相匹配的低速数据并存储到RAM 中。
DSP 及其他数
图1高速雷达数据采集系统结构框图
2009年10月Oct.2009
第17卷第10期
Vol.17No.10
电子设计工程
Electronic Design Engineering -91-
据处理器通过与RAM 或FIFO 间进行数据传递,分析处理雷达回波信号,就可获取信号的特征和特征参数。
如果DSP 不通过缓存而直接与A/D 相连,在采样过程中,若A/D 连续采样数据,DSP 一直处于连续的间隔读数状态,这将占用DSP 大部分处理时间,导致DSP 不能进行其他工作。
也可能出现上一次的数据还没被DSP 处理完,下一次采集过程就开始的情况。
如果选取更高速的A/D 转换器,甚至会发生数据丢失,破坏系统的可靠性。
同时由于DSP 不直接与A/D 转换器相连,所以A/D 转换器的升级或替代都不会影响原来的数据采集系统,且使用高速缓存后数据采集速率可达所采用的A/D 转换器输出的最高速率,能充分发挥DSP 算法处理功能强大、速度高的优势。
而采用Cyclone ⅢFPGA 设计高速缓存,设计灵活、通用性强。
整个系统具有实时性高、体积小、开发周期短、易于维护和扩展、适于实时信号处理等多个优点。
高速雷达数据采集系统的设计主要包括高速A/D 转换电路、读写控制逻辑电路、由双时钟FIFO 构成的高速缓存电路、锁相环、外部有源晶振等,尽量选用高速器件以提高数据采集系统的瞬时带宽和存储深度。
高速A/D 转换器采用MAX101A ,其最高采样速率可达到
500Ms/s ,采样精度为8bit ,该器件属于直接转换式模数转换
器即Flash A/D 转换器,其特点是速度快,内置1.2GHz 带宽的采样保持放大器,特有的量化设计使其具有较好的动态特性。
如果采集系统需更高的采样速率,可使用多片A/D 交替采样[2]。
FPGA 采用EP3C120,EP3C120利用65nm 低功耗工艺,不但实现低功耗,还具有丰富的逻辑(120KB 逻辑单元)、存储器(高达4Mbit ),及数字信号处理资源(288个DSP 乘法器)。
EP3C120的低功耗特性和其大容量的存储器使其非常适合嵌入式高速雷达数据采集系统设计。
采用异步FIFO 构成的高速缓存即是使用FPGA 中高达4Mbit 容量的存储器。
由于该器件具有乘法器,可辅助DSP 器件完成一些计算密集型的算法。
由于一般采用晶振作为时钟源,通过上下变频得到各个单元需要的时钟,但这又提高了系统的复杂度。
这里采用Cyclone Ⅲ系列FPGA 可方便地解决此问题,
EP3C120内部集成有4个PLL 单元,各个PLL 可为不同模块
提供不同的时钟,只需为系统提供一个高稳定的晶振,通过
PLL 单元进行时钟上下变频即可。
3基于FPGA 实现异步FIFO 设计
异步FIFO 是在两个相互独立的时钟域下,数据在一个
时钟域写入FIFO 而在另一个时钟域又从该FIFO 中将数据读出。
异步FIFO 通常被用来将数据从一个时钟域安全地传送到另一个时钟域。
FIFO 可作为A/D 转换器件和DSP 间的桥梁。
使用FIFO 作为输入缓冲,由A/D 转换器件把采样转换的值同步写入FIFO ,每写入一块数据便向DSP 发出一个信号,以提醒DSP 从FIFO 中读取数据块。
这样比单次读的效率
要高的多,不会有数据丢失,且仅占用少量的系统资源。
设计一个异步FIFO ,读写使能由不同的时钟激励控制输入和输出数据,空/满标志既用来防止数据的上溢和下溢,也作为写入/读出控制逻辑的输入信号,用来控制A/D 数据采样过程和对DSP 数据的传输。
当FIFO 输出满标志时,写入控制逻辑停止A/D 采样,等待满标志无效时恢复数据采样,从而防止数据丢失。
当FIFO 输出空标志时,读出控制逻辑停止
DSP 的数据读取,等待空标志无效时恢复数据读取[3]。
图1中FPGA 内的写入/读出控制逻辑使用有限状态机设计,有限状
态机能有效的进行读写时序控制,根据A/D 和处理器的时序控制原理画出状态转移图,进行编程设定。
FIFO 的参数指标直接影响数据采集速度。
首先,FIFO 的
读写速度要足够快,其工作频率至少要大于等于A/D 转换器件的采样率,才能充分发挥A/D 转换器件的高采样率并保证无数据丢失。
其次,FIFO 的存储容量要适宜,容量过大会造成资源浪费,容量过小会造成溢出或数据采集速度过慢。
系统
FIFO 采用EP3C120实现。
由FPGA 实现异步FIFO 时,可方
便的根据A/D 转换器的采样精度和DSP 数据宽度设计FIFO 的输入数据宽度和输出数据宽度,且采用PLL 设计后,可方便的调整FIFO 写入端和读出端的时钟频率,使FIFO 设计的高速缓存具有一定的通用性。
异步FIFO 是在Quartus Ⅱ开发环境下利用其IP 核设计的,该设计的异步FIFO 可支持高达
256位的数据宽度;支持存储的最大深度可达131072words ,同时支持空满标志位。
表1给出系统在不同存储深度
时消耗FPGA 片内资源的情况。
可见,针对不同的数据采集需求,可利用Altera 公司提供的参数化的IP 核方便的选择
FIFO 的数据位宽度及存储深度,避免资源浪费[4]。
考虑到前端A/D 转换速度快,精度为8位,后端DSP 的处理位数一般可做到32位,为提高系统实时性,采用输入数据宽度为8位,输出宽度为32位的双时钟FIFO ,如图2所示。
图3为对FIFO 仿真的结果。
双时钟FIFO 输入为8位、输出为32位,且FIFO 两端的读写时钟频率不同。
分析系统的吞吐率:由于A/D 数据输入端口的速度固定,数据按采样频率输入FIFO ,因此输入数据的时间是不变的,而DSP 一次访问可取走4个有效数据,大大增加DSP 读取数据的吞吐率,提高系统实时处理能力。
图2
输入输出宽度不同的异步FIFO
《电子设计工程》2009年第10期
-92-
王凌,等异步FIFO 和PLL 在高速雷达数据采集系统中的应用
5结论
本文在Cyclone ⅢFPGA 中实现异步FIFO 和锁相环
(PLL )结构的设计,避免复杂的时钟管理,简化电路设计,方便采集系统进行升级维护。
高速缓存的设计使采集数据能的安全地实现数据跨时钟域的传递,提高了数据采集系统的可靠性。
参考文献:
[1]Altera Corporation Cyclone.Ⅲdevice handbook[Z].Altera
Corporation ,2008.
[2]王振峰.1GHz 数字射频存储器的设计[D].南京:南京航空
航天大学,2002.
[3]张维旭,贺占庄.基于FPGA 的异步FIFO 设计[J].计算机技
术与发展,2006,16(7):960-962.
[4]倪东,钟波.ADS8323与高速FIFO 接口电路的CPLD 实
现[J].微计算机信息,2007,23(7):174-175.
[5]陈永东.基于FPGA 的数字锁相环的设计[J].遥测遥控,
2007,28(5):49-52.
[6]张栗榕,张梨,石光明.基于FPGA 的PLL 动态配置设计
与实现[J].电子科技,2008,21(5):37-41.
图3FIFO 时序仿真。