DPRAM空间分配和数据交换流程
本文是PKSPEC 405EP-FPGA板上DPRAM接口的内存空间分配,以及与DSP板交换数据的操作流程。
405EP-FPGA板上DPRAM实际上有64K Bytes,其中前32Kbytes是PPC向DSP发送数据的缓冲区,而后32Kbytes是DSP向PPC发送数据的缓冲区。
前32Kbytes是一个整体,也就是说,PPC每次向DSP发送的数据不超过32Kbytes。
后32Kbytes被分成两个16Kbytes,目前计划每次DSP向PPC发送的数据为16Kbytes,最后的16Kbytes做为预留。
系统的内存分配图如下所示:
图1,系统DPRAM分配示意图
数据交换流程分为两个部分,一个是PPC向DSP发送数据的流程;一个是DSP向PPC发送数据的流程。
PPC向DSP发送数据流程如下:
首先,PPC向发送缓冲区(32Kbytes)写入数据。
写入完成以后,PPC将输出GPIO1置低,然后置高,也就是输出一个低电平有效的低脉冲。
DSP接收到该脉冲以后,从发送缓冲区(对DSP来说是接收缓冲区)接收数据。
总数据量不超过32Kbytes。
至此,PPC到DSP的数据流程结束。
PPC从DSP接收数据流程如下:
DSP不断处理模拟前端的数据,并且将准备好的数据不断写入DPAM的接收缓冲区的前16Kbytes(对DSP来说是发送缓冲区)。
等到16Kbytes写入完成之后,DSP从输入GPIO1给PPC的中断发送一个低电平的中断信号。
PPC接收到中断以后,进入中断处理程序接收16Kbytes数据。
并且存储到内部的ramdisk 中(也就是内存中)。
随后以太网发送程序会准备将数据传输会到PC。
然后PowerPC从输出GPIO2发送一个低电平有效的脉冲给DSP,表示PowerPC已经
将数据读取完毕。
至此,PPC从DSP接收数据的流程结束。
2007年1月2日薛涛于流星花园。