一種嵌入式USB MiniHost系統設計與實現
摘要:設計并實現了一個嵌入式USB主機系統的硬件和軟件,用于解決USB設備不能脫離PC主機的問題。并在設計的硬件和軟件基礎上利用嵌入式C語言編制了具有USB Host功能通用固件庫。并利用這個固件庫實現一個具有并口到USB接口的打印轉換器。
關鍵詞:嵌入式系統;通用串行總線(USB);USB主機;USB設備
在USB的拓撲機構中居于核心地位的是主機(Host),任何一次USB的數據傳輸都必須由主機來發起和控制,所有USB設備都只能和主機建立連接,任何兩個外設之間或是兩個主機之間無法直接通信。而目前,大量扮演主機角色的是個人電腦PC。目前所買到和使用的USB設備基本都是只具備USB設備的功能而不具備主機功能,比如USB接口的移動硬盤、數碼相機、打印機等。所有這些設備都只能在USB Host上使用,也就是通常只能通過PC來進行相互的文件和數據交換。沒有了PC主機,這些設備是不能互聯的。
1 USB系統模型和拓撲結構
最簡單的USB系統模型組成是以USB主機為核心,以外圍的USB設備為特定功能的設備模塊。即USB提供的是主機和設備中間的一種數據通信服務。此外,為了構建更復雜的USB系統,還需要加上USB集線器(Hub)。
USB主機包括PC或嵌入式系統兩種類型,每一次USB數據通信都必須是由USB主機來發起的(遠程喚醒模式除外),主機管理著每個USB設備。即使新興的USB On-The-Go設備,其核心部分仍然是嵌入了USB主機的功能。本方案主要是基于嵌入式USB主機的USB系統模型。
USB的拓撲體系由3種元素組成:主機、Hub和設備,通過Hub的級聯,構成了層次化的星形結構。USB的拓撲結構如圖1所示。
2 硬件設計
2.1 電源電路
電源電路的組成如下:
系統采用雙電壓給電方式;觸發器采用3.3 V給電;1284收發器采用5 V和3.3 V的雙電壓給電方式。在交流適配器中將干擾過濾后,提供5 V直流電壓。3.3 V直流電壓由固定輸出電源模塊來提供。電源系統結構如圖2所示。
2.2 USB接口電路
為了給USB總線安全的提供電源,采用電源管理芯片,利用MCU來管理USB總線的電源。系統reset時,為了使與其連接的USB設備不進行誤操作,關閉USB電源;總線電路異常而導致過流(over current)時,系統自動關閉電源并通知MCU。并且還采用壓敏電阻(vatistor)來防止靜電(ESD);采用共模軛流線圈(Common Mode Choke Coil)來減少對總線差模數據的干擾。USB Host接口部分的電路如圖3所示。
評論