專利名稱:一種基于usb接口的設備互連裝置的制作方法
技術領域:
一種基于USB接口的設備互連裝置技術領域:
本實用新型涉及消費性電子產品技術領域,特別涉及一種基于USB接口 的設備互連裝置。背景技術:
目前,USB接口技術已經廣泛的應用于計算機以及消費電子產品中,USB 接口雖然能夠實現設備間數據的交換,但是它并不是一種嚴格意義上的對等 互連接協議,在USB連接系統中,必須有一個主機存在,通信也是建立在主 從控制關系基礎之上。也就是說在USB連接系統中,數據交換的雙方是主動 與被動的關系,處于主機狀態的設備具有控制權,而處于從狀態的設備處于 被控制狀態。在USB協議開發之初是圍繞計算機這個控制中心來設計的,也 就是計算機是USB連接體系中主控制者,它負責USB外圍設備ID的分配和 數據的交換控制。隨著USB設備產品的日益豐富,更多的USB產品不再是 計算機的周邊設備了,許多諸如電視、PDA、數碼相機等設備,這些設備也 具有USB的主控制能力,也就是電腦不再是USB連接體系的主體了。當這 樣的設備需要相互數據交換和通信的時候,出現了多個HOST控制器的局 面,比如電視和電腦、電視與電視、PDA與電視等具有HOST USB控制功能 的設備在一起的時候,無法將USB直接連接通信了。為此,USB發展到 USB2.0的時候,提出了 OTG (onthego)的處理辦法,此方法是在USB DEVICE的基礎上添加USB HOST功能,具備一定的主從切換能力。但是仍 然不能滿足各種USB設備之間互連互通的需要。新型內容為解決上述問題,本實用新型的主要目的在于提供一種基于USB接口的 設備互連裝置。為實現上述目的,本創作的技術方案為 一種基于USB接口的設備互連裝置,包括嵌入式CPU、用于動態配置USB接口的FPGA芯片、FLASH程序 存儲器、DRAM數據存儲器;其中,嵌入式CPU以local bus總線方式連接FPGA 芯片,FPGA芯片利用其高速I/0口連接多個USB接口;另外,CPU還連接有 程序存儲器FLASH和數據存儲器DRAM。進一步地,所述Flash程序存儲器存儲有本裝置運行所需的嵌入式操作系 統、USB驅動程序、設備互連交換協議、FPGA芯片中配置USB接口的IP核。進一步地,所述IP核分成HOST和DEVICE兩種核,用以把FPGA配置成 為具有USB接口功能的硬件單元,根據設備情況可以把該接口變成USB的 HOST或者DEVICE設備。進一步地,所述嵌入式CPU負責整個裝置的控制,具體包括對FPGA的動 態配置、USB設備的識別、驅動加載、以及設備間交換協議的執行控制。進一步地,所述FPGA在嵌入式CPU的控制下處于動態配置和運行兩個狀 態,CPU根據插入設備的性質HOST或者DEVICE來配置該FPGA上USB接口 的IP核。相較于現有技術,本實用新型一種基于USB接口的設備互聯裝置,具備 多個USB接口 ,且每個USB接口都可以被靈活配置為HOST模式或者DEVICE 模式,結合設備互聯交換協議,通過CPU的控制,保證各種USB設備之間能 夠有機連接和通信。
圖1為本實用新型的原理方框圖; 圖2為本實用新型中的軟件運行處理流程框圖。
具體實施方式
請參照圖l所示,本實用新型一種基于USB接口的設備互連裝置,包括嵌入式CPU、用于動態配置USB接口的FPGA芯片、FLASH程序存儲器、DRAM數據存儲器;其中,嵌入式CPU以localbus總線方式連接FPGA芯片,FPGA芯片利用其高速I/0口連接多個USB接口;另外,CPU還連接有程序存儲器FLASH和數據存儲器DRAM。嵌入式CPU負責整個裝置的控制,具體包括對FPGA的動態配置、USB設備的識別、驅動加載、設備間交換協議的執行控制工作;FPGA用以實現多個USB設備的物理連接;Flash程序存儲器存儲有本裝置運行所需的嵌入 式操作系統、USB驅動程序、設備互連交換協議、FPGA芯片中配置USB接 口的IP核。其中,嵌入式操作系統負責驅動代碼的加載、交換協議程序的運 行、以及設備數據交換中系統資源的提供;USB驅動程序則主要是保證能夠 兼容各種USB設備的接入,以及系統對該設備的讀寫控制;設備互連交換協 議主要是用以不同種類、不同性質USB設備的發現、軟件連接、以及通信。 具體包括把已經進行物理連接的USB設備在本裝置操作系統中注冊、分配本 裝置設置的訪問ID、統一各個USB設備之間的數據訪問方式等工作;IP核 用以把FPGA配置成為具有USB接口功能的硬件單元,其分成HOST和 DEVICE兩種核,才艮據設備情況把該接口變成USB的HOST或者DEVICE 設備。在嵌入式CPU的控制下,FPGA處于動態配置和運行兩個狀態,也即 CPU根據插入設備的性質HOST或者DEVICE來配置該FPGA上USB接口 的IP核,從而建立起基本的USB底層通信。具體的,當插入設備為DEVICE(從設備)時候,該FPGA上的USB接口被配置成為HOST (主控制)模式; 當插入HOST(主控制)設備時,該FPGA上的USB接口被配置成為DEVICE(從設備)模式。當有設備連接到本裝置時,首先FPGA的連接在USB接口上的I/O 口能 夠根據插入設備的電源引腳電平高低來判斷當前設備是主還是從設備,此時 FPGA會把檢測的結果反饋給CPU,CPU得到來自FPGA的信息后,從FLASH 中取出FPGA的配置代碼,把配置代碼動態的配置在該FPGA相應接口單元 中并形成硬件單元。此后,運行在CPU中的軟件會進一步檢測該設備的類型 以及型號,并調用相應的驅動程序。當為該端口加載設備驅動后,基本的USB 通信已經建立。運行在CPU中的數據交換處理軟件,進一步的為建立基本通 信的USB接口分配特定的ID信息并在操作系統中注冊,最后根據該設備的 類型設定數據訪問接口 。當有另外一個USB設備需要訪問這個端口的USB 設備時,首先它要在系統中搜索已經注冊的設備信息,并找到這些設備的ID, 最后才找到這些設備的訪問接口。當兩個設備建立其通信關系后,在數據交 換進程的控制下,便能實現兩個設備間的自由數據交換。請參照圖2所示,應用時,操作系統啟動,首先對CPU及其周邊設備做 初始化,然后對FPGA做簡單的初始配置,使得各個USB接口具有端口檢測功能。當FPGA被初始化結束后,操作系統啟動應用程序,并不斷的查詢FPGA 上的端口是否有設備接入。當檢測到有設備接入到FPGA的USB端口上時, 應用程序會進一步的檢測該設備是主還是從設備,即檢測該設備電源接入端 是否為高電平,如果為高電平,則接入設備為主設備,反之為從設備。在判 斷主從設備后,CPU從FLASH中取出FPGA的配置代碼對FPGA動態配置。 配置原則是,如果接入設備為主設備,則配置從USB的IP核;如果接入從 設備,則配置主USB的IP核。對FPGA進行動態配置后,操作系統需要進一步的檢測該USB設備的具 體類別和型號,以便于加載相應的驅動程序。驅動程序成功加載后,數據交 換軟件為該設備分配ID以及對其注冊,以便其它設備搜索。成功注冊后, 系統為該設備建立統一的數據訪問通道。即當有其它設備接入時候,能夠通 過這樣一個統一通道進行數據交換和通信。以上所描述的最佳實施例僅是對本實用新型進行闡述和說明,但并不局 限于所公開的任何具體形式,進行許多修改和變化是可能的。
權利要求1. 一種基于USB接口的設備互連裝置,包括嵌入式CPU、與CPU相連的FLASH程序存儲器、DRAM數據存儲器,其特征在于還包括還有用于動態配置USB接口的FPGA芯片;其中,嵌入式CPU以local bus總線方式連接FPGA芯片,FPGA芯片利用其高速I/O口連接多個USB接口。
專利摘要本實用新型公開一種基于USB接口的設備互連裝置,包括嵌入式CPU、用于動態配置USB接口的FPGA芯片、FLASH程序存儲器、DRAM數據存儲器;其中,嵌入式CPU以local bus,總線方式連接FPGA芯片,FPGA芯片利用其高速I/O口連接多個USB接口;另外,CPU還連接有程序存儲器FLASH和數據存儲器DRAM,通過CPU的控制,保證各種USB設備之間能夠有機連接和通信。
文檔編號G06F13/38GK201111021SQ20072011866
公開日2008年9月3日 申請日期2007年2月12日 優先權日2007年2月12日
發明者勇 徐, 驥 白, 郭敏強 申請人:深圳創維-Rgb電子有限公司