基于FPGA+DSP的雷达高速数据采集系统的实现
3.2 异步FIFO接口时序
AD9235与FPGA接口设计应仔细考虑ADC转换时钟、FIFO写时钟及所选中间逻辑器件的时序和延时特性,以保证正确地设置采样时钟。AD-9235的采样数据在延时7个采样周期后出现在数据线上,图4为A/D与FIFO接口时序。
图4 A/D与FIFO接口时序
读FIFO操作,利用EMIF外部存储器的控制信号,包含有:输出使能位和读使能以及外部空间片选信号。读写时序如图3,输出使能和外部空间片选信号低时,异步FIFO读使能RD_EN有效,当读使能位为低时,待读出的数据进行初始化,随后会跳变为高电平,异步RD_CLK端产生上升沿,此时异步FIFO中数据被读出。图1中的HALF_FULL位直接与TMS320C6201外部存储区域中断EXT-INT5触发连接,当FIFO缓存达到半满时,上升沿触发DSP外部中断,DSP启动DMA(直接数据存储)以突发方式读取FIFO数据,在时钟CLOCKOUT1下读取FIFO存储数据。EMIF与FIFO的读逻辑关系为;。
图5为异步FIFO仿真图,输入数据宽度12位,输出数据宽度为24位。读时钟为50置MHz,写时钟为30 MHz。
和读使能
以及外部空间片选信号
。读写时序如图3,输出使能
和外部空间片选信号
低时,异步FIFO读使能RD_EN有效,当读使能位
为低时,待读出的数据进行初始化,随后会跳变为高电平,异步RD_CLK端产生上升沿,此时异步FIFO中数据被读出。图1中的HALF_FULL位直接与TMS320C6201外部存储区域中断EXT-INT5触发连接,当FIFO缓存达到半满时,上升沿触发DSP外部中断,DSP启动DMA(直接数据存储)以突发方式读取FIFO数据,在时钟CLOCKOUT1下读取FIFO存储数据。EMIF与FIFO的读逻辑关系为
;
。
图5为异步FIFO仿真图,输入数据宽度12位,输出数据宽度为24位。读时钟为50置MHz,写时钟为30 MHz。
图5 异步FIFO仿真图
4 设计应注意问题
若用异步FIFO中的FULL信号作为中断源,满信号位FULL有效,触发DMA开始传输,在满信号和DMA传输之间,A/D采集时钟仍然驱动A/D转换器,会覆盖之前存储的采集数据,造成数据丢失;若采用HALF-FULL信号作信号标志位,半满时候,开始DMA传输,不用中断数据采集,由于A/D写入速度低于EMIF读出速度,也不会造成数据覆盖。
FPGA内部的异步FIFO数据总线与TMS320C6201的数据总线相连,应注意数据采集与TMS320C6201访问外设间的总线冲突。应保证没有长时间占用数据总线的外部设备,否则造成采集数据丢失。
5 结论
针对雷达的回波信号,设计基于FPGA与DSP的高速数据采集系统,介绍了雷达前端信号A/D外围转换电路,利用DCM和异步FIFO实现ADC与高速DSP间的数据缓冲,以保证采集数据的有效传输。系统采样率为30 MHz,采样精度为12位,异步存储缓冲FIFO大小为6 kbits,能较好地满足高速采集要求。FIFO与DSP采用24位数据接口,读取FIFO采用DMA数据传输,较充分利用DSP资源,提高了系统实时处理的能力。
评论