



系统初始化包括完成存贮设备控制寄存器的初始化、McBSP控制寄存器的初始化、CODEC的初始化、EDMA控制参数等的初始化。TLC320AD535 CODEC初始化工作主要是设置内部放大器的增益以和麦克风和耳机匹配。TLC320AD535内部可变增益放大器增益在12dB到36dB以1.5dB为分辨率连续可调。其工作频率是由外部有源晶振决定的,内部不用设置。
CODEC和DSP通过McBSP以EDMA作为通信方式。EDMA(Extended Direct Memory Access)全称是扩展直接存储器访问,是C6000系列DSP中一种重要的数据访问方式,它可以在没有CPU参与的情况下,由DMA控制器完成DSP存储空间内的数据搬移。数据搬移的源/目的可以是片内存储器、片外外设或外部器件。DSP使用中断方式和CODEC通信将耗去DSP大量资源。使用EDMA工作方式以后,DSP的EDMA控制器自动将每个采样点数据读入到DSP内部存储器中,当EDMA控制器读完采样数据后,EDMA控制器向DSP内核发出一个中断,DSP对该帧数据进行处理。在DSP处理这帧数据的过程中,EDMA控制器继续将数据读入到DSP内部另一个缓冲区当中。
DMA方式与程序控制方式的数据传输相比,具有明显的优点:首先,数据传输的路径根本不同。程序控制下的数据传送必须经过CPU内部的寄存器中转,而DMA方式的数据传输是在两个存储介质之间进行,无须经过CPU;其次,数据传送的控制源不一样。程序控制的数据传送是以CPU为中心,始终受CPU的控制,每传送一个字节,CPU要执行多条指令,而采用DMA方式的数据传输,使用DMA控制器的硬件代替原来的软件来控制数据的传输,这就显著提高了传输速度,大大减轻了CPU负担。
在本系统中DSP和McBSP之间的数据交互将使用双缓冲区,就是所谓的乒乓缓冲区。DSP通过McBSP接收和发送数据都有自己的乒乓缓冲区。
结果
本系统经过调试工作良好,实现了ACELP语音编解码的实时处理,图4是ACELP编码前的原始语音波形(160s)的一个例子,图5是对应语音数据ACELP解码后的重建语音波形。可以看出两者的波形除了细节上解码波形没有编码前的波形内容丰富,说明经过编解码后语音信息是有损失的,但是两者的高度相似性是毋庸置疑的,表明ACELP编码具有较高的质量。
| 上一页 | [1] [2] | 下一页 |