《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 一種嵌入式USBMiniHost系統設計與實現
一種嵌入式USBMiniHost系統設計與實現
電子設計工程
梁寶娟,孫少波
摘要: 設計并實現了一個嵌入式USB主機系統的硬件和軟件,用于解決USB設備不能脫離PC主機的問題。并在設計的硬件和軟件基礎上利用嵌入式C語言編制了具有USBHost功能通用固件庫。并利用這個固件庫實現一個具有并口到USB接口的打印轉換器。
Abstract:
Key words :

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所示。

a.JPG



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

b.JPG


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

c.JPG

2.3 MCU程序下載電路
由RS232端口來下載MCU程序,對應的電路圖如圖4所示。

d.JPG


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

e.JPG



3 USB Host庫設計
MiniHost部分負責USB Host部分的操作,它將完成如下功能:初始化MiniHost部分電路;支持USB 2.0高速和低速設備;注冊回調函數;設備的枚舉,包括BUS Reset、SETADDRESS請求以及設定控制端點的最大包的大小:SETUP請求操作;Bulk傳輸請求操作。
3.1 Time Module部分
設置一個PWCTimer,使其再0.1ms中斷一次,在這個中斷處理程序中對記錄時間的全局變量加1,也就是說系統中時間的單位是0.1ms。如果記錄時間的全局變量溢出,則將這個變量的值設置為0。


初始化定時器代碼如下:
f.JPG
3.2 MiniHost部分
MiniHost Module主流程圖如圖6所示。

h.JPG


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

i.JPG

