<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > IIS接口的FPGA實(shí)現(xiàn)

          IIS接口的FPGA實(shí)現(xiàn)

          作者: 時(shí)間:2011-06-29 來源:網(wǎng)絡(luò) 收藏
          2 設(shè)計(jì)及功能仿真

          本文引用地址:http://www.ex-cimer.com/article/150545.htm

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

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

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

            此模塊主要負(fù)責(zé)處理與嵌入式系統(tǒng)的數(shù)據(jù)傳輸接口。主要輸入信號包括全局時(shí)鐘GCLK、片選信號nCS、寫信號nWBE0、讀信號nOE以及地址信號ADDR[4..0],其中地址信號確定相對于片選地址的偏移地址,5位地址信號最多可尋址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對齊模式。

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

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

            IIS總線通過IIS_out元件來實(shí)現(xiàn),其接口信號如圖3所示。輸入信號是ARM_Interface提供的左右聲道音頻數(shù)據(jù),輸出信號是IIS總線要求的3個(gè)串行信號,即bclk、sync和dout,分別與SCK、WS和SD對應(yīng),這3個(gè)信號通過FPGA的I/O口線與UDA1341的BCK、WS以及DATAI與DATAO信號線相連。IIS 格式的信號無論有多少位有效數(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í),自動進(jìn)行高位填充。

            

            實(shí)現(xiàn)IIS總線時(shí)序時(shí),關(guān)鍵是要正確處理各種時(shí)鐘信號之間以及生成的IIS總線3個(gè)信號之間的時(shí)序關(guān)系。要依據(jù)音頻信號的采樣速率選擇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信號的上升沿?cái)?shù)據(jù)dout穩(wěn)定有效,在bclk為低電平時(shí)dout才變化。當(dāng)左右聲道控制信號sync為低電平時(shí),傳輸左聲道數(shù)據(jù)‘0111011101110111’;當(dāng)sync為高電平時(shí),傳輸右聲道數(shù)據(jù)‘1010101010101010’。從仿真波形可知,每聲道數(shù)據(jù)反映在dout波形上是從sync電平變化后的第2個(gè)bclk周期開始的。

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

            



          關(guān)鍵詞: 實(shí)現(xiàn) FPGA 接口 IIS

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();