您好!
我需要使用数字麦克风作为输入和输出它的I2S,但我没有这样做。编解码器似乎没有为麦克风生成任何时钟。我运行的PLL(工作,因为我可以看到它影响我的I2S频率预期)。
我已经设法让辅助输入->I2S工作,但无法找出这个数字麦克风。
比尔安德烈亚斯·克雷布斯
你好,安德烈亚斯,
我会帮你调查的。你能给我提供你正在使用的脚本/代码吗?你是时钟频率?
您是否也可以确认您的设置,您正在尝试使用辅助输入和麦克风作为输出?或者你是说演讲者?
谨致问候,艾略特·德克斯特
你好,艾略特
谢谢你的回复。
音频路径/设置我想要:(输入)数字麦克风->I2S(输出,到另一个芯片)
我如何想象这条路(但可能是别的):(输入)数字麦克风->ADC滤波器->数字音频接口->I2S(输出)
时钟配置:我提供的MCLK是15mhz。PLL\ U FRAC\ U TOP=0x06PLL\u FRAC\u BOT=0xDCPLL\ U整数=0x1APLL控制=0x84
我已经上传了我的一部分代码-希望它对你也有意义。再次感谢你能给我的任何帮助。
嗨,安德烈亚斯,
我们在您发送给我们的脚本中发现,您没有任何启用MICBIAS1的功能,这是输出DMIC缺少的时钟所必需的。
数据表上说:
MICBIAS1可用于为数字麦克风供电,但必须启用,因为是MICBIAS1提供数字麦克风引脚
这有道理吗?
我在这篇文章后面附上了一个脚本作为指导。
谨致问候,
艾略特·德克斯特
谢谢你的脚本-我现在有一个时钟输出到我的数字麦克风(和数据回)!
但是,我在主模式下运行da7212i2s,所以我不得不稍微改变它,我没有在I2S数据线上得到任何输出(帧和位时钟工作)。我已尝试将我的代码转换为您的脚本格式:
//设置时钟和参考写入DA7212 0x23 0x08//启用偏置写入DA7212 0x90 0xFF//启用数字LDO写入DA7212 0x47 0xCD//启用电荷泵(固定VDD/1)写入DA7212 0x92 0x02//将斜坡速率设置为1秒写入DA7212 0x29 0xC0//启用AIF 16位I2S模式写入DA7212 0x28 0x80//主模式写入DA7212 0x22 0x05//将传入采样率设置为16kHz写入DA7212 0x62 0xAA//启用MICBIAS 1和2写入DA7212 0x21 0x10//数字路由ADC写入DA7212 0x24 0x06//PLL\u FRAC\u TOP写入DA7212 0x25 0xDC//PLL\u FRAC\u BOT写入DA7212 0x20 0x1A//PLL\u FBDIV\u INT写入DA7212 0x27 0x84//MCLK 15MHz写入DA7212 0x94 0x00//PC\u COUT\u Resync
//配置输入/输出写入DA7212 0x32 0x80/DMIC\u L\u EN写入DA7212 0x33 0x80//DMIC\R\n写入DA7212 0x65 0xA8//启用左输入混频器写入DA7212 0x66 0xA8//启用右输入混频器
你能明白为什么我得到的是I2S位和帧,而不是任何数据吗?我附上了一个显示缺乏数据的截图。
需要启用ADC:
写入DA7212 0x67 0x80//ADC\u L\u CTRL
写入DA7212 0x68 0x80//ADC\R\u CTRL。
尝试添加这些命令。我已附上一个脚本再次供您参考。
谢谢,那正是我需要的。出色的服务:)
你好,安德烈亚斯,
我会帮你调查的。你能给我提供你正在使用的脚本/代码吗?你是时钟频率?
您是否也可以确认您的设置,您正在尝试使用辅助输入和麦克风作为输出?或者你是说演讲者?
谨致问候,
艾略特·德克斯特
你好,艾略特
谢谢你的回复。
音频路径/设置我想要:
(输入)数字麦克风->I2S(输出,到另一个芯片)
我如何想象这条路(但可能是别的):
(输入)数字麦克风->ADC滤波器->数字音频接口->I2S(输出)
时钟配置:
我提供的MCLK是15mhz。
PLL\ U FRAC\ U TOP=0x06
PLL\u FRAC\u BOT=0xDC
PLL\ U整数=0x1A
PLL控制=0x84
我已经上传了我的一部分代码-希望它对你也有意义。
再次感谢你能给我的任何帮助。
嗨,安德烈亚斯,
我们在您发送给我们的脚本中发现,您没有任何启用MICBIAS1的功能,这是输出DMIC缺少的时钟所必需的。
数据表上说:
MICBIAS1可用于为数字麦克风供电,但必须启用,因为是MICBIAS1提供数字麦克风引脚
这有道理吗?
谨致问候,
艾略特·德克斯特
你好,安德烈亚斯,
我在这篇文章后面附上了一个脚本作为指导。
谨致问候,
艾略特·德克斯特
谢谢你的脚本-我现在有一个时钟输出到我的数字麦克风(和数据回)!
但是,我在主模式下运行da7212i2s,所以我不得不稍微改变它,我没有在I2S数据线上得到任何输出(帧和位时钟工作)。
我已尝试将我的代码转换为您的脚本格式:
//设置时钟和参考
写入DA7212 0x23 0x08//启用偏置
写入DA7212 0x90 0xFF//启用数字LDO
写入DA7212 0x47 0xCD//启用电荷泵(固定VDD/1)
写入DA7212 0x92 0x02//将斜坡速率设置为1秒
写入DA7212 0x29 0xC0//启用AIF 16位I2S模式
写入DA7212 0x28 0x80//主模式
写入DA7212 0x22 0x05//将传入采样率设置为16kHz
写入DA7212 0x62 0xAA//启用MICBIAS 1和2
写入DA7212 0x21 0x10//数字路由ADC
写入DA7212 0x24 0x06//PLL\u FRAC\u TOP
写入DA7212 0x25 0xDC//PLL\u FRAC\u BOT
写入DA7212 0x20 0x1A//PLL\u FBDIV\u INT
写入DA7212 0x27 0x84//MCLK 15MHz
写入DA7212 0x94 0x00//PC\u COUT\u Resync
//配置输入/输出
写入DA7212 0x32 0x80/DMIC\u L\u EN
写入DA7212 0x33 0x80//DMIC\R\n
写入DA7212 0x65 0xA8//启用左输入混频器
写入DA7212 0x66 0xA8//启用右输入混频器
你能明白为什么我得到的是I2S位和帧,而不是任何数据吗?
我附上了一个显示缺乏数据的截图。
你好,安德烈亚斯,
需要启用ADC:
写入DA7212 0x67 0x80//ADC\u L\u CTRL
写入DA7212 0x68 0x80//ADC\R\u CTRL。
尝试添加这些命令。我已附上一个脚本再次供您参考。
谨致问候,
艾略特·德克斯特
谢谢,那正是我需要的。
出色的服务:)