新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > IIS接口的FPGA實現

        IIS接口的FPGA實現

        作者: 時間:2011-06-29 來源:網絡 收藏
        2.3 L3

        本文引用地址:http://www.104case.com/article/150545.htm

          由于總線只處理聲音數據,其他信號必須單獨傳輸,所以為了控制UDA1341TS而設計了L3。在L3時,根據UDA1341TS操作模式的不同,設計了兩個元件。圖3中元件L3_2B_Mod用于只需傳輸1字節地址和1字節數據的情況,而L3_3B_Mod則用來傳輸1字節地址和兩字節數據。

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

          實際設計的元件L3_3B_Mod時序仿真圖見圖5。

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

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

          元件L3_2B_Mod設計及仿真結果與L3_2B_Mod類似。

          3 測試方法及結果

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

          

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

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

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

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

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

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


        上一頁 1 2 3 下一頁

        關鍵詞: 實現 FPGA 接口 IIS

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 六安市| 阜宁县| 富锦市| 红安县| 余干县| 明水县| 石楼县| 洛浦县| 台山市| 西藏| 阿鲁科尔沁旗| 登封市| 平谷区| 砀山县| 余姚市| 五原县| 息烽县| 湘潭市| 麻栗坡县| 南华县| 剑川县| 梁平县| 来凤县| 高唐县| 团风县| 诸暨市| 宜兰县| 阳西县| 华安县| 藁城市| 济南市| 句容市| 区。| 新蔡县| 临漳县| 吉首市| 图木舒克市| 新田县| 绥阳县| 德江县| 石家庄市|