一、I2S控制器結構框圖
S3C2440A的Inter-IC Sound (IIS)總線接口作為一個編解碼接口連接外部8/16位立體聲音頻解碼IC用于迷你碟機和可攜式應用。IIS總線接口支持IIS總線數據格式和MSB-justified數據格式。該接口對FIFO的訪問采用了DMA模式取代了中斷。它可以在同一時間接收和發送數據。
圖1 結構框圖
總線接口,寄存器組和狀態機(BRFC):總線接口邏輯和FIFO 訪問由狀態機控制。
5 位雙預定標器(IPSR):一個預定標器用于IIS 總線接口的主時鐘發生器,另外一個用作外部編解碼時鐘發生器。
64 位FIFO(TxFIFO 和RxFIFO):在發送數據傳輸時,數據寫到TxFIFO;在接收數據傳輸時,從RxFIFO 讀取數據。
主IISCLK 發生器(SCLKG):在主設備模式,串行位時鐘是從主時鐘生成。
通道發生器和狀態機(CHNC):IISCLK 和iislrck 是由通道狀態機生成并控制。
15 位移位寄存器(SFTR):在發送模式下并行數據移位成串行數據輸出,在接收模式下串行數據輸入移位成并行數據。
二、發送接收模式
1.通常傳輸
IIS 控制寄存器對于發送接收FIFO 有一個FIFO 準備標志位。當FIFO 準備發送數據時,如果FIFO 非空,FIFO 準備標志位置1。如果FIFO 為空,FIFO 準備標志位置0。當接收FIFO非滿,對于接收FIFO 的FIFO 準備標志位置1。其指出FIFO 準備好接收數據。如果接收FIFO 為滿,FIFO 準備標志置0。這些標志用于決定CPU 讀寫FIFO 的時間。用這種方法當CUP 在訪問發送接收FIFO 時,串行數據能被發送和接收。
2.DMA 傳輸
在此模式下,發送或接收FIFO 對DMA 控制器是可訪問的。在發送或接收模式下的DMA服務請求是由FIFO 準備標志自動執行。
3.發送和接收模式
在此模式下IIS 總線接口可以同時接收和發送數據。
三、音頻串行接口格式
1.IIS 總線格式
IIS 總線有四線包括串行數據輸入(IISDI),串行數據輸出(IISDO),左右通道選擇(IISLRCK)和串行位時鐘(IISCLK)。生成IISLRCK 和IISCLK 的設備是主設備。串行數據以2 的補碼發送,MSB(Most Significant Bit 最高位)先發。因為發送器和接收器可能有不同的字長,MSB(最高位)先發。發送器不必知道接收器可以處理多少位,接收器也不必知道會收到多少位。當系統字長大于發生器的字長,字為了數據發送而被截斷(最低位被置0)。如果接收器接收大于其字長的位,在LSB(最低位)后的位被忽略。另外,如果接收器收到的位數小于其字長,缺少的位被置0。因此MSB 有一個固定的位置,而LSB 的位置取決于字長。只要IISLRCK 發送改變,發送器在一個時鐘周期內發送下一個字的MSB。由發送器發送的串行數據可以和時鐘信號的下降沿和上升沿同步。但是,串行數據必須在串行時鐘信號的上升沿鎖存到接收器。因此當同步上升沿的數據發送時有一些限制。左右通道選擇線指出了正在發送的通道。IISLRCK 可以在串行時鐘的下降沿或上升沿被改變,當時其不需要對稱。在從設備,信號在串行時鐘的下降沿或上升沿被鎖存。在MSB 被發送,IISLRCK 線改變一個時鐘周期。此允許發送器導出用于建立發送的串行數據同步時序。此外,其使能接收存儲前一個字且為下一個字的接收清除輸入。
2.MSB JUSTIFIED 格式
MSB JUSTIFIED 總線格式在結構上和IIS 總線格式。唯一和IIS 總線格式的區別,MSB JUSTIFIED 格式實現了只要IISLRCK 改變,發送器總是發送下一個字的MSB。
圖2 IIS格式和MSB JUSTIFIED數據格式
四、IIS采集頻率和主設備時鐘
I2S主設備時鐘頻率可以通過采樣頻率來選擇,這是因為I2S主設備時鐘頻率是由I2S分頻器產生的(主設備時鐘頻率=PCLK/預分頻器值),因此必須選擇合適的預分頻值和CODECLK的采樣頻率類型(256fs或384fs),才能獲得合適的I2SLRCK頻率(I2SLRCK頻率=主設備時鐘頻率/CODECLK)。
串行位采用頻率類型(16/32/48fs)可以通過配置信道的串行位數和CODECLK采樣頻率類型來完成(串行位時鐘頻率類型=CODECLK的采用類型/串行數據位數)。
五、IIS 總線接口特殊寄存器
I2S相關的寄存器包括I2S控制寄存器I2SCON、I2S模式寄存器I2SMOD、I2S分頻寄存器I2SPSR、I2SFCON寄存器和FIFO寄存器。
1)I2SCON控制寄存器
I2SCON控制寄存器物理地址為0x55000000,可讀/寫,復位后值為0x100。寄存器各個比特位意義如下:
[8]左右聲道標記,0=左聲道,1=右聲道;
[7]發送FIFO就緒標記,取0時表示沒有就緒,取1時表示FIFO就緒;
[6]接收FIFO就緒標記,取0時表示沒有就緒,取1時表示FIFO就緒;
[5]發送DMA請求使能,取0時請求禁止,取1時請求使能;
[4]接收DMA請求使能,取0時請求禁止,取1時請求使能;
[3]發送通道空閑命令,在空閑狀態(暫停傳輸)時,I2SLRCK是不激活的,0表示I2SLRCK產生,1表示不產生;
[2]接收通道空閑命令,在空閑狀態(暫停傳輸)時,I2SLRCK是不激活的,0表示I2SLRCK產生,1表示不產生;
[1]I2S預分頻器使能,取0時預分頻器禁止,取1時預分頻器使能;
[0]I2S接口使能,取0時I2S禁止,取1時I2S使能。
2)I2SMOD模式寄存器
I2SMOD模式寄存器物理地址為0x55000004,可讀/寫,復位后值為0x000。寄存器各個比特位意義如下:
[8]主從模式選擇,取0時為主模式,取1時為從模式;
[7:6]發送/接收模式選擇,00=無,01=接收模式,10=發送模式,11=發送/接收模式;
[5]左右通道優先級,取0時右通道高左通道低,取1時右通道低左通道高;
[4]串行接口格式,取0時I2S兼容格式,取1時MSB可調格式;
[3]每通道串行數據位,取0時8位,取1時16位;
[2]主時鐘頻率選擇,取0時主時鐘是256fs(采樣頻率),取1時為384fs;
[1:0]串行位時鐘頻率選擇,00=位時鐘是16fs,01=位時鐘是32fs,10=位時鐘是48fs,11=未定義。
3)I2S分頻寄存器I2SPSR
I2S分頻寄存器物理地址為0x55000008,可讀/寫,復位后值為0x000。寄存器各個比特位意義如下:
[9:5]A預分頻值,預分頻器A的除因子,I2S總線接口主時鐘=MCLK/A預分頻因子;
[4:0]B預分頻值,預分頻器B的除因子,外部CODEC時鐘=MCKL/B預分頻因子。
4)I2SFCON寄存器
I2SFCON寄存器物理地址為0x5500000C,可讀/寫,復位后值為0x000。寄存器各個比特位意義如下:
[15]發送FIFO訪問模式選擇,取0時工作于普通模式,取1時工作在DMA模式;
[14]接收FIFO訪問模式選擇,取0時工作于普通模式,取1時工作在DMA模式;
[13]控制發送FIFO使能,取1時使能,取0時禁止;
[12]控制接收FIFO使能,取1時使能,取0時禁止;
[11:6]發送端FIFO數據計數,計數值0~32;
[5:0]接收端FIFO數據計數,計數值0~32。
5)FIFO寄存器I2SFIF
FIFO寄存器物理地址為0x55000010,可讀/寫,復位后值為0x000。寄存器各個比特位意義如下:I2S總線接口在發送/接收模式有兩個64字節的FIFO,每個FIFO由寬16、深32的表組成,并且每個FIFO單元可以分別操作高字節或低字節。通過FIFO入口訪問發送和接收FIFO,入口地址為0x55000010。
上一篇:s3c2440之IIS(2)I2S音頻總線學習-數字音頻技術
下一篇:S3C2440之IIS配置
推薦閱讀
史海拾趣
隨著公司規模的擴大和產品線的豐富,ERNI Electronics開始積極拓展全球市場。1980年,公司在美國建立了分公司,為后續成為全球供應商打下了堅實的基礎。此后,ERNI在新加坡建立了亞洲區總部,并在中國、臺灣、韓國、泰國、馬來西亞和印度等地設立了銷售辦事處。這一系列舉措使得ERNI的產品能夠覆蓋更廣泛的市場,滿足了全球客戶的需求。
2016年3月1日,DURACELL公司正式成為伯克希爾·哈撒韋集團的一部分。這一重要事件標志著DURACELL公司在電子行業的地位得到了進一步鞏固和提升。伯克希爾·哈撒韋集團是全球知名的投資公司之一,其強大的資本實力和市場影響力將為DURACELL公司提供更多的發展機遇和挑戰。在伯克希爾·哈撒韋的支持下,DURACELL公司將繼續致力于推動電池技術的創新和發展,為全球消費者提供更優質的產品和服務。
Amphenol公司成立于1932年,最初由Arthur J. Schmitt和Gordon K. Klapmeier共同創辦,專注于電磁線纜的制造。然而,隨著技術的進步和市場需求的變化,Amphenol公司逐漸將重心轉向電纜連接器的制造。憑借高品質的產品和服務,Amphenol公司的電纜連接器在市場上獲得了廣泛的認可,并逐漸發展成為全球最大的電纜連接器制造商之一。
在電子記錄儀(ELD)市場剛剛興起時,ELDECO公司憑借其在嵌入式系統領域的深厚積累,迅速推出了首款高性能、易集成的ELD產品。這款產品不僅滿足了當時法規對車輛監控的要求,還通過創新的數據分析功能,幫助運輸企業提高了運營效率。隨著市場需求的不斷增長,ELDECO公司繼續加大研發投入,不斷推出新產品和解決方案,逐漸在ELD市場確立了領先地位。
在快速發展的同時,Axon' Cable公司始終關注環保問題。公司積極采用環保材料和工藝,減少生產過程中的污染排放。此外,Axon' Cable還投入大量資源研發環保型產品,為推動電子行業的可持續發展做出了積極貢獻。這些環保舉措不僅提升了公司的社會形象,也為公司的長期發展奠定了堅實的基礎。
Herrmann Kg自成立以來,始終致力于超聲波焊接技術的創新。在1960年代初,由Walter Herrmann創立的這家公司,通過引入基于發電機原理的機器發生器,成功替代了當時不穩定的超聲波管發生器,這一技術創新極大地提升了超聲波焊接的穩定性和效率。隨著技術的不斷迭代,Herrmann Kg開發出了包括ULTRAPLAST、ULTRAPACK和ULTRABOND在內的多條產品線,這些產品不僅滿足了市場對高效、可靠焊接技術的需求,還推動了超聲波焊接技術在電子制造領域的廣泛應用。
— 前言 — 前言往往要解釋寫文章的動機和原因,同時給作者一個正題以外灌水的機會——本文也不例外。 1、為什么我要寫這篇文章。 不可否認,我的確受到了Armok的利誘影響,但是最近發生的一些事情卻使我覺得寫 ...… 查看全部問答∨ |
|
我編寫了一個步進電機轉動的程序。來測試下步進電機的精度。結果發現一個大BUG,我給出一個周期脈沖后,步進電機轉過一個角度后便有繼續不停轉動。這是為什么?請問發生了什么?注意我沒用WHILE(1),就直接執行以后語句一次 for(i=0;i ...… 查看全部問答∨ |
|
已經有代碼了,報告也寫好了,VHDL語言不熟悉,現在要上交VHDL工程壓縮包,無奈之下只好求助了,哪位熟悉VHDL語言的大俠幫幫忙,聯系我qq361715571,我給你代碼,幫我生成一下工程就可以了 開發環境是QUARTUS II,題目是FPGA數字頻率計,用的是最 ...… 查看全部問答∨ |
|
最近用LPC2132+ISP1160做一個USB host項目,遇到了下面這個問題,拿出來和大家討論一下: 在USB設備插入后,枚舉通過后(設置地址,獲取描述符,設置配置),執行大容量設備復位和GetMaxLUN,也順利通過,但在進行GetThisInquiryData ...… 查看全部問答∨ |
現在有的FLASH提供一種叫安全ID的功能,共分為兩部分:一個是出廠自帶的隨機的128bit的二進制的數(由于是隨機的,可以認為是每片獨一無二的);還有一部分是用戶自己編程的也是128bit。我的問題是怎么樣通過這樣的條件來對自己的程序加密呢?加密 ...… 查看全部問答∨ |
新買一臺筆記本,沒有并口,也沒有串口,只有usb接口,想要做430 的仿真,怎么辦啊?我看見iar的fet工具里面有一個“j-link”是什么東東?。? 大家給出個主意吧!??!… 查看全部問答∨ |
如題1,現在用的是LM3S9B96,做了個菜單,但是按鈕有時按下去沒反映,得按兩次才行~可能是什么原因,有什么方法解決嗎~?2,加了個用一個Widget顯示時間,但是有時秒更新的時候不但數字部分更新,而且Widget的邊框也跟著閃~據說是WSYNC的問題,與ROM ...… 查看全部問答∨ |