<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > IIS接口的FPGA實(shí)現

IIS接口的FPGA實(shí)現

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

本文引用地址:http://dyxdggzs.com/article/150545.htm

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

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

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

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

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

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

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

  

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

  設計實(shí)現的IIS時(shí)序仿真圖如圖4所示。

  

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

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

  



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

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>