有一个问题值得注意,两个FIFO在本次读取完成之前,有可能再次达到半满状态,使得“与”门提前产生上升沿,而当本次读取完成后,“与”门输出已保持为高电平,不会再产生上升沿来触发新的中断,而中断是靠上升沿触发的,所以会导致传输停止。为了解决这个问题,将DSP计时器的TINP0管脚配置为通用I/O口,也与“与”门输出相(接上页)
连,用来辅助检测FIFO的半满状态。这样当本次读操作完成时,如果检测TINP0口为“1”,说明FIFO又一次都达到半满,则再次启动DMA进行数据传输。因此,在程序设计进入外部EXT_INT中断服务程序时,首先屏蔽EXT_INT,保证在本次DMA传输中不对中断的任何触发做出响应,然后启动DMA进行本次数据传
3 布线调试经验及结论
由于本模块涉及模数混合的高速电路设计,所以电路板应严格分为模拟区和数字区,以ADC作为两区的交界。内层地也应相应分为数字地和模拟地,并在ADC附近通过磁珠在一点相连,以消除数字地对模拟地的干扰。ADC的时钟与模拟信号的输入应尽量隔离,晶振放置应尽量远离供电电路。对于FIFO,为了使LDCK、UNCK、HF、RESET等信号正确且波形良好,保证数据的读取不会产生丢失和误读,应减少对这些信号线的干扰,可采取走线适当加粗、加信号包地的措施。在实际调试过程中发现,由于AD6644的DRY信号输出的驱动能力较小,使得FIFO数据有时发生漏读现象。采用门电路进行整形和驱动,漏读现象可得到解决。
本设计通过少量集成芯片辅以很少的分立元件,实现了 中频数字处理 模块的功能,并且精度和可靠性都有一定的保证。在ADC与DSP之间通过奇偶数据分离的FIFO缓冲接口,在降低数据率的同时,还能为后续多相滤波等算法提供奇偶分离。经过调试,该接收系统在输入中频为5.12MHz、带宽为2.56MHz的模拟信号时,其采样精度可保证在12位以上,满足了DSP信号处理的要求。