您好!
我正在尝试使 TAS2505正常工作。
I2C 可以正常工作(读取/写入)、我已经将默认脚本更改了一位、以将 WCLK 和 BCLK 作为输出、但在这些端口上看不到任何输出。
我已将 CLKOUT 重定向到 GPIO 、并且在示波器上看到了预期输出。
我已经检查了是否所有寄存器都具有预期值、它们确实具有预期值。
脚本:
// MCLK = 12MHz
// DAC fs=43.8KHz
//位2 x 16
// P 1正常
// R 1正常
// J 7正常
// D 0正常
I2C1_Write1ByteRegister (0x18、0、0);
//使软件复位生效(P0、R1、D0=1)
I2C1_Write1ByteRegister (0x18、1、1);
//#页切换到页1
I2C1_Write1ByteRegister (0x18、0、1);
//# LDO 输出编程为1.8V、电平位移器加电。 (P1、R2、D5-D4=00、D3=0)
I2C1_Write1ByteRegister (0x18、2、0);
//#页切换至页0
I2C1_Write1ByteRegister (0x18、0、0);
//# PLL_CLKIN = MCLK、CODEC_CLKIN = PLL_CLK、MCLK 应为12 MHz (P0、R4、D1-D0=03)
I2C1_Write1ByteRegister (0x18、4、3);
//#上电 PLL、设置 P=1、R=1、(页0、寄存器-5)
I2C1_Write1ByteRegister (0x18、0x05、0b10010001);// 0x91
//#设置 J=7、(页0、寄存器6)
I2C1_Write1ByteRegister (0x18、0x06、0b00000111);//0x04 j=7
//# D = 0000、D (13:8)= 0、(页0、寄存器7)
I2C1_Write1ByteRegister (0x18、0x07、0x00);
//# D (7:0)= 0、(页0、寄存器8)
I2C1_Write1ByteRegister (0x18、0x08、0x00);
//添加 PLL 锁定的15ms 延迟
WAIT_15ms ();
/*
NDAC 5正常
MDAC 3正常
DOSR 128正常
*/
// DAC NDAC = 5
I2C1_Write1ByteRegister (0x18、0x0B、0b10000101);//0x85
//# DAC MDAC 加电、MDAC=3 (P0、R12、D7=1、D6-D0=0000011)
I2C1_Write1ByteRegister (0x18、0x0C、0x83);
//# DAC OSR (9:0)-> DOSR=128 (P0、R12、D1-D0=00)
I2C1_Write1ByteRegister (0x18、0x0D、0x00);
// DAC OSR (9:0)-> DOSR=128 (P0、R13、D7-D0=10000000)
I2C1_Write1ByteRegister (0x18、0x0E、0x80);
// CLKOUT M 上电 M=10
I2C1_Write1ByteRegister (0x18、0x1A、0b10001010);
// GPIO/DOUT GPIO 输出为 CLKOUT
I2C1_Write1ByteRegister (0x18、0x34、0b00010000);
//编解码器接口控制字长= 16位,BCLK&WCLK 输出,I2S 模式。 (P0、R27、D7-D6=00、D5-D4=00、D3-D2 =11)
//I2C1_Write1ByteRegister (0x18、0x1B、0x00);
I2C1_Write1ByteRegister (0x18、0x1B、0b01100);// 0x0C
//数据时隙偏移00 (P0、R28、D7-D0=0000)
I2C1_Write1ByteRegister (0x18、0x1C、0x00);
// DAC 指令编程 PRB #2,用于单路由。 类型内插(x8)和3个可编程双二阶滤波器。 (P0、R60、D4-D0=0010)
I2C1_Write1ByteRegister (0x18、0x3C、0x02);
//页切换到页0
I2C1_Write1ByteRegister (0x18、0x00、0x00);
// DAC 上电,每个 Fs 软步进1。 (P0、R63、D7=1、D5-D4=01、D3-D2 =00、 D1-D0= 00)
I2C1_Write1ByteRegister (0x18、0x3F、0x90);
// DAC 数字增益0dB (P0、R65、D7-D0=00000000)
I2C1_Write1ByteRegister (0x18、0x41、0x00);
// DAC 音量未静音。 (P0、R64、D3 = 0、D2 = 1)
I2C1_Write1ByteRegister (0x18、0x40、0x04);
//页切换到页1
I2C1_Write1ByteRegister (0x18、0x00、0x01);
//主基准上电(P1、R1、D4=1)
I2C1_Write1ByteRegister (0x18、0x01、0x10);
// DAC 设置为0.9V (默认)时的输出共模(P1、R10)
I2C1_Write1ByteRegister (0x18、0x0A、0x00);
//混频器 P 输出连接到 HP OUT 混频器(P1、R12、D2=1)
I2C1_Write1ByteRegister (0x18、0x0C、0x04);
// HP 音量、0dB 增益(P1、R22、D6-D0=0000000)
I2C1_Write1ByteRegister (0x18、0x16、0x00);
//无需启用混频器 M 和混频器 P、AINL 音量、0dB 增益(P1、R24、D7=1、 D6-D0= 0000.000)
I2C1_Write1ByteRegister (0x18、0x18、0x00);
//为 HP 加电(P1、R9、D5=1)
I2C1_Write1ByteRegister (0x18、0x09、0x20);
//使用0dB 增益使 HP 取消静音(P1、R16、D4=1)
I2C1_Write1ByteRegister (0x18、0x10、0x00);
// SPK 衰减 增益=0dB (P1、R46、D6-D0=000000)
I2C1_Write1ByteRegister (0x18、0x2E、0x00);
// SPK 驱动器增益=6.0dB (P1、R48、D6-D4=001)
I2C1_Write1ByteRegister (0x18、0x30、0x10);
// SPK 上电(P1、R45、D1=1)
I2C1_Write1ByteRegister (0x18、0x2D、0x02);
如有任何帮助,将不胜感激。
米歇尔·布隆