日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

硅麦驱动开发及调试(pdm>>I2S>>pcm)

發布時間:2023/12/20 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 硅麦驱动开发及调试(pdm>>I2S>>pcm) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

pdm 協議

PDM接口只有兩根信號線:
PDM_CLK 時鐘信號。
PDM_DATA 數據信號。

I2S協議

數據發送規格
I2S在BCLK的下降沿發送數據(發送),在上升沿進行數據采樣(接收)。每次是先發送最高位,最后發送最低位。MSB在WS變化的下一個時鐘周期有效。因此,最高位擁有固定的位置,而最低位的位置則是依賴于數據的有效位數。也就使得接收端與發送端的有效位數可以不同。如果接收端能處理的有效位數少于發送端,可以放棄數據幀中多余的低位數據;如果接收端能處理的有效位數多于發送端,可以自行補足剩余的位(常補足為零)。
I2S發送數據:發送是在每個時鐘周期的下降沿發送數據,這樣在WS沿變化開始后的第二個下降沿發送數據的最高位。接著在每個下降沿依次發送數據,直到發送完最低位。
I2S接收數據:在每個時鐘周期的上升沿接收數據,在WS沿變化開始后的第二個上升沿接收數據的最高位。接著在每個位時鐘上升沿依次接收數據,直到接收完最低位。
比如如下的一個ws高電平內,在每個clock上升沿采集數據,可以讀到ws為高時data電平為10010100 11011001 01010011 01010100
對應data數據為0x94 D9 53 54

![在這里插入圖片描述](https://img-blog.csdnimg.cn/5a01cd6b01e2451d99b4825b797af533.png

驅動配置

  • pdm data輸出接 I2S data數據輸入線,pdm clk由I2S clk提供,所用規格需clk在1M-3.5M之間,故設定clk=1.024M.
  • 配置I2S clk時鐘樹(配置I2S 時鐘控制寄存器)查看時鐘樹方法,cat /sys/kernel/debug/clk/clk_summary
  • 使能I2S clk時鐘;
  • 配置I2S 接受寄存器的采樣深度為32bits
  • 配置和I2S關聯的dma
  • pdm data 轉 pcm data

    采用抽取濾波器將pdm 的頻譜數據轉為pcm的模擬數據

    sample

    (待寫。。。)

    總結

    以上是生活随笔為你收集整理的硅麦驱动开发及调试(pdm>>I2S>>pcm)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。