IIS接口的FPGA實(shí)現(xiàn)
在嵌入式系統(tǒng)中經(jīng)常采用IIS(Inter-IC Sound)總線連接專(zhuān)用音頻器件以實(shí)現(xiàn)音頻輸入輸出。不少嵌入式處理器帶有專(zhuān)用的通過(guò)操作特殊功能寄存器實(shí)現(xiàn)對(duì)外接音頻器件的操作,但也有一些嵌入式處理器沒(méi)有擴(kuò)展IIS總線,如ARM7芯片S3C4510B。近年來(lái),FPGA技術(shù)發(fā)展迅速,現(xiàn)已成為可編程片上系統(tǒng)(SoPC)的硬件載體。采用FPGA實(shí)現(xiàn)IIS總線及與總線相關(guān)的接口控制,一方面可以用硬件的方法實(shí)現(xiàn)IIS總線操作,使嵌入式系統(tǒng)很容易擴(kuò)展音頻功能;另一方面由于FPGA可以實(shí)現(xiàn)大量的組合邏輯和時(shí)序邏輯,還可以用來(lái)實(shí)現(xiàn)DSP算法,增加了系統(tǒng)的靈活性。
本文引用地址:http://m.butianyuan.cn/article/150545.htm1 基本原理
1.1 系統(tǒng)方案
嵌入式處理器采用Samsung公司的ARM7芯片S3C4510B;音頻芯片使用Philips 公司開(kāi)發(fā)的UDA1341TS,這是一款適用于MiniDisc(MD)、PDA等便攜式設(shè)備的高性能低功耗的經(jīng)濟(jì)型音頻編碼解碼器;FPGA芯片則使用 Xilinx公司的Spartan-II 系列芯片XC2S100。系統(tǒng)示意圖如圖1。
圖1中FPGA負(fù)責(zé)連接S3C4510B和UDA1341TS,為此需要按照訪問(wèn)UDA1341TS的時(shí)序要求實(shí)現(xiàn)IIS總線和L3接口,同時(shí)要按照S3C4510B總線時(shí)序要求,實(shí)現(xiàn)按存儲(chǔ)器方式操作的特殊功能寄存器,并將對(duì)UDA1341TS的操作轉(zhuǎn)換成對(duì)特殊功能寄存器的操作。這樣S3C4510B便可以直接訪問(wèn)FPGA實(shí)現(xiàn)的特殊功能寄存器,從而實(shí)現(xiàn)對(duì)UDA1341TS的控制。
1.2 IIS和UDA1341TS簡(jiǎn)介
IIS又稱(chēng)I2S, 是Philips公司提出的串行數(shù)字音頻總線協(xié)議,專(zhuān)用于芯片間進(jìn)行高速高效的音頻數(shù)據(jù)傳輸。IIS總線只處理聲音數(shù)據(jù),其他信號(hào)必須單獨(dú)傳輸,如控制信號(hào)。IIS總線包括3 個(gè)信號(hào)線,即1個(gè)雙向數(shù)據(jù)傳輸線SD(Serial Data)、一個(gè)聲道選擇線WS(Word Select)和1個(gè)時(shí)鐘線SCK(Serial Clock)。在數(shù)據(jù)傳輸過(guò)程中,發(fā)送端和接收端具有相同的時(shí)鐘信號(hào),發(fā)送端作為主裝置(Master)時(shí),產(chǎn)生位時(shí)鐘信號(hào)和聲道選擇信號(hào),接收端被動(dòng)響應(yīng)。為了實(shí)現(xiàn)全雙工傳輸模式,一些IIS實(shí)現(xiàn)時(shí)使用了Dout和Din兩個(gè)數(shù)據(jù)線。
UDA1341TS片內(nèi)集成了立體聲ADC、DAC以及模擬輸入通道,其中模擬輸入通道包括可編程增益放大器(PGA)、數(shù)字自動(dòng)增益控制(AGC)、 數(shù)字聲音處理(DSP)等。UDA1341TS的重放過(guò)程也具有可編程的DSP功能,如去加重、音量控制、低音增強(qiáng)、高音增強(qiáng)以及軟件配置靜音等。
根據(jù)串行音頻數(shù)據(jù)輸入輸出格式和每聲道字長(zhǎng)的不同,UDA1341TS支持4種操作模式,分別是:(1)字長(zhǎng)不超過(guò)20位的IIS總線模式;(2)字長(zhǎng)不超過(guò)20位的最高位對(duì)齊(MSB-justified)模式;(3)字長(zhǎng)為16、18或20位的最低位對(duì)齊(LSB-justified)模式;(4)輸出采用最高位對(duì)齊,輸入采用字長(zhǎng)為16、18或20位的最低位對(duì)齊模式。其中IIS總線模式和最高位對(duì)齊模式操作時(shí)序如圖2所示。二者具有相同的信號(hào)線,但左右聲道控制電平和位延遲不同,對(duì)于IIS總線,聲道控制電平改變后,最高位推遲一個(gè)時(shí)鐘周期才發(fā)送。
對(duì)UDA1341TS的所有功能控制和狀態(tài)獲取均通過(guò)3線串行接口L3實(shí)現(xiàn)。該接口包含3個(gè)信號(hào)線,分別是串行數(shù)據(jù)線L3DATA、接口模式選擇線L3MODE和串行時(shí)鐘線L3CLOCK。L3接口操作有兩種模式,即地址模式和數(shù)據(jù)傳輸模式。地址模式用于選中后續(xù)操作所要訪問(wèn)的芯片及其內(nèi)部寄存器,被地址模式選中的芯片和寄存器一直保持有效,直到UDA1341TS收到一個(gè)新的地址模式命令字節(jié)。數(shù)據(jù)傳輸模式用于將音頻處理和系統(tǒng)控制參數(shù)寫(xiě)入U(xiǎn)DA1341TS并可以讀取回放的音頻數(shù)據(jù)的峰值電平。L3MODE為低電平時(shí)操作為地址模式,高電平時(shí)操作為數(shù)據(jù)傳輸模式。
地址模式下由主器件按標(biāo)準(zhǔn)時(shí)序送出8位地址,其中高6位表示UDA1341TS芯片地址000101,最低2位選擇要訪問(wèn)的該芯片內(nèi)部寄存器,分別是DATA0、DATA1和STATUS,由此產(chǎn)生下面的3種寄存器操作模式。
(1)STATUS操作模式可以控制芯片復(fù)位、系統(tǒng)時(shí)鐘頻率、數(shù)據(jù)輸入格式、DC濾波器、輸入增益、輸出增益、ADC和DAC極性控制、倍速播放和功率控制等。
(2)DATA0操作模式又分為兩種:直接地址模式和擴(kuò)展地址模式。數(shù)據(jù)最高2位非‘11’時(shí)為直接地址模式,在這種模式下,可以直接控制音量、低音增強(qiáng)、高音增強(qiáng)、峰值檢測(cè)位置、去加重、靜音等功能;數(shù)據(jù)最高2位為‘11’時(shí)為擴(kuò)展地址模式,可以通過(guò)3位選擇6個(gè)5位的擴(kuò)展寄存器,分別控制通道混合增益、MIC靈敏度、自動(dòng)增益控制、輸入放大器增益器等。
(3)DATA1操作模式用于讀取音頻數(shù)據(jù)重放時(shí)的峰值電平。
評(píng)論