mems数字式麦克风ADMP441数据读取探讨


MEME麦克风读取数据问题

1参考资料

参考资料为附件ADMP441_cn.pdf

2主要参数和时序

2.1参数

         接口:数字I2S接口,24-bit数据

                   SCK :I2S接口的串行数据时钟引脚。

                   SD  :I2S接口的串行数据输出引脚。

                   WS :I2S接口的串行数据字选择引脚。

         电源电压:1.8 V < VDD < 3.3 V。

         数据格式:从机串行数据端口的格式为I2S 24-bit二进制补码。

                             默认的数据格式为I2S (二进制补码),MSB 优先。

2.2时序说明:                       

 

 

图1 硬件连接图

 

图2立体声输出I2S时序图

         从机串行数据端口的格式为I2S 24-bit二进制补码。每个WS立体声数据帧对应64 个SCK 周期(fSCK = 64 × fWS)。;每个数据字必须对应32个SCK 周期。L/R控制引脚决定                                                           

ADMP441从左通道还是右通道输出数据。

 

         图3 fSCK=44KHz时fpga采集到的24bit数据 7FFD78h

 

         图4 fSCK=44KHz时fpga采集到的24bit数据 047503h

根据硬件连接和所给时序,通过fpga进行验证。

(1)       当第25个时钟结束后,sd应该呈高阻态,但是之后的几个时钟,sd还有变化。

(2)       采集到的24bit数据,前8位不是f就是0,无论声音的高与低。使得采集的电压很小。

可能的原因:

(1) 传感器故障,(但是sd一直有返回值,应该没坏)

(2) Fpga时序写的有问题。

             

 

图5 fSCK=44KHz时stm32采集数据

         图中D3:WS;D2:SCK;D1:SD。采集到的数据和fpga相似,很小。

         个人感觉:数据字对应32个SCK 周期的前10个周期返回的SD值有问题。

   哪位大神看出来什么问题或者有什么建议,望不吝赐教哈。。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM