armqt210-AC97 DMA的使用问题
小陆zi 2013-01-10 03:17:39 hi 大侠们:
最近在调试QT210的DMA。主要是针对AUDIO的接口。
我把环境描述一下:
s5pc210的片子+WM9713的codec芯片。
应用:
上层app未经过任何处理以及修改的时候掉用可以录音,但是杂音很大。
在录音的时候串口显示:
DmaAddr=@ff008000 Total=512bytes PrdSz=2 (打印有省略)函数为:s3c_dma_hw_params()/s3c-dma.c
后来看了DATAsheet 发现pcm的datain fifo中描述为
16bits X 2 X 16entries
这样算来外设的fifo大小是64bytes。但是DMA实际使用的是256Bytes。
再查看了DMA(pl330)的datasheet。
发现是2个bytes - burst,一共是128个burst。这样算下来确实是256bytes是的传入。
我的问题是:
1,实际分配的DMA缓存大小和DATAsheet中描述的fifo大小相差是什么原因造成的?
2,这个原因可不可能导致了杂音的现象?
3,传输速率和我录音是采用的采样频率是不是有一一对应的关系?比如我采样的时候用的是48k,所以我播放的时候也是使用48k换算过的传输速率?
请大家给我一点帮助。
谢谢了