當前位置:首頁 > 嵌入式 > 嵌入式教程
[導讀]一種嵌入式USB MiniHost系統(tǒng)設計與實現(xiàn)

摘要:設計并實現(xiàn)了一個嵌入式USB主機系統(tǒng)的硬件和軟件,用于解決USB設備不能脫離PC主機的問題。并在設計的硬件和軟件基礎(chǔ)上利用嵌入式C語言編制了具有USB Host功能通用固件庫。并利用這個固件庫實現(xiàn)一個具有并口到USB接口的打印轉(zhuǎn)換器。
關(guān)鍵詞:嵌入式系統(tǒng);通用串行總線(USB);USB主機;USB設備

    在USB的拓撲機構(gòu)中居于核心地位的是主機(Host),任何一次USB的數(shù)據(jù)傳輸都必須由主機來發(fā)起和控制,所有USB設備都只能和主機建立連接,任何兩個外設之間或是兩個主機之間無法直接通信。而目前,大量扮演主機角色的是個人電腦PC。目前所買到和使用的USB設備基本都是只具備USB設備的功能而不具備主機功能,比如USB接口的移動硬盤、數(shù)碼相機、打印機等。所有這些設備都只能在USB Host上使用,也就是通常只能通過PC來進行相互的文件和數(shù)據(jù)交換。沒有了PC主機,這些設備是不能互聯(lián)的。

1 USB系統(tǒng)模型和拓撲結(jié)構(gòu)
    最簡單的USB系統(tǒng)模型組成是以USB主機為核心,以外圍的USB設備為特定功能的設備模塊。即USB提供的是主機和設備中間的一種數(shù)據(jù)通信服務。此外,為了構(gòu)建更復雜的USB系統(tǒng),還需要加上USB集線器(Hub)。
    USB主機包括PC或嵌入式系統(tǒng)兩種類型,每一次USB數(shù)據(jù)通信都必須是由USB主機來發(fā)起的(遠程喚醒模式除外),主機管理著每個USB設備。即使新興的USB On-The-Go設備,其核心部分仍然是嵌入了USB主機的功能。本方案主要是基于嵌入式USB主機的USB系統(tǒng)模型。
    USB的拓撲體系由3種元素組成:主機、Hub和設備,通過Hub的級聯(lián),構(gòu)成了層次化的星形結(jié)構(gòu)。USB的拓撲結(jié)構(gòu)如圖1所示。



2 硬件設計
2.1 電源電路
    電源電路的組成如下:
    系統(tǒng)采用雙電壓給電方式;觸發(fā)器采用3.3 V給電;1284收發(fā)器采用5 V和3.3 V的雙電壓給電方式。在交流適配器中將干擾過濾后,提供5 V直流電壓。3.3 V直流電壓由固定輸出電源模塊來提供。電源系統(tǒng)結(jié)構(gòu)如圖2所示。


2.2 USB接口電路
    為了給USB總線安全的提供電源,采用電源管理芯片,利用MCU來管理USB總線的電源。系統(tǒng)reset時,為了使與其連接的USB設備不進行誤操作,關(guān)閉USB電源;總線電路異常而導致過流(over current)時,系統(tǒng)自動關(guān)閉電源并通知MCU。并且還采用壓敏電阻(vatistor)來防止靜電(ESD);采用共模軛流線圈(Common Mode Choke Coil)來減少對總線差模數(shù)據(jù)的干擾。USB Host接口部分的電路如圖3所示。

[!--empirenews.page--]
2.3 MCU程序下載電路
    由RS232端口來下載MCU程序,對應的電路圖如圖4所示。


    DR9插座和MAX232置于單獨的下載板上,利用8PIN插座和主板(SPP/USB轉(zhuǎn)換主板)來連接。異步串行接口下載程序時,各管腳設置如下所示:
    P60=‘L’,P61=‘L’;
    MD0,MD1,MD2=‘HHL’。
2.4 Reset電路
    在MB90F337內(nèi)部有上電復位(power on reset)功能,在外部reset電路發(fā)生外部reset請求。外部reset電路的初步想法如圖5所示。使用的復位芯片(reset chip)是PST9231。reset時間利用外部電容,設置為40~50 ms之間。



3 USB Host庫設計
    MiniHost部分負責USB Host部分的操作,它將完成如下功能:初始化MiniHost部分電路;支持USB 2.0高速和低速設備;注冊回調(diào)函數(shù);設備的枚舉,包括BUS Reset、SETADDRESS請求以及設定控制端點的最大包的大?。篠ETUP請求操作;Bulk傳輸請求操作。
3.1 Time Module部分
    設置一個PWCTimer,使其再0.1ms中斷一次,在這個中斷處理程序中對記錄時間的全局變量加1,也就是說系統(tǒng)中時間的單位是0.1ms。如果記錄時間的全局變量溢出,則將這個變量的值設置為0。[!--empirenews.page--]
    初始化定時器代碼如下:
    
3.2 MiniHost部分
    MiniHost Module主流程圖如圖6所示。


    當一個新的傳輸請求開始處理時,將會執(zhí)行如圖7所示流程。

[!--empirenews.page--]
    1)發(fā)送SETUP階段請求;
    2)發(fā)送塊請求(BULK Request);
    當一個傳輸請求在一個階段處理不完時,將會執(zhí)行圖8所示流程。比如控制傳輸(Control Transfer)需要3個階段。
    3)控制傳輸(Control Transfer)結(jié)束,向EndPoint結(jié)構(gòu)體中寫入傳送完成的結(jié)果,并根據(jù)傳輸?shù)念愋妥鱿鄳幚怼?br />     4)塊傳輸(BULK Transfer)結(jié)束,向EndPoint結(jié)構(gòu)體中寫入傳送完成的結(jié)果,并向并口上發(fā)送ACK BUSY信號。

