我们在 SYSCLK 上运行处理器、速度为100Mhz。
我们将以48000Hz 的采样率从音频编解码器 AIC3204获取数据
用于 TMS320C5505和 AIC3204接口的协议是 BCLK 为1.534MHz 的 I2S 协议。
使用 DMA 将 I2S 中的数据发送和接收到 TMS320C5505
我们的应用要求每个样片都应通过一系列64级“48”FIR 滤波器进行传递。FIR 滤波是使用 DSP 库函数“fir ()”完成的。下面是观察结果和查询结果。
观察结果:
当从编解码器以48000Hz 的频率完成采样时、从编解码器接收数据块所需的时间为20us (大约)(字长16)
(BCLK–1.534MHz。
对于1位传输、从编解码器获取的时间为1/1.534Mhz = 0.6us。
对于32位、它需要32/1.534 = 20us apprx)
fir () API 采用的周期为414、一次滤波操作的时间为4.14us (414/100MHz 时钟)。
20us 后、来自 I2S 的数据块将刷新并更新为一组新的样本。 因此、插入的 FIR 滤波器的最大数量约为5个。 如果我使用 Ping Pong 缓冲器、则插入的 FIR 滤波器的最大数量为10。 我们的要求是实施48个滤波器、这些滤波器将在20us 内执行、即在下一个样本块到达之前执行。
查询:
(1).如何在不丢失样本的情况下实施48个滤波器系列。 整个48个过滤器应在20us 内执行,即在下一个样本到达之前执行? 如何做到这一点?
(2)。 TMS320C5505能否实时处理此类密集型音频处理。 如果不是、请建议使用我们可以为音频应用探索的替代 TI 处理器。