Hi ti工程师,
你们好,我在配置8168的mcasp用示波器能检测到数据信号,但录制不了声音,试了几天都得不到解决,希望能得到你们的帮助,这是我硬件框架,
Image may be NSFW.
Clik here to view.
已经配置3个clk(bclk为6.144M,wclk为48K,MCLK是24.576M)输出都没问题了,能让数字麦克风正常输出3个通道的TDM数据,但用arecord录制没有声音,因为一直录制没声音,不知道支不支持录制TDM格式的音频格式, arecord -D plughw:1,0 -d 30 -c 2 -t wav -r 48000 -f "Signed 16 bit Little Endian" /mnt/test.wav 下面是我的寄存器的配置:(TDM用于DSP模式)
Image may be NSFW.
Clik here to view.
------配置下面就能输出时钟
6Ch AFSRCTL 1 FSRM – 1 15-7 RMOD-- 8 slot
70h ACLKRCTL 5 CLKRM – 1 CLKRDIV(BIT[4-0] -- 3)AHCLKRCTL 15 HCLKRM – 1
B0h ACLKXCTL 6 ASYNC --- 1
14h PDIR enable(1):31 AFSR 30 AHCLKR 29 ACLKR
68h RFMT RDATDLY(BIT[16-17] - 1) ) RRVRS(BIT15 - 1) RSSZ(BIT[4-7] – 7) ROT(BIT0-2 - 4)
------enable AXR[0]为输入
PDIR 14H: base=0xe8000000 AXR[0]Pin functions as input.
PFUNC 10H: base=0x00000000 设置为mcasp
SRCTL0 180h : SRMOD=2h DISMOD=3h
RBUF0 280h :0x0
==============寄存器打印值的信息=====
AHCLKXCTL B4H: base=0x00008000
AHCLKRCTL 74H: base=0x00188000
ACLKXCTL B0H: base=0x001800e0
ACLKRCTL 70H: base=0x00180023
AFSXCTL ACH: base=0x00000000
AFSRCTL 6CH: base=0x00000402
XFMT A8H: base=0x00000074
RFMT 68H: base=0x00018074
RGBLCTL 44H: base=0x00000200
RMASK 64H: base=0x0000ffff
RTDM 78H: base=0x000000ff
RINTCTL 7CH: base=0x00000029
RXBUF 8CH: base=0x00000000
REVTCTL 8CH: base=0x00000000
RSTAT 80H: base=0x00000104
#PFUNC 10H: base=0x00000000
#PDIR 14H: base=0xe8000000
PDOUT 18H: base=0x00000000
PDSET 1CH: base=0x68000000
PDCLR 20H: base=0x00000000
SRCTL0 180H: base=0x0000000e
RSLOT 84H: base=0x00000000