當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]IIS接口的FPGA實現(xiàn)

在嵌入式系統(tǒng)中經(jīng)常采用IIS(Inter-IC Sound)總線連接專用音頻器件以實現(xiàn)音頻輸入輸出。不少嵌入式處理器帶有專用的通過操作特殊功能寄存器實現(xiàn)對外接音頻器件的操作,但也有一些嵌入式處理器沒有擴展IIS總線,如ARM7芯片S3C4510B。近年來,F(xiàn)PGA技術(shù)發(fā)展迅速,現(xiàn)已成為可編程片上系統(tǒng)(SoPC)的硬件載體。采用FPGA實現(xiàn)IIS總線及與總線相關(guān)的接口控制,一方面可以用硬件的方法實現(xiàn)IIS總線操作,使嵌入式系統(tǒng)很容易擴展音頻功能;另一方面由于FPGA可以實現(xiàn)大量的組合邏輯和時序邏輯,還可以用來實現(xiàn)DSP算法,增加了系統(tǒng)的靈活性。

  1 基本原理

  1.1 系統(tǒng)方案

  嵌入式處理器采用Samsung公司的ARM7芯片S3C4510B;音頻芯片使用Philips 公司開發(fā)的UDA1341TS,這是一款適用于MiniDisc(MD)、PDA等便攜式設(shè)備的高性能低功耗的經(jīng)濟型音頻編碼解碼器;FPGA芯片則使用 Xilinx公司的Spartan-II 系列芯片XC2S100。系統(tǒng)示意圖如圖1。

  

 

  圖1中FPGA負責(zé)連接S3C4510B和UDA1341TS,為此需要按照訪問UDA1341TS的時序要求實現(xiàn)IIS總線和L3接口,同時要按照S3C4510B總線時序要求,實現(xiàn)按存儲器方式操作的特殊功能寄存器,并將對UDA1341TS的操作轉(zhuǎn)換成對特殊功能寄存器的操作。這樣S3C4510B便可以直接訪問FPGA實現(xiàn)的特殊功能寄存器,從而實現(xiàn)對UDA1341TS的控制。

  1.2 IIS和UDA1341TS簡介

  IIS又稱I2S, 是Philips公司提出的串行數(shù)字音頻總線協(xié)議,專用于芯片間進行高速高效的音頻數(shù)據(jù)傳輸。IIS總線只處理聲音數(shù)據(jù),其他信號必須單獨傳輸,如控制信號。IIS總線包括3 個信號線,即1個雙向數(shù)據(jù)傳輸線SD(Serial Data)、一個聲道選擇線WS(Word Select)和1個時鐘線SCK(Serial Clock)。在數(shù)據(jù)傳輸過程中,發(fā)送端和接收端具有相同的時鐘信號,發(fā)送端作為主裝置(Master)時,產(chǎn)生位時鐘信號和聲道選擇信號,接收端被動響應(yīng)。為了實現(xiàn)全雙工傳輸模式,一些IIS實現(xiàn)時使用了Dout和Din兩個數(shù)據(jù)線。

  UDA1341TS片內(nèi)集成了立體聲ADC、DAC以及模擬輸入通道,其中模擬輸入通道包括可編程增益放大器(PGA)、數(shù)字自動增益控制(AGC)、 數(shù)字聲音處理(DSP)等。UDA1341TS的重放過程也具有可編程的DSP功能,如去加重、音量控制、低音增強、高音增強以及軟件配置靜音等。

  根據(jù)串行音頻數(shù)據(jù)輸入輸出格式和每聲道字長的不同,UDA1341TS支持4種操作模式,分別是:(1)字長不超過20位的IIS總線模式;(2)字長不超過20位的最高位對齊(MSB-justified)模式;(3)字長為16、18或20位的最低位對齊(LSB-justified)模式;(4)輸出采用最高位對齊,輸入采用字長為16、18或20位的最低位對齊模式。其中IIS總線模式和最高位對齊模式操作時序如圖2所示。二者具有相同的信號線,但左右聲道控制電平和位延遲不同,對于IIS總線,聲道控制電平改變后,最高位推遲一個時鐘周期才發(fā)送。

  

 

  對UDA1341TS的所有功能控制和狀態(tài)獲取均通過3線串行接口L3實現(xiàn)。該接口包含3個信號線,分別是串行數(shù)據(jù)線L3DATA、接口模式選擇線L3MODE和串行時鐘線L3CLOCK。L3接口操作有兩種模式,即地址模式和數(shù)據(jù)傳輸模式。地址模式用于選中后續(xù)操作所要訪問的芯片及其內(nèi)部寄存器,被地址模式選中的芯片和寄存器一直保持有效,直到UDA1341TS收到一個新的地址模式命令字節(jié)。數(shù)據(jù)傳輸模式用于將音頻處理和系統(tǒng)控制參數(shù)寫入UDA1341TS并可以讀取回放的音頻數(shù)據(jù)的峰值電平。L3MODE為低電平時操作為地址模式,高電平時操作為數(shù)據(jù)傳輸模式。

  地址模式下由主器件按標(biāo)準時序送出8位地址,其中高6位表示UDA1341TS芯片地址000101,最低2位選擇要訪問的該芯片內(nèi)部寄存器,分別是DATA0、DATA1和STATUS,由此產(chǎn)生下面的3種寄存器操作模式。

  (1)STATUS操作模式可以控制芯片復(fù)位、系統(tǒng)時鐘頻率、數(shù)據(jù)輸入格式、DC濾波器、輸入增益、輸出增益、ADC和DAC極性控制、倍速播放和功率控制等。

  (2)DATA0操作模式又分為兩種:直接地址模式和擴展地址模式。數(shù)據(jù)最高2位非‘11’時為直接地址模式,在這種模式下,可以直接控制音量、低音增強、高音增強、峰值檢測位置、去加重、靜音等功能;數(shù)據(jù)最高2位為‘11’時為擴展地址模式,可以通過3位選擇6個5位的擴展寄存器,分別控制通道混合增益、MIC靈敏度、自動增益控制、輸入放大器增益器等。

  (3)DATA1操作模式用于讀取音頻數(shù)據(jù)重放時的峰值電平。[!--empirenews.page--]2 FPGA設(shè)計及功能仿真

 

  如圖1所示,F(xiàn)PGA負責(zé)連接S3C4510B和UDA1341TS,需要實現(xiàn)S3C4510B總線接口、IIS總線和L3接口等。采用模塊化設(shè)計思想,劃分幾個功能相對獨立的模塊,并將各個功能模塊封裝成元件(Component),分別設(shè)計、仿真、測試、驗證各元件,最后在頂層調(diào)用各元件,并將元件信號與實際輸入輸出信號關(guān)聯(lián),實現(xiàn)整體功能。實際實現(xiàn)了4個元件,如圖2所示。

  圖2中,元件ARM_Interface負責(zé)實現(xiàn)與S3C4510B接口,主要是實現(xiàn)幾個可以映射成存儲器的地址單元,并提供這些單元與其他元件的接口。其中左右聲道單元為16位,在內(nèi)部分別與2個FIFO相連接,以便音頻數(shù)據(jù)以選定的速率回放;IIS_out元件負責(zé)產(chǎn)生IIS總線或MSB對齊模式時序;L3_3B_Mod元件實現(xiàn)UDA1341TS數(shù)據(jù)傳輸模式中的DATA0擴展地址模式,共需傳輸3個字節(jié);L3_2B_Mod元件則負責(zé)UDA1341TS其余的操作模式,只需傳輸2字節(jié),即1字節(jié)地址和1字節(jié)數(shù)據(jù)。采用這種元件模塊設(shè)計的方法主要考慮到FPGA容易實現(xiàn)并行操作,但對復(fù)雜條件操作和邏輯判斷則不如處理器編程實現(xiàn)方便。因此并行實現(xiàn)多個元件,再由簡單邏輯和條件及輸入?yún)?shù)控制選定的元件工作,以實現(xiàn)需要的功能,這是FPGA設(shè)計的主要思想。

  2.1 嵌入式處理器接口實現(xiàn)

  此模塊主要負責(zé)處理與嵌入式系統(tǒng)的數(shù)據(jù)傳輸接口。主要輸入信號包括全局時鐘GCLK、片選信號nCS、寫信號nWBE0、讀信號nOE以及地址信號ADDR[4..0],其中地址信號確定相對于片選地址的偏移地址,5位地址信號最多可尋址32個16位地址單元。所有總線數(shù)據(jù)操作與全局時鐘同步。根據(jù)需要,實際設(shè)計實現(xiàn)了7個寄存器,分別是DATA0直接地址寄存器、DATA0擴展地址寄存器、DATA1寄存器、STATUS寄存器、左聲道音頻數(shù)據(jù)緩存器、右聲道音頻數(shù)據(jù)緩存器、FPGA控制寄存器,它們的偏移地址分別是0x00100、0x00110、0x01000、0x10100、0x00000、0x00010、0x01100。上述寄存器中,只有左右聲道音頻數(shù)據(jù)緩存器為16位,其余均為8位,因此只能實現(xiàn)不超過16位的IIS總線和MSB對齊模式。

  測試本元件時,首先應(yīng)測試單元的讀寫特性,通過ARM仿真器直接對編程單元進行讀寫即可驗證擴展的正確性。對于內(nèi)建16x8的FIFO的左右聲道數(shù)據(jù)緩存器,可以通過讀寫多次測試其滿空狀態(tài),并通過1個接在FPGA的I/O口線上的LED直接觀察。測試無誤后,該元件便可使用。

  2.2 IIS總線實現(xiàn)

  IIS總線通過IIS_out元件來實現(xiàn),其接口信號如圖3所示。輸入信號是ARM_Interface提供的左右聲道音頻數(shù)據(jù),輸出信號是IIS總線要求的3個串行信號,即bclk、sync和dout,分別與SCK、WS和SD對應(yīng),這3個信號通過FPGA的I/O口線與UDA1341的BCK、WS以及DATAI與DATAO信號線相連。IIS 格式的信號無論有多少位有效數(shù)據(jù),數(shù)據(jù)的最高位(MSB)總是被最先傳輸,在WS 變化后的第2 個SCK脈沖處,因此最高位擁有固定的位置,而最低位的位置則依賴于數(shù)據(jù)的有效位數(shù)。實際設(shè)計的數(shù)據(jù)有效位是16位,低于16位數(shù)據(jù)時高位填充‘0’,處理器將數(shù)據(jù)以16位方式寫入左右聲道音頻數(shù)據(jù)緩存器時,自動進行高位填充。

  

 

  實現(xiàn)IIS總線時序時,關(guān)鍵是要正確處理各種時鐘信號之間以及生成的IIS總線3個信號之間的時序關(guān)系。要依據(jù)音頻信號的采樣速率選擇FPGA系統(tǒng)時鐘和UDA1341時鐘選項,同時要合理使用計數(shù)器并正確讀取左右聲道音頻數(shù)據(jù)緩存器,最終實現(xiàn)音頻數(shù)據(jù)通過IIS總線的正確傳輸。

  設(shè)計實現(xiàn)的IIS時序仿真圖如圖4所示。

  

 

  圖4顯示的是IIS_out元件將左右聲道音頻數(shù)據(jù)緩存器內(nèi)2個16位數(shù)據(jù)由IIS總線輸出的時序仿真結(jié)果。bclk信號的上升沿數(shù)據(jù)dout穩(wěn)定有效,在bclk為低電平時dout才變化。當(dāng)左右聲道控制信號sync為低電平時,傳輸左聲道數(shù)據(jù)‘0111011101110111’;當(dāng)sync為高電平時,傳輸右聲道數(shù)據(jù)‘1010101010101010’。從仿真波形可知,每聲道數(shù)據(jù)反映在dout波形上是從sync電平變化后的第2個bclk周期開始的。

  圖2所示的最高位對齊模式與IIS使用相同的信號,很容易在IIS總線的基礎(chǔ)上修改實現(xiàn)。實際實現(xiàn)的最高位對齊模式仿真時序正確,在此不再詳述。

   [!--empirenews.page--]2.3 L3接口實現(xiàn)

 

  由于IIS總線只處理聲音數(shù)據(jù),其他信號必須單獨傳輸,所以為了控制UDA1341TS而設(shè)計了L3接口。在FPGA實現(xiàn)L3接口時,根據(jù)UDA1341TS操作模式的不同,設(shè)計了兩個元件。圖3中元件L3_2B_Mod用于只需傳輸1字節(jié)地址和1字節(jié)數(shù)據(jù)的情況,而L3_3B_Mod則用來傳輸1字節(jié)地址和兩字節(jié)數(shù)據(jù)。

  為了便于控制,在元件ARM_Interface中專門設(shè)置了一個控制寄存器來控制L3接口的工作模式,該寄存器偏移地址為0x01100,其高4位有定義。最高位為接口允許位TRANS_EN,為‘1’時L3接口啟動工作,為‘0’時停止;次高位為L3接口工作模式選擇位TRANSMODE,為‘0’時選擇L3_2B_Mod,為‘1’時選擇L3_3B_Mod;接下來的二位用于選擇寄存器。

  實際設(shè)計實現(xiàn)的元件L3_3B_Mod時序仿真圖見圖5。

  圖5顯示的是L3接口DATA0擴展地址模式時序圖,共傳輸了3字節(jié)數(shù)據(jù),即1個地址字節(jié)、2個數(shù)據(jù)字節(jié)。地址字節(jié)的高6位為UDA1341TS地址,低2位選擇DATA0操作模式,緊接著的數(shù)據(jù)字節(jié)最高兩位為‘11’選擇擴展地址模式,這意味著該字節(jié)后面還要傳輸1字節(jié)數(shù)據(jù)。圖5中的3字節(jié)分別為0x14、0xC4和0xF0,該命令將打開輸入通道的自動增益控制。L3接口要求串行數(shù)據(jù)的低位在前傳輸,這一點與IIS有所不同。

  實現(xiàn)L3_3B_Mod元件時引入了一個參考時鐘REF_CLK,由一個5位計數(shù)器對該時鐘信號計數(shù),根據(jù)L3接口在3字節(jié)操作時的時鐘信號圖案,控制由REF_CLK生成L3CLOCK,得到L3CLOCK之后,L3接口的操作均以此時鐘信號來同步。

  元件L3_2B_Mod設(shè)計及仿真結(jié)果與L3_2B_Mod類似。

  3 測試方法及結(jié)果

  在以S3C4510B為核心的嵌入式系統(tǒng)中,根據(jù)存儲器配置情況,選擇一段未用的存儲空間,將FPGA實現(xiàn)的寄存器映射成S3C4510B在該段存儲空間中的存儲單元,這樣就可以用C語言編程來訪問這些存儲單元,從而實現(xiàn)對UDA1341TS的控制。實際選擇了S3C4510B的可重定位片選信號nRCS1作為FPGA實現(xiàn)的寄存器基地址選擇信號,并將該片選地址定位為0x12000000,這樣各寄存器的實際地址如表1。

  

 

  根據(jù)UDA1341TS命令列表,在Hitool For ARM support μClinux軟件開發(fā)環(huán)境下,編寫C語言程序,測試STATUS操作和DATA0操作功能及結(jié)果。程序運行之前需要用JTAG下載電纜將ISE開發(fā)環(huán)境下生成的bit文件下載 到FPGA芯片中,以實現(xiàn)要求的功能。

  經(jīng)實際測試,通過FPGA實現(xiàn)的IIS總線和L3接口,S3C4510B可以控制UDA1341TS芯片完成各種操作,實現(xiàn)STATUS操作模式和DATA0模式的各種控制功能,并可用DATA1操作模式獲取音頻數(shù)據(jù)重放時的峰值電平。

  編寫測試程序,輸出1kHz正弦信號,并控制聲道、音量、靜音等變化,示波器觀察和耳機聽到的結(jié)果正確。

  編寫測試程序,讀入麥克風(fēng)音頻信號,分時由左右聲道輸出,測試結(jié)果正確。

  本設(shè)計采用音頻接口專用芯片UDA1341TS,并通過FPGA實現(xiàn)了IIS總線和L3接口,使得基于S3C4510B的嵌入式系統(tǒng)可以方便地擴展音頻功能,實驗結(jié)果正確。

  在本文工作的基礎(chǔ)上,可以進一步發(fā)揮FPGA的靈活性。如可以利用FPGA實現(xiàn)DSP功能,從而提供音頻DSP處理或編碼解碼;也可以與SoPC相結(jié)合,作為音頻接口模塊,為片上系統(tǒng)提供音頻接口。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