硅麦驱动开发及调试(pdm>>I2S>>pcm)
pdm 協(xié)議
PDM接口只有兩根信號線:
PDM_CLK 時鐘信號。
PDM_DATA 數(shù)據(jù)信號。
I2S協(xié)議
數(shù)據(jù)發(fā)送規(guī)格
I2S在BCLK的下降沿發(fā)送數(shù)據(jù)(發(fā)送),在上升沿進行數(shù)據(jù)采樣(接收)。每次是先發(fā)送最高位,最后發(fā)送最低位。MSB在WS變化的下一個時鐘周期有效。因此,最高位擁有固定的位置,而最低位的位置則是依賴于數(shù)據(jù)的有效位數(shù)。也就使得接收端與發(fā)送端的有效位數(shù)可以不同。如果接收端能處理的有效位數(shù)少于發(fā)送端,可以放棄數(shù)據(jù)幀中多余的低位數(shù)據(jù);如果接收端能處理的有效位數(shù)多于發(fā)送端,可以自行補足剩余的位(常補足為零)。
I2S發(fā)送數(shù)據(jù):發(fā)送是在每個時鐘周期的下降沿發(fā)送數(shù)據(jù),這樣在WS沿變化開始后的第二個下降沿發(fā)送數(shù)據(jù)的最高位。接著在每個下降沿依次發(fā)送數(shù)據(jù),直到發(fā)送完最低位。
I2S接收數(shù)據(jù):在每個時鐘周期的上升沿接收數(shù)據(jù),在WS沿變化開始后的第二個上升沿接收數(shù)據(jù)的最高位。接著在每個位時鐘上升沿依次接收數(shù)據(jù),直到接收完最低位。
比如如下的一個ws高電平內(nèi),在每個clock上升沿采集數(shù)據(jù),可以讀到ws為高時data電平為10010100 11011001 01010011 01010100
對應(yīng)data數(shù)據(jù)為0x94 D9 53 54
動配置
pdm data 轉(zhuǎn) pcm data
采用抽取濾波器將pdm 的頻譜數(shù)據(jù)轉(zhuǎn)為pcm的模擬數(shù)據(jù)
sample
(待寫。。。)
總結(jié)
以上是生活随笔為你收集整理的硅麦驱动开发及调试(pdm>>I2S>>pcm)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言之volatile用法(二十一),
- 下一篇: Android 仿豌豆荚应用列表进入详情