您好~
我担心的是数据表不提供BCLK作为PDMCLK输入。
数据表显示PDMCLK应设置在Miso和SCLK引脚处。
我担心接收数据可能不正确。 当我测量信号的延迟时,它非常高,大约为4.5 ms。
是否有办法将MISO用作PDMCLK,将DIN用作输入数据,然后将信号输出到HAL (R)?
数据表中的示例代码是无用的,因为我无法检查我的麦克风是否接收到正确的信号。
Thx
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好~
我担心的是数据表不提供BCLK作为PDMCLK输入。
数据表显示PDMCLK应设置在Miso和SCLK引脚处。
我担心接收数据可能不正确。 当我测量信号的延迟时,它非常高,大约为4.5 ms。
是否有办法将MISO用作PDMCLK,将DIN用作输入数据,然后将信号输出到HAL (R)?
数据表中的示例代码是无用的,因为我无法检查我的麦克风是否接收到正确的信号。
Thx
您好,
BCLK和PDMCLK输入不是由数据表提供的,这是什么意思?
请参阅上图,它是第21页的数据表。
大纲表示TLV320DAC3203为用户提供了使用GPIO和miso作为Dmic时钟的功能。 (无BCLK)。
此外,在我的应用程序中,我将miso设置为数字麦克风的PDM时钟输出。
使用BCLK作为PDM时钟的上一个线程不正确。
您的时钟信号频率是多少? 您是否在使用数字或模拟输入以及数字麦克风输入?
在我的应用程序中,我使用数字麦克风(PDM)。没有模拟输入。 我要2.048MHz作为PDM时钟。 因此,我将 TLV320DAC3203 miso引脚设置为
数字麦克风时钟输出。
您当前的注册设置是什么?
与上一个线程基本相同。 我只是不知道如何使用BCLK作为PDM时钟。
此外,我不知道为什么在上一个线程中启用回送。 不清楚它的用途是什么?
{0x00,0x00},// 0。 初始化到第0页
{0x01,0x01},// 1。 通过软件重置初始化设备
{0x04,0x03},// 2。 将PLL_CLKIN设置为MCLK,将CODEC _CLKIN设置为PLL_CLK (我使用4MHz 石英晶体单元)
{0x05,0x94},// 3. 打开PLL电源,设置PLL分配器P=1,PLL分配器R=4
{0x06,0x07},// 4. 设置PLL分配器J=7
{0x07,0x00},// 5. 设置PLL分配器D=0000
{0x08,0x00},// 6。
{0x12,0x82},// 7。 接通电源并设置NADC分配器= 2
{0x13,0xb4},// 8。 开机并设置MDAC分配器=52
{0x14,0x40},// 9。 设置AOSR = 64
{0x0B,0x82},// 10。 开机并设置NDAC分配器= 2
{0x0c,0xb4},// 11。 开机并设置MDAC分配器=52
{0x0d,0x40},// 12。 设置DOSR = 64
{0x1d,0x24},// 13。 启用环回,BDIV_CLKIN = DAC_CLK
{0x1E,0xb6},// 14。 接通电源并设置BCLK N分配器= 54
{0x19,0x03},// 15。 CDIV_CLKIN = PLL_CLK
{0x1a,0xED},// 16。 接通电源并设置CLKOUT M分配器= 109
{0x21,0x03},// 17。
{0x1b,0x0d},// 18。 将音频接口的字长设置为16位,将音频接口设置为I2S
{0x3c,0x01},// 19。 将DAC模式设置为PRB_P1
{0x00,0x01},// 20。 选择第1页
{0x01,0x08},// 21。 在存在外部AVdd供应的情况下禁用内部原油AVdd
{0x02,0x00},// 22。 启用主模拟电源控制
{0x7B,0x01},// 23。 将参考充电时间设置为40ms
{0x0a,0x00},// 24。 将输入共模设置为0.9V,并将耳机的输出共模设置为输入共模
{0x0c,0x0c},// 25。 将左侧DAC和INL路由至HPL
{0x0d,0x0c},// 26。 将右侧DAC和INR路由至HPR
{0x03,0x00},// 27。 将DAC PTM模式设置为PTM_P3
{0x04,0x00},// 28。
{0x10,0x00},// 29。 将HPL增益设置为0dB
{0x11,0x00},// 30。 将HPR增益设置为0dB
{0x14,0x29},// 31。 HP软步进设置可在开机时获得最佳的PoP性能。 使用的RPOP为6k,N = 6,软步进= 20usec
{0x09,0x30},// 32。 启动HPL和HPR驱动程序
{0x00,0x00},// 33。 选择第0页
{0x37,0x0E},// 34。 将miso配置为数字麦克风的时钟输出
{0x51,0xdc},// 35。 打开左ADC和右ADC的电源。 为左ADC和右ADC启用数字麦克风模式。 将DIN上的数据视为数字麦克风数据
{0x52,0x00},// 36。 取消左ADC和右ADC的静音
{0x41,0x00},// 37。 将左侧DAC数字音量控制设置为0 dB
{0x42,0x00},// 38。 将右侧DAC数字音量控制设置为0 dB
{0x3f,0xd6},// 39。 打开左右DAC通道的电源,路由左右音频接口
{0x40,0x00}// 40。 取消DAC数字音量控制的静音
尽管如此,DAC HPL和HPR上没有输出。 使用示波器,我看到PDM数据和PDM时钟正常。
B.R.
Y.W. 风扇
感谢您的回复。
还有一些设置概念让我感到困惑。
我是这种编解码器的新手。
最初,我认为数字麦克风数据将经过处理,然后发送到DAC。
您的意思是,使用数字麦克风时,
如果我们将输出时钟引脚设置为miso,并将数据引脚输入到MFP3,硬件将处理PDM数据,然后在DOUT引脚上输出I2S数据。 (不会直接路由到DAC)
另一方面,我发现在数据表中,我们可以将DIN设置为数字麦克风输入。 如果我们将 输出时钟引脚设置为miso,将输入数据引脚设置为DIN,这是否意味着不需要连接DIN和DOUT? (它将直接路由到DAC?)
B.R.
Y.W. 风扇
你好,伊凡
在我的应用程序中,我不想将BCLK和WCLK作为主中继器(不想发出任何信号)。 因此我将BCLK和WCLK设置为输入。
然后尝试您的建议。 将DIN和Dout或/和0x1D位D4连接到1。
DOUT没有信号。
BCLK和WCLK作为主中继器是必需的吗?
以下是我的设置:
{0x00,0x00},// 0。 初始化到第0页
{0x01,0x01},// 1。 通过软件重置初始化设备
{0x04,0x03},// 2。 将PLL_CLKIN设置为MCLK,将CODEC _CLKIN设置为PLL_CLK
{0x05,0x93},// 3. 打开PLL电源,设置PLL分配器P=1和PLL分配器R=3
{0x06,0x07},// 4. 设置PLL分配器J=7
{0x07,0x00},// 5. 设置PLL分配器D=0000
{0x08,0x00},// 6。
{0x0B,0x83},// 7。 开机并设置NDAC分配器= 3
{0x0c,0x87},// 8。 开机并设置MDAC分配器=7
{0x0d,0x01},// 9。 设置DOSR = 256 MSB //用于16kHz
{0x0E,0x00},//10。 设置DOSR = 256 LSB //用于16kHz
{0x1b,0x00}, //11。 将BCLK和MCLK设置为输入。
{0x3c,0x08},//12。 DAC模式至PRB_P4
{0x12,0x83},// 13。 接通电源并设置NADC分配器= 3
{0x13,0x8E},// 14。 开机并设置mAdc分配器= 14
{0x14,0x80},// 15。 设置AOSR = 128 //for16Khz
{0x37,0x0E},// 16。 Miso/MFP4功能控制寄存器设置为DMIC_CLK
//关闭BDIV_CLKIN
//{0x1d,0x05},//13。 BDIV_CLKIN = DAC_MOD_CLK
//{0x1E,0x82},//14。 接通电源并设置BCLK N分配器= 2
{0x51,0xdc},// 17。 打开左ADC和右ADC的电源。 为左ADC和右ADC启用数字麦克风模式。 将SCLK上的数据视为数字麦克风数据
//应该是0x50??
{0x52,0x00},// 18。 取消左ADC和右ADC的静音
{0x00,0x01},//15。 选择第1页
{0x01,0x08},//16。 在存在外部AVdd供应的情况下禁用内部原油AVdd
{0x02,0x00},//17。 启用主模拟电源控制
{0x7B,0x01},//18。 将参考充电时间设置为40ms
{0x0a,0x00},//19。 将输入共模设置为0.9V,并将耳机的输出共模设置为输入共模
{0x0c,0x08},//20。 将左侧DAC和INL路由至HPL
{0x0d,0x08},//21。 将右侧DAC和INR路由至HPR
{0x03,0x00},//22。 将DAC PTM模式设置为PTM_P3
{0x04,0x00},//23。
{0x10,0x00},//24。 将HPL增益设置为-4dB ********** //目前改成0dB
{0x11,0x00},//25。 将HPR增益设置为-4dB **********
{0x14,0x29},//26。 HP软步进设置可在开机时获得最佳的PoP性能。 使用的RPOP为6k,N = 6,软步进= 20usec
{0x09,0x30},//27。 启动HPL和HPR驱动程序
//#----------- 等待2.5 sec,软步进才能生效
//#----------- 另请阅读第1页,注册63d,D (7:6)。 当=“11”软步进完成时
{0x00,0x00},// 28。 选择第0页
{0x44,0x00},//29。 DRC控制寄存器1,禁用DRC
{0x3f,0xd6},//30。 打开左侧和右侧DAC通道的电源,将左侧通道I2S数据路由至左侧通道DAC,将右侧通道I2S数据路由至右侧通道DAC
{0x40,0x00}//31。 取消DAC数字音量控制的静音
Thx。
B.R.
Y.W. 风扇
你好,伊凡
感谢您的耐心等待。
所以,通过将BCLK和MCLK设置为主或从,我就知道了。 我会继续查找错误。
我的采样频率为16kHz。 在我的应用中,我输入4M到MCLK引脚。
当我使用I2S时,此编解码器工作正常。
但如果我更改为PDM (我设置了Miso输出2MHz),DOUT没有信号。 我确信DMIC (PDM)工作正常。
感谢您的信息,我会将其与我的代码设置进行比较。
B.R.
Y.W. 风扇