關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 基于TUSB6020的USB OTG接口設計

        基于TUSB6020的USB OTG接口設計

        作者: 時間:2009-08-21 來源:網絡 收藏

        VLYNQ接口引腳詳細描述如下:(1)的 VLYNQ CLK接外部時鐘,VLYNQ控制寄存器中的 CLKDIR比特位設置為 1,VLYNQ接口時鐘由 DM6437系統時鐘提供。(2)VLYNQ SCRUN為 VLYNQ時鐘運行請求引腳,低電平表示允許 VLYNQ時鐘運行,高電平表示傳輸事務結束,VLYNQ時鐘運行停止。(3)TMS320DM6437寫操作時,將數據壓縮、地址編譯,經串行編碼后由 VLYNQTXD[0:3]發出,將數據進行串行解碼和解壓縮后讀取地址,將數據寫入指定寄存器。
        (4)TMS320DM6437讀操作時,由 VLYNQ TXD[0:3]發送讀請求數據包,收到請求后,將數據壓縮和串行編碼后由 VLYNQ TXD[0:3]發往TMS320DM6437。(5)VLYNQ接口的數據收發與VLYNQ串行時鐘同步。
        2.2 軟件設計
        2.2.1 TMS320DM6437和TUSB6020底層通信的實現

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

        TMS320DM6437和TUSB6020底層通信是整個USB體系軟件的根基,包括了DM6437對TUSB6020的讀、寫、設定地址等操作,主要通過 DM6437訪問 TUSB6020的控制寄存器來完成。下面是寫TUSB6020控制寄存器的部分程序代碼。

        void TUSB6020_Write_Reg(Uint32*_base_addr,Uint32 offset,Uint8 size,Uint32 data)
        {
        Uint32 tmp_addr=0;
        Uint16 tmp_data=0;

        {…
        case 16:
        tmp_addr=*_base_addr;

        tmp_addr=tmp_addr+offset;
        tmp_data=(Uint16)data;
        (*(volatile Uint16*)tmp_addr)=data;
        break;
        …/*Todo Print Error Message*/
        break;
        }
        }

        2.2.2 TUSB6020驅動程序設計
        圖 5為 DSP/BIOS外設驅動模型。TI公司的DSP/BIOS外設驅動模型分為兩層三類,即:類驅動層和微型驅動層,PIP/PI0類、SIO/DIO類和 GI0類,結構圖如圖5所示。



        PIO模型具有良好的緩沖器分配回收機制,適合描述視頻設備,SIO模型支持更底層的通信,適合設計比較簡單的外設驅動程序,GIO模型設計的目的就是針對特殊硬件的新型設備,因此,TUSB6020類驅動程序的設計選用 GIO模型。
        GIO模型在提供必要的同步讀/寫API函數及其擴展函數的同時,將代碼和使用數據緩存的大小盡量簡化,應用程序可以調用 GIO的 API函數直接與微型驅動的 IOM交換數據。當調用GIO_create創建 TUSB6020的通道實例時,GIO在通道實例中增加I/O請求狀態結構、IOM數據包(TUSB6020_USB_Packets)及一個 GIO數據對象。
        微型驅動創建規定的函數,應用程序通過 GIO類驅動調用,這些函數將放入TUSB6020_USB_fxns中的相應位置,供應用程序通過 GIO類驅動調用。TMS320DM6437初始化時調用已注冊到微型驅動中的 mdBindDev綁定通道函數。mdBindDev函數實現下列功能:根據配置的 TUSB6020設備參數初始化 TUSB6020設備,掛入中斷服務函數,獲得緩存、DMA等資源;與其對應的 mdUnBindDev綁定通道解除函數使 TUSB6020設備處于無效狀態,不能再使用;mdCreateChan通道創建函數為應用程序和驅動程序建立通信通道,并給通道對象設置初始值,為通道申請緩沖區;mdDeleteChan通道刪除函數刪除已創建好的通道對象,釋放緩沖區資源;mdSubmitChan I/O請求發送函數負責管理緩沖區,處理 TUSB6020_USB_Packet包中的命令字段;mdControlChan設備控制函數用來操作 TUSB6020設備,完成 角色轉換及數據收發等功能。

        3 小結
        TUSB6020節省芯片資源,功耗低,架構簡潔,接口靈活,兼容性好。本文介紹了TUSB6020的功能特性、內部結構和TUSB6020的工作原理,分析了TUSB6020與外部主機的連接方式,提出了一種TMS320DM6437與TUSB6020的USB OTG接口設計方案。該接口設計可以廣泛應用于各種便攜式、嵌入式系統中,從而可靠便捷地實現USB OTG功能。
        本文作者創新點:提出了TUSB6020與TMS320DM6437的USB OTG設計方案,硬件設計有效利用了VLYNQ接口,軟件設計簡捷靈活,為USB OTG的接口設計提供了一種新的參考,有廣泛的應用價值。


        上一頁 1 2 3 下一頁

        關鍵詞: TUSB 6020 OTG USB

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 平武县| 宁夏| 故城县| 恩平市| 临泽县| 蓬溪县| 克东县| 鹰潭市| 中宁县| 夏邑县| 乌拉特中旗| 麻阳| 集安市| 西华县| 清镇市| 平泉县| 淅川县| 桐柏县| 澄迈县| 壤塘县| 惠来县| 电白县| 博罗县| 垦利县| 钟祥市| 嘉善县| 凉城县| 平凉市| 金堂县| 繁昌县| 宁夏| 三原县| 樟树市| 竹北市| 平原县| 玛多县| 平顶山市| 肥乡县| 湖南省| 武定县| 台湾省|