1)發送SETUP階段請求;
2)發送塊請求(BULK Request);
當一個傳輸請求在一個階段處理不完時,將會執行圖8所示流程。比如控制傳輸(Control Transfer)需要3個階段。
3)控制傳輸(Control Transfer)結束,向EndPoint結構體中寫入傳送完成的結果,并根據傳輸的類型做相應處理。
4)塊傳輸(BULK Transfer)結束,向EndPoint結構體中寫入傳送完成的結果,并向并口上發送ACK BUSY信號。

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

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

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美激情91| 国产精品丝袜久久久久久app| 亚洲视频一区二区在线观看| 亚洲欧洲精品一区二区三区不卡 | 亚洲在线播放| 亚洲视频 欧洲视频| 99精品欧美一区二区三区| 亚洲精品裸体| 亚洲乱码视频| 日韩小视频在线观看| 亚洲精品一区二区三区四区高清| 最近中文字幕mv在线一区二区三区四区| 久久精品亚洲| 亚洲高清视频的网址| 亚洲激情视频网站| 亚洲精品日韩在线观看| 亚洲精品视频在线看| 日韩视频在线观看免费| 一本一道久久综合狠狠老精东影业 | 久久精品91久久久久久再现| 欧美中文在线免费| 亚洲国产成人porn| 亚洲精品日韩久久| 亚洲视频观看| 午夜在线一区| 久久嫩草精品久久久久| 男人的天堂亚洲在线| 欧美精品一区二区三区视频| 欧美三日本三级少妇三2023| 国产精品高潮视频| 国产一区导航| 亚洲成人直播| 99在线热播精品免费99热| 亚洲欧美精品在线| 久久精品视频亚洲| 亚洲美女在线一区| 亚洲欧美日本在线| 久久视频在线免费观看| 欧美成人蜜桃| 国产精品国产三级国产aⅴ浪潮 | 亚洲一线二线三线久久久| 亚洲欧美综合精品久久成人| 久久久久久国产精品mv| 欧美激情精品久久久久久久变态| 欧美日韩一区二区国产| 国产女人精品视频| 韩国精品久久久999| 亚洲激情欧美激情| 亚洲尤物影院| 亚洲欧洲三级| 亚洲在线观看视频网站| 久久在线播放| 欧美日本精品| 国产欧美丝祙| 亚洲国产精品一区二区www| 亚洲深夜影院| 久久精品一二三区| 在线亚洲自拍| 久久久久在线观看| 欧美日韩在线电影| 国外成人网址| 在线亚洲国产精品网站| 亚洲国产中文字幕在线观看| 亚洲综合三区| 欧美黑人国产人伦爽爽爽| 国产区精品在线观看| 亚洲国产精品高清久久久| 亚洲午夜伦理| 亚洲精品乱码久久久久久按摩观| 亚久久调教视频| 欧美日本三级| 狠狠色丁香婷婷综合| 亚洲午夜精品一区二区| 亚洲日本成人| 久久精品男女| 国产精品久久久久久久7电影| 亚洲国产mv| 欧美一区二区日韩| 亚洲一区欧美一区| 欧美精品粉嫩高潮一区二区| 国产亚洲欧美在线| 这里是久久伊人| 日韩视频免费| 免费成人av资源网| 国产在线观看精品一区二区三区| 9国产精品视频| 亚洲美女视频网| 美女视频黄免费的久久| 国产亚洲高清视频| 亚洲午夜久久久| 中文日韩电影网站| 欧美精品激情blacked18| 国产综合香蕉五月婷在线| 亚洲欧美在线磁力| 亚洲摸下面视频| 欧美区一区二| 亚洲黄色性网站| 亚洲黄色小视频| 久久嫩草精品久久久精品| 国产深夜精品福利| 亚洲一区二区三区免费在线观看| 在线视频亚洲一区| 欧美精品一区二区精品网| 亚洲国产精选| 最新国产成人av网站网址麻豆| 久久成人亚洲| 国产午夜精品一区二区三区欧美| 在线一区二区视频| 亚洲五月婷婷| 欧美特黄一级大片| 日韩视频免费在线| 亚洲少妇最新在线视频| 欧美日韩免费观看中文| 99精品视频免费| 亚洲视频在线一区| 欧美视频在线观看一区| 一区二区三区**美女毛片| 在线视频亚洲一区| 欧美午夜大胆人体| 亚洲视频在线观看三级| 亚洲欧美日韩精品久久亚洲区 | 亚洲欧洲日产国产综合网| 亚洲人成啪啪网站| 欧美丰满少妇xxxbbb| 亚洲国产精品久久91精品| 亚洲精选在线观看| 欧美日韩精品三区| 9色porny自拍视频一区二区| 亚洲一区欧美一区| 国产精品一区在线播放| 午夜精品福利一区二区三区av| 欧美在线免费视频| 国产一区亚洲一区| 亚洲成色777777在线观看影院| 美女视频黄 久久| 亚洲青色在线| 亚洲图片欧洲图片av| 国产精品理论片| 午夜精品一区二区三区在线播放| 久久久久久精| 亚洲黄一区二区| 亚洲午夜精品国产| 国产精品午夜电影| 亚洲大胆av| 欧美啪啪一区| 亚洲免费影视| 麻豆乱码国产一区二区三区| 亚洲精品乱码久久久久久日本蜜臀 | 国内伊人久久久久久网站视频| 亚洲高清在线精品| 欧美久久综合| 中国成人在线视频| 久久精品91久久香蕉加勒比| 在线看欧美日韩| 亚洲一区二区av电影| 国产女人精品视频| 亚洲国产人成综合网站| 欧美日韩精品免费观看视频| 亚洲小视频在线| 久久午夜av| 日韩一级精品视频在线观看| 欧美在线观看网址综合| 亚洲大胆人体在线| 亚洲一区二区三区精品动漫| 国产午夜久久| 日韩视频在线观看国产| 国产精品高潮视频| 亚洲国产另类久久久精品极度| 欧美日韩视频在线一区二区观看视频| 亚洲影视在线| 欧美成人国产va精品日本一级| 亚洲一区二区免费在线| 久热爱精品视频线路一| 一本色道久久综合亚洲精品高清| 久久精品视频网| 日韩视频在线免费观看| 久久免费偷拍视频| 在线亚洲自拍| 欧美+日本+国产+在线a∨观看| 亚洲一区二区三区乱码aⅴ| 欧美大片在线看| 午夜精品福利一区二区蜜股av| 欧美高清视频免费观看| 午夜欧美不卡精品aaaaa| 欧美人成在线视频| 久久精品国产免费看久久精品| 国产精品xxxxx| 亚洲日本成人女熟在线观看| 国产免费亚洲高清| 亚洲视频一区二区| 亚洲国产精品综合| 久久九九热免费视频| 夜夜嗨av一区二区三区中文字幕 | 亚洲精品一区二区三| 久久精品最新地址| 一区二区三区欧美| 欧美www在线| 久久精品国亚洲| 国产欧美日韩激情| 亚洲自啪免费|