uda1341連線soc的引腳分為兩類:資料引腳、控制引腳。
資料引腳用於音訊碼流的傳輸,
控制引腳用於該音效卡晶元控制,比如說音量控制等
如下圖為uda1341的音效卡
其中連線soc的引腳用紅框框了出來
上面那個是資料傳輸引腳
下面的是控制引腳
引腳說明:
cdclk : uda1341的工作時鐘
i2ssclk : 碼流一位所用的時鐘
i2slrck : 碼流的左右聲道時鐘
i2ssdi : 輸入碼流
i2ssdo : 輸出碼流
l3mode : 模式選擇,用於選擇l3data傳輸的是位址還是資料
l3clock : 控制時鐘
l3data : 控制資料引腳,先傳送位址,再讀寫資料
l3傳輸模式跟i2c的差不多
對於碼流傳輸,這裡是通過i2s協議進行傳輸的。
一般的soc裡面也有i2s模組,關係如下:
soc內的i2s模組作為記憶體跟音效卡晶元的中間站,
當需要發出聲音頻號的時候,資料從記憶體通過系統匯流排進入soc的i2s模組,i2s模組再把資料傳送到uda1341,然後通過揚聲器或者耳機輸出。
當需要接受聲音頻號的時候,資料從外界通過聲音採集裝置,進入uda1341,然後i2s模組,最後通過系統匯流排傳輸到記憶體。
當然,記憶體與i2s模組的互動方式是dma
在s3c2440裡面,i2s與gpio是公用引腳的,因此在使用i2s模組之前應該把gpio設為i2s模式
i2s是專門的音訊協議,我們可以直接通過設定soc內部的i2s控制暫存器,達到設定音效卡碼流傳輸的目的,其中包括設定音效卡工作時鐘,位時鐘,聲音頻號位寬等。
聲音頻號的傳輸是左右聲道的訊號交替傳輸的
對於控制傳輸,這裡暫且稱為l3傳輸
l3傳輸在mini2440開發板上是通過gpio進行資料傳輸的,因此使用前應該設定gpio引腳為輸入/輸出
l3傳輸類似於i2c傳輸,先傳送位址訊號,再傳送資料訊號,多出來的那條訊號作為時鐘訊號
l3mode用於選擇是傳送資料還是位址,l3data會在l3clock上公升沿的時候接收資料
由於是通過gpio傳輸資料的,所以l3的三個引腳需要我們自己設定,一位一位地寫gpio
UDA1341音效卡傳輸基本原理
uda1341連線soc的引腳分為兩類 資料引腳 控制引腳。資料引腳用於音訊碼流的傳輸,控制引腳用於該音效卡晶元控制,比如說音量控制等 如下圖為uda1341的音效卡 其中連線soc的引腳用紅框框了出來 上面那個是資料傳輸引腳 下面的是控制引腳 引腳說明 cdclk uda1341的工作時鐘 i2s...
uda1341原理及驅動
現在主流的音訊匯流排介面有iis和ac97 audio codec 一。iis是由sony和pilips公司共同推出的一套標準。iis有3 5根物理連線 iisdi 序列資料輸入 iisdo 序列資料輸出 iissclk 為序列資料提供位時鐘。iissclk 聲道數 取樣頻率 採用位數。如 fs 4...
製作PCM2702音效卡
製作一張音效卡不是乙個複雜的問題。如果使用 ti 的 pcm2702 你就能創造出乙個全功能的 usb音效卡。音效卡採用 usb供電一通道立體聲輸出。在 windows xp 和vista 下面不需要安裝驅動程式,因為它們已經被安裝好了。真正的即插即用裝置。幾個星期前我看到乙個 usb音效卡叫做 a...