4 并口到USB接口打印轉(zhuǎn)換器實現(xiàn)
4.1 打印轉(zhuǎn)換器功能描述
    利用上述系統(tǒng),設計一個能夠把并口轉(zhuǎn)換為USB接口的打印轉(zhuǎn)換器,這個轉(zhuǎn)換器只是把從并口收到的數(shù)據(jù)轉(zhuǎn)發(fā)到USB接口上,然后根據(jù)USB接口規(guī)范,把數(shù)據(jù)重新包裝后發(fā)送給USB打印機,轉(zhuǎn)換器中并不需要對并口的數(shù)據(jù)內(nèi)容進行解釋,只是轉(zhuǎn)發(fā)。
4.2 并口打印機數(shù)據(jù)傳輸過程
    并口打印機采用IEEE1284標準進行通訊。IEEE1284標準為PC和外設之間的通訊定義了雙向通訊協(xié)議,通過該協(xié)議PC和外設之間的雙向數(shù)據(jù)傳輸率可以比以前提高20到50倍,同時該協(xié)議保持了軟件的向下兼容性。IEEE1284標準一共定義了5種數(shù)據(jù)傳輸模式,即正向傳輸模式(兼容模式),兩種反向傳輸模式(半字節(jié)模式和字節(jié)模式),兩種雙向傳輸模式(EPP模式一高速增強并行端口和ECP模式-擴展并行端口)。
打印電纜我們采用D25接口,并行口一般有25個引腳,其中包括8位數(shù)據(jù)線,5位打印機狀態(tài)線,4位控制線。
4.3 USB接口打印機數(shù)據(jù)傳輸過程
    打印設備它們能夠把頁面描述語言(PDL)轉(zhuǎn)換為人們能夠讀懂的打印頁面。因此需要制定打印機如何來接收這些PDL格式的數(shù)據(jù),如何能夠返回打印機的狀態(tài)信息。常規(guī)的并口打印機用一個雙向打印端口來只認識這些語言。USB用一個Bulk OUT端點來發(fā)送這些數(shù)據(jù)到打印機,并用一個Bulk IN端點來發(fā)送狀態(tài)信息或其他數(shù)據(jù)。對于現(xiàn)已存在的方式來說,能夠在主機中通過Bulk IN端點使用查詢機制來檢索并口的狀態(tài)信息。一些PDL允許打印機返回大量的數(shù)據(jù),諸如一些字體定義等信息。如果打印機實現(xiàn)了這個功能,它將使用用于傳送回狀態(tài)信息的Bulk IN端點來傳送回這些數(shù)據(jù)。
4.4 功能設計
    1)并口部分功能
    ①為了方便處理打印并口只支持IEEE 1284-1994 SPP模式。
    ②打印數(shù)據(jù)只支持單方向(數(shù)據(jù):PC→轉(zhuǎn)換器)。
    ③BUSY和ACK的信號時序類型為A-B(Ack-in-Busy)。
    2)USB打印機接口功能
    ①支持USB Ver2.0 Full Speed。
    ②符合Universal Serial Bus Specification 2.0。
    ③符合Universal Serial Bus Device Class Definition for Printing Devices規(guī)范。
    ④控制傳送的數(shù)據(jù)最大值為64字節(jié)。
    ⑤批量(Bulk)傳送的數(shù)據(jù)最大值為64字節(jié)。
    ⑥不處理USB Hub。
    3)內(nèi)部功能
    ①定期取得打印機的狀態(tài)(以1秒為單位),反映到并口信號線中(利用USB控制傳送的GET_PORT_STATUS)。
    ②并口的收信緩沖存儲為64字節(jié),接收到64字節(jié)后由USB接口傳送給打印機。
    ③并口的收信處理中設置了超時(1秒),一旦超時發(fā)生,接收到的數(shù)據(jù)由USB接口傳送給打印機。
4.5 并口模塊
    負責和并口相關(guān)的工作。從并口讀取數(shù)據(jù)放入數(shù)據(jù)緩沖區(qū)。設置和讀取并口狀態(tài)和控制端口。通過讀取時間,來生成并口的時序。使用中斷(Interrupt)對并口的InputPrime信號進行相應的處理。使用中斷(Interrupt)對并口的nStrobe信號進行相應的處理。
4.6 主模塊(Main Module)
    主模塊負責初始化整個系統(tǒng),包括Parallel Module,MiniHost Module以及整個系統(tǒng)的變量。編寫一個回調(diào)函數(shù),此函數(shù)在設備狀態(tài)(連接或斷開)改變時調(diào)用。在檢測到設備連接后,調(diào)用MiniHost Module枚舉功能,枚舉打印機,并把打印機設置為某種模式。檢查是否要發(fā)送的控制或批量傳送。如果要,則把它們發(fā)送出去。

5 結(jié)束語
    本論文設計了一種嵌入式USB主機系統(tǒng),并完成了該系統(tǒng)的硬件和固件的實現(xiàn)和調(diào)試。為了驗證系統(tǒng),實現(xiàn)了打印機IEEE 1284中的SPP模式協(xié)議到USB打印設備類協(xié)議轉(zhuǎn)換器。在硬件設計中,系統(tǒng)采用富士通90330系列MCU中的MB90F337完成中央控制器和USB Host控制器,電路設計簡潔。文章為其他嵌入式USB Host設備的開發(fā)提供了設計參考。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