關(guān) 閉

        新聞中心

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

        USB主機控制器的設(shè)計

        作者: 時間:2010-04-02 來源:網(wǎng)絡(luò) 收藏

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

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

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

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

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


        上一頁 1 2 3 下一頁

        關(guān)鍵詞: USB 主機控制器

        評論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 沅陵县| 清新县| 吉隆县| 万安县| 柘荣县| 黄龙县| 延津县| 门源| 绩溪县| 古田县| 民乐县| 武宁县| 社旗县| 文昌市| 武山县| 青海省| 丘北县| 瑞丽市| 罗定市| 文昌市| 莒南县| 溆浦县| 宁波市| 霍山县| 赤壁市| 辽宁省| 丰城市| 台东县| 浦县| 正镶白旗| 吉木萨尔县| 崇礼县| 宾阳县| 普洱| 蚌埠市| 沙坪坝区| 新巴尔虎左旗| 金平| 黑山县| 景德镇市| 宣威市|