關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > USB主機控制器的設計

        USB主機控制器的設計

        作者: 時間:2010-04-02 來源:網絡 收藏

        摘要:討論在SoPC(System on a Programmable Chip)系統中設計主機接口設備的一般方法,著重闡述的驅動程序開發。利用Xilinx公司的EDK軟件在ML405開發板上搭建一個基于PowerPC的片上系統,設計EZ-Host的的Linux驅動程序,使系統具有主機功能,能夠和各種USB設備進行通信,實現SoPC系統上基于Linux的USB接口的擴展,對于開發其他USB主控制器驅動具有一定借鑒意義。
        關鍵詞:USB;USB;EZ-Host;Linux;SoPC

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

        USB具有簡單、標準的連接方式、支持熱插拔等諸多優點,因此已成為流行的接口技術。USB是典型的主/從結構的總線標準,即只有USB主機才能與USB設備連接。USB總線與計算機系統的接口部分是主機控制器,它可以被看作一個硬件、固件和軟件的綜合體。主機控制器實現主機與設備之間的電氣和協議層匹配,主要包括:串并轉換、幀起始、數據處理、協議使用、傳輸錯誤處理、遠程喚醒、根Hub、主機系統接口等功能。USB設備之間通過USB Hub連接,主機控制器和USB設備之間一般通過根Hub相連。通常主機控制器提供與根Hub相關的狀態查詢和控制單元。當有設備插入時,在枚舉過程中,主機控制器驅動通過查詢和控制單元應答設備偽裝成一個Hub,所以通常稱此Hub為虛擬根Hub。
        這里利用EDK軟件搭建一個基于PowerPC的片上系統,實現了SoPC系統上基于Linux的USB接口的擴展,使系統具有USB主機功能,能夠和各種USB設備進行通信。

        1 開發環境
        目前Linux 2.6內核中的USB支持3種主控制器接口:通用主控制器接口(UHCI)、開放控制器接口(OHCI)及增強主機控制接口(EHCI)。在嵌入式系統中,如果處理器集成有USB主機控制器,則可直接引出USB主控端口;而未集成USB主機控制器的處理器則需使用USB主控器件,從總線上擴展USB主機接口。
        這里所采用的開發環境是Xilinx公司的ML405開發板。開發板上核心FPGA采用Xilinx的XC4VFX20-FF672器件,其內置1個PowerPC硬核,2個以太網MAC層控制器。開發板上還帶有64 MB的DDR SDRAM,10/100/1000以太網端口、帶主機/設備端的USB接口器件(CY7C67300)等。
        EZ-Host(CY7C67300)是Cypress半導體公司的全速低耗多端口主機/外設控制器,該器件可方便接至高性能CPU上完成USB主機控制器端的功能;擁有16位RISC指令處理器,可作為協處理器使用或單獨使用;同時支持USB的OTG協議,擁有2個可獨立配置并各帶有2個端口的USB串行接口引擎(SIE);既可用作主機,又可用作外設,并支持多達4個主機端口。另外,該器件擁有一個可編程I/O接口模塊,可供各種接口編程使用,可編程實現HPI、HSS、SPI等接口模式。當EZ-Host控制器作為USB主機控制器時,一般采用HPI主機端接口(Host Port Interface)接口模式。

        2 硬件設計
        Xilinx公司提供一個IP核opb_epc外設控制器(external peripheral controller),為OPB總線與外部同步或異步外圍設備之間的數據傳送提供一個通用接口,可方便實現處理器對于外設的控制。一個opb_epe最多可接4個外設,且每個外設可獨立配置成同步或異步模式,其時序參數(如建立時間、保持時間、訪問時間周期等)都可由用戶設置。opb_epc通過OPB總線接收處理器的讀寫指令,在相應外設接口產生相應
        的訪問周期,從而實現處理器對外圍設備的控制。這里使用opb_epc模塊作為控制器,實現PowerPC與EZ-Host的主機控制器的接口通信,嵌入式硬件系統架構如圖l所示。


        上一頁 1 2 3 下一頁

        關鍵詞: USB 主機控制器

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 西宁市| 遵义市| 苗栗县| 林州市| 巴南区| 宿州市| 通城县| 新绛县| 福清市| 崇左市| 句容市| 大余县| 北碚区| 稻城县| 屏山县| 石柱| 台东市| 河曲县| 大宁县| 温宿县| 马公市| 泾阳县| 咸阳市| 海南省| 宁波市| 大荔县| 东莞市| 兰西县| 礼泉县| 黑龙江省| 耒阳市| 平乡县| 萨嘎县| 龙井市| 德昌县| 上栗县| 南投县| 军事| 从化市| 黄冈市| 洛隆县|