FLASH的低15根地址线A0~A14直接接到DSP上,而高3根地址线A15~A17则由FPGA控制。在DSP向I/O空间的特定地址写数时,FPGA内部的逻辑电路就会将D0~D2(也就是所写数据的低3位)锁存到A15~A17上。这样就实现了软件控制FLASH数据映射关系的功能。再把所有的数据进行合理的划分和排列,烧入FLASH中,就可实现全部程序的自加载。 由于采用独特的硬件接口方式,很方便地实现了自适应变速率的功能,大大提高了声码器的灵活性和适用范围。TMS320VC5416拥有很大的片内RAM,本文提出的使用FPGA辅助完成大数据量程序上电自加载的方法对于TMS320VC5416的其它应用场合也同样适用。 使用以上方法实现的自适应变速率SELP声码器在TMS320VC5416上占用的硬件资源情况如表2所示。
表2 硬件资源占用情况 | 运算量(峰值)(MIPS) | 存储量(KWords) | 程序区 | 数据区 | 公共 | 单独 | 2.4kbps算法 | 43.0 | 11.4 | 11.6 | 5.4 | 1.2kbps算法 | 52.4 | 25.0 | 0.6kbps算法 | 35.4 | 27.4 |
总运算量=MAX(43.0,52.4,35.4)=52.4MIPS 总存储量=11.4+11.6+5.4+25.0+27.4=80.8KWord 该声码器已在实际通信系统中获得应用并表现出了很好的性能。 |