日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 電源 > 數(shù)字電源
[導(dǎo)讀]在嵌入式系統(tǒng)中經(jīng)常采用IIS(Inter-IC Sound)總線連接專用音頻器件以實(shí)現(xiàn)音頻輸入輸出。不少嵌入式處理器帶有專用的通過操作特殊功能寄存器實(shí)現(xiàn)對(duì)外接音頻器件的操作,但也有一些嵌入式處理器沒有擴(kuò)展IIS總線,如ARM7

在嵌入式系統(tǒng)中經(jīng)常采用IIS(Inter-IC Sound)總線連接專用音頻器件以實(shí)現(xiàn)音頻輸入輸出。不少嵌入式處理器帶有專用的通過操作特殊功能寄存器實(shí)現(xiàn)對(duì)外接音頻器件的操作,但也有一些嵌入式處理器沒有擴(kuò)展IIS總線,如ARM7芯片S3C4510B。近年來,F(xiàn)PGA技術(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í)序邏輯,還可以用來實(shí)現(xiàn)DSP算法,增加了系統(tǒng)的靈活性。

  1 基本原理

  1.1 系統(tǒng)方案

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

  

 

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

  1.2 IIS和UDA1341TS簡(jiǎn)介

  IIS又稱I2S, 是Philips公司提出的串行數(shù)字音頻總線協(xié)議,專用于芯片間進(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ù)傳輸過程中,發(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的重放過程也具有可編程的DSP功能,如去加重、音量控制、低音增強(qiáng)、高音增強(qiáng)以及軟件配置靜音等。

  根據(jù)串行音頻數(shù)據(jù)輸入輸出格式和每聲道字長(zhǎng)的不同,UDA1341TS支持4種操作模式,分別是:(1)字長(zhǎng)不超過20位的IIS總線模式;(2)字長(zhǎng)不超過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)獲取均通過3線串行接口L3實(shí)現(xiàn)。該接口包含3個(gè)信號(hào)線,分別是串行數(shù)據(jù)線L3DATA、接口模式選擇線L3MODE和串行時(shí)鐘線L3CLOCK。L3接口操作有兩種模式,即地址模式和數(shù)據(jù)傳輸模式。地址模式用于選中后續(xù)操作所要訪問的芯片及其內(nèi)部寄存器,被地址模式選中的芯片和寄存器一直保持有效,直到UDA1341TS收到一個(gè)新的地址模式命令字節(jié)。數(shù)據(jù)傳輸模式用于將音頻處理和系統(tǒng)控制參數(shù)寫入U(xiǎn)DA1341TS并可以讀取回放的音頻數(shù)據(jù)的峰值電平。L3MODE為低電平時(shí)操作為地址模式,高電平時(shí)操作為數(shù)據(jù)傳輸模式。

  地址模式下由主器件按標(biāo)準(zhǔn)時(shí)序送出8位地址,其中高6位表示UDA1341TS芯片地址000101,最低2位選擇要訪問的該芯片內(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ò)展地址模式,可以通過3位選擇6個(gè)5位的擴(kuò)展寄存器,分別控制通道混合增益、MIC靈敏度、自動(dòng)增益控制、輸入放大器增益器等。

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

 

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

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

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

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

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

  2.2 IIS總線實(shí)現(xiàn)

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

  

 

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

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

  

 

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

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

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

 

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

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

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

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

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

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

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

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

  

 

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

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

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

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

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

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

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

在當(dāng)今數(shù)字化時(shí)代,汽車不再僅僅是一種交通工具,更是一個(gè)移動(dòng)的智能空間。隨著人們對(duì)汽車電子設(shè)備依賴程度的不斷提高,車內(nèi) USB 接口的重要性也日益凸顯。從最初單純?yōu)槭謾C(jī)充電,到如今支持?jǐn)?shù)據(jù)傳輸、連接各種智能設(shè)備,USB 接...

關(guān)鍵字: 接口 數(shù)據(jù)傳輸 汽車供電

根據(jù)Semico Research的預(yù)測(cè),到2025年RISC-V芯片出貨量將達(dá)到624億顆,覆蓋計(jì)算、消費(fèi)電子和工業(yè)等領(lǐng)域。而在這其中,RISC-V MCU是整個(gè)RISC-V生態(tài)的基本盤,以高質(zhì)量、應(yīng)用驅(qū)動(dòng)的解決方案為...

關(guān)鍵字: 青稞 RISC-V 沁恒 接口 MCU

壓電陶瓷換能器作為一種能夠?qū)崿F(xiàn)電能與機(jī)械能相互轉(zhuǎn)換的關(guān)鍵元件,在超聲加工、醫(yī)學(xué)超聲成像、水聲通信等眾多領(lǐng)域有著廣泛應(yīng)用。其性能的優(yōu)劣與驅(qū)動(dòng)電路緊密相關(guān),而壓電陶瓷換能器的阻抗特性,無論是高阻抗還是低阻抗,都對(duì)驅(qū)動(dòng)電路提出...

關(guān)鍵字: 壓電陶瓷換能器 驅(qū)動(dòng)電路 元件

在電子電路中,尖峰電流是一種常見且具有潛在危害的現(xiàn)象。它通常在電路接通或斷開的瞬間,以及負(fù)載發(fā)生突變時(shí)出現(xiàn),其幅值可能遠(yuǎn)遠(yuǎn)超過正常工作電流。尖峰電流不僅會(huì)對(duì)電路中的元件造成損害,還可能引發(fā)電磁干擾,影響其他設(shè)備的正常運(yùn)行...

關(guān)鍵字: 尖峰電流 電磁干擾 元件

NodeMCU是一個(gè)開源物聯(lián)網(wǎng)平臺(tái),包含運(yùn)行在expressif Systems ESP8266 Wi-Fi SoC上的固件,硬件基于ESP-12模塊。NodeMCU的特點(diǎn)之一是可以使用Arduino IDE進(jìn)行簡(jiǎn)單的編...

關(guān)鍵字: GPS NodeMCU ESP8266 接口 物聯(lián)網(wǎng)

在現(xiàn)代電子設(shè)備的設(shè)計(jì)中,電容作為電路中不可或缺的元件,扮演著儲(chǔ)能、濾波、耦合和去耦等多種角色。從基礎(chǔ)的消費(fèi)電子到復(fù)雜的工業(yè)控制系統(tǒng),電容的性能直接影響系統(tǒng)的穩(wěn)定性和可靠性。

關(guān)鍵字: 電容 電路 元件

紋波有什么影響?進(jìn)行電源紋波測(cè)試需要哪些步驟?電源紋波是指電源輸出電壓中存在的交流成分。

關(guān)鍵字: 元件 電子設(shè)備

推挽式電路是一種放大電路,它按功放輸出級(jí)放大元件的數(shù)量,可以分為單端放大器和推挽放大器。

關(guān)鍵字: 推挽式 放大電路 元件

反饋是電子電路中的一種重要概念,它是指將電路輸出信號(hào)的一部分或全部通過特定的元件和網(wǎng)絡(luò)送回到輸入端,與原始輸入信號(hào)進(jìn)行比較和處理的過程。

關(guān)鍵字: 反饋 電路反饋 元件

在浩瀚的電子科技海洋中,GPIO(General Purpose Input/Output)作為一個(gè)基礎(chǔ)而強(qiáng)大的概念,始終扮演著連接微控制器與物理世界的橋梁角色。它不僅僅是一組簡(jiǎn)單的引腳,更是賦予電子設(shè)備感知與響應(yīng)能力的...

關(guān)鍵字: GPIO 接口 微控制器
關(guān)閉