软件层次结构和模块划分如图3所示。DSP软件的主要部分是底层的四个功能模块,这四个功能模块分别完成以下操作:1. 从输入FIFO中读取两条方位线数据(每条方位线2048点,每点数据类型为短整型)到DSP内存中;2. 将读入的数据按顺序存储到SDRAM中;3. 把SDRAM中的数据沿距离线顺序读到DSP内存中,即完成转置操作;4. 把转置后的数据送至输出FIFO。
5.2软件各模块间关系
l 上电初始化模块:在DSP上电后,完成与硬件工作有关的各控制寄存器的初始化,以及与软件工作有关的各内部变量和存储区的初始化;
l 主处理模块:调用其它功能模块,完成整个逆存储转置流程;
l 数据输入模块:受主处理模块调用,利用EDMA完成数据输入;
l 写SDRAM模块:受主处理模块调用,利用EDMA完成数据写操作;
l 读SDRAM模块:受主处理模块调用,利用EDMA完成数据读操作;
l 数据输出模块:受主处理模块调用,利用EDMA完成数据输出。
5.3 C6415的EDMA控制寄存器
EDMA是C621x/671x/641x特有的数据存取方式。在C621x/671x/641x中,EDMA控制寄存器负责片内二级存储器与其它外设之间的数据传输。EDMA控制寄存器和DMA控制寄存器在结构上有很大不同。其增强之处包括:
l 提供了64个传输通道;
l 通道间优先级可设置;
l 支持不同结构数据传输的链接。