1 / 24

內部整合電路聲音 (I2S) 控制器

內部整合電路聲音 (I2S) 控制器. 大綱. 概觀 訊號說明 控制器操作 序列音訊時脈與取樣頻率 資料格式 暫存器 中斷. 概觀. I2S 是一種數位立體音訊協定 I2S 控制器 (I2SC) 控制 I2S 連結 (I2SLINK) I2S 連結是一個立體音訊的低電源四支腳位的序列介面 I2S 介面和音訊編碼解碼器‘ 97 (AC’97) 介面可能不能同時使用. 概觀 (cont.). I2SC 是由緩衝器、狀態暫存器、控制暫存器、平行序列轉換器和計數器組成

maitland
Download Presentation

內部整合電路聲音 (I2S) 控制器

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 內部整合電路聲音(I2S)控制器

  2. 大綱 • 概觀 • 訊號說明 • 控制器操作 • 序列音訊時脈與取樣頻率 • 資料格式 • 暫存器 • 中斷

  3. 概觀 • I2S是一種數位立體音訊協定 • I2S控制器(I2SC)控制I2S連結(I2SLINK) • I2S連結是一個立體音訊的低電源四支腳位的序列介面 • I2S介面和音訊編碼解碼器‘97 (AC’97)介面可能不能同時使用

  4. 概觀(cont.) • I2SC是由緩衝器、狀態暫存器、控制暫存器、平行序列轉換器和計數器組成 • 使用在應用程式處理器系統記憶體和一個外部I2S編碼解碼器之間的數位化音訊傳輸。 • 為了重播放數位化音訊的或合成音訊的產生,I2SC從應用程式處理器系統記憶體檢索數位化音訊取樣且將它們經由I2SLINK傳送到編碼解碼器,再由編碼解碼器中的外部數位到類比轉換器轉換音訊取樣成為類比音訊波形

  5. 概觀(cont.) • 為了記錄數位化音訊,I2SC從一個編碼解碼器(經由I2SLINK)接收數位化音訊取樣且將它們儲存到應用程式處理器系統記憶體 I2S控制器支援 標準I2S與 MSB調整I2S格式 • I2S資料能夠由DMA控制器或程式I/O來儲存到系統記憶體或是從系統記憶體取得

  6. 概觀(cont.) • I2S控制器以四支腳位連接到一個外部編碼解碼器: • 一個位元率時脈(BITCLK),能使用一個內部或一個外部來源資料 • 一種格式化或“左/右”控制訊號(SYNC) • 二個序列音訊腳位,一個做為輸入(SDATA_IN)和另一個做為輸出(SDATA_OUT) • 一個可選擇的系統時脈(SYSCLK)也由I2SC傳送到編碼解碼器

  7. 訊號說明 • SYSCLK是I2S單元中所有時脈的基礎時脈 • 在2 MHz與12.2 MHz之間 • 頻率是256倍於音訊取樣頻率 • 只有在BITCLK組態為輸出時,SYSCLK由應用程式處理器驅動

  8. 訊號說明(cont.) 表 14-1. 外部介面到編碼解碼器

  9. 控制器操作 • I2S控制器(I2SC)能經由處理器或DMA控制器其中一個來進行存取 • 處理器使用程式I/O指令來存取I2SC且能存取下列型式的資料 • I2SC暫存器資料 • I2SC FIFO資料 • I2S編碼解碼器資料

  10. 控制器操作(cont.) • DMA控制器能夠只存取FIFO • DMA控制器對I2SC發出的下列DMA要求做出回應 • 傳送FIFO要求是以傳送臨界值(TFTH)設定為基礎,如果所傳送的FIFO數少於傳送臨界值(TFTH)加一個通道時,則傳送FIFO要求被設定 • 接收FIFO要求是以接收臨界值(RFTH)設定為基礎,如果所接收FIFO數多於接收臨界值(RFTH)加一個通道時,則接收FIFO要求被設定

  11. 初始化 • 1. 藉由設計SYSUNIT的GPIO方向暫存器、SYSUNIT的GPIO交替功能選擇暫存器和I2SC的序列音訊控制器廣域控制暫存器(位元2)來設置BITCLK方向。 • 2. 選擇標準I2S或MSB調整I2S模式的操作,可以由設計序列音訊控制器I2S/MSB調整控制暫存器(SACR1)的位元0來完成

  12. 關閉與啟動音訊重播 • 當I2SC啟動時,音訊傳輸會自動啟動 • 重播可以藉由觸發SACR1暫存器中的DRPL位元來停止 • 影響 •所有I2SLINK重播活動關閉 •傳送FIFO指標會重置為0 •傳送FIFO填入值會重置為0 •0會透過I2SLINK傳送 •傳送的DMA要求是關閉

  13. 關閉與啟動音訊錄音 • 當I2SC啟動時,音訊錄音會自動啟動 • 錄音也可以藉由觸發SACR1暫存器中的DREC位元來停止 • 影響 •I2SLINK錄音動作關閉 •接收FIFO指標會重置為0 •接收FIFO填入值會重置為0 •任何由DMA/CPU的讀取操作會以0回傳 •接收的DMA要求關閉

  14. 傳送FIFO錯誤 • 狀態位元在傳送欠載狀況期間設置,它會觸發一個中斷(假如中斷是致能的話) • 1.有效傳送的資料在記憶體中仍然是可用的但是DMA控制器極需要傳送的FIFO因為它在服務其他有較高優先權的週邊設備。 • 2. DMA控制器已經從記憶體傳送所有有效資料到傳送的FIFO • 第二個情況促使最後的有效取樣透過I2SLINK來回應直到關閉SACR0[ENB]位元來關掉I2SC。

  15. 接收FIFO錯誤 • 狀態位元在接收滿溢狀況期間設置,它會觸發一個中斷(假如中斷是致能的話)

  16. 尾端位元組 • 當編碼解碼器已經完成傳送有效資料,I2SC將記錄零,且這將繼續直到關閉SACR0[ENB]位元來關掉單元。 • 假如接收資料的總緩衝區容量小於接收臨界值時,I2SC將記錄零,當所設計的臨界值到達時,接收DMA要求將執行。

  17. 序列音訊時脈與取樣頻率

  18. FIFO與記憶體格式 • FIFO緩衝區為16個字元的深度和32位元的寬度,在每一個方向每個通道可儲存32個取樣 • 音訊資料每32位元的字儲存二個取樣(左+右),即使取樣小於16位元。 • 當右通道資料使用32位元字的位元[31:16]時,左通道資料佔用位元[15:0]。在每一個16位元欄位中,音訊取樣是向左調整,而未使用位元在右側(LSB)填入零

  19. I2S與MSB調整序列音訊格式 I2S資料格式(16位元) MSB調整資料格式(16位元)

  20. DMA服務所採用的TFTH與RFTH • DMA控制器只能設計來傳送8、16或32位元組的資料,這符合2、4或8個FIFO取樣,介紹TFTH與RFTH的值來預防傳送FIFO滿溢錯誤和接收FIFO欠載錯誤

  21. TFTH與RFTH

  22. 序列音訊時脈除數暫存器(SADIV) • 這個暫存器使用來產生六個不同的BITCLK頻率和六個不同的取樣頻率,所有位元為讀取/寫入

  23. SADIV

  24. 中斷 • 下列SASR0狀態位元,假如中斷致能的話會中斷處理器: • 接收FIFO服務DMA要求(RFS) • 傳送FIFO服務DMA要求(TFS) • 傳送欠載(TUR) • 接收滿溢(ROR)

More Related