|
实际应用过程中,DSP和FPGA程序设计往往是由不同的设计人员分工完成,在最后系统联调时,这两者之间的数据传输经常占用大量的调试时间,成为约束工程进度的关键凶素。因此,DSP与FPGA间接口和传输方式的选择与设计,是系统设计中必须要考惑的问题。
导引头信号处理的一个特点是,FPGA要传输给DSP的数据比较多,需要传递幅度信息,和差支路数据等十几组数据.每组数据长度在512~2K,而且读取速度要求也比较高,一般要求百兆以上的读取频率。经过工程实践表明,采用通过EDMA通道同步读取FIFO的方式实现通信是非常有效的方法。但是接口处的FIFO比较多,而且读取速度有比较高,这势必导致FPGA内部对接口处资源的竞争,甚至会导致时序的不满足。在实际工程调试中表现在DSP接收到的数据乱序,周期循环甚至乱码。
要解决好FPGA和DSP的数据交互问题,要注意以下两个方面。
三态门的设计
DSP和FPGA的互连采用了总线连接的方式,数据交互是通过一个32位的双向数据总线来完成的,而要实现双向总线,就需要使用FPGA构造三态总线了,使用三态缓冲器实现高、低电平和高阻三个状态。
FPGA给DSP发中断信号,DSP在中断信号到来时,根据系统要求,将不同的控制字写入数据总线,然后通过数据总线从FPGA中不同的FIFO中读取数据,这一切都通过DSP在地址线上给出不同的地址来完成。为了合理分配总线的使用,设计当中使用这样的策略:利用片选信号aace3,地址aaea[9:0]作为三态缓冲器的控制信号,由于DSP对FPGA的读写地址都不同,当片选信号aace3有效时,FPGA根据地址来确定凑写方式以及读写那些信息,否则置为高阻态,这样就避免了可能产生的的总线阻塞现象,使DSP和FPGA之间的数据交互能够顺利进行,示意图如图5所示。
加有效的时序约束
由于接口FIFO比较多,为了合理分配FPGA内部接口处的资源,满足系统的时序要求,需要加必要的时序约束。因为本设计采用Xilinx公司芯片,所以需要加偏移约束2。
偏置约束可以优化以下时延路径:从输入管脚到同步元件偏置输入;从同步元件到输出管脚偏置输出。为了确保芯片数据采样可靠和下级芯片之间正确交换数据,需要约束外部时钟和数据输入输出引脚问的时序关系。偏置约束的内容告诉综合器,布线器输入数据到达的时刻或者输出数据稳定的时刻,从而保证与下一级电路的时序关系。更多关于约束的内容请参阅文献。
|
|