亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種嵌入式USB MiniHost系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

        2012-07-13 03:07:30梁寶娟孫少波
        電子設(shè)計(jì)工程 2012年6期
        關(guān)鍵詞:嵌入式功能設(shè)備

        梁寶娟,孫少波

        (1.長(zhǎng)安大學(xué) 電子與控制工程學(xué)院,陜西 西安 710064;2.西安文理學(xué)院 計(jì)算機(jī)系,陜西 西安 710065)

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

        1 USB系統(tǒng)模型和拓?fù)浣Y(jié)構(gòu)

        最簡(jiǎn)單的USB系統(tǒng)模型組成是以USB主機(jī)為核心,以外圍的USB設(shè)備為特定功能的設(shè)備模塊。即USB提供的是主機(jī)和設(shè)備中間的一種數(shù)據(jù)通信服務(wù)。此外,為了構(gòu)建更復(fù)雜的USB系統(tǒng),還需要加上USB集線器(Hub)[2]。

        USB主機(jī)包括PC或嵌入式系統(tǒng)兩種類型,每一次USB數(shù)據(jù)通信都必須是由USB主機(jī)來(lái)發(fā)起的 (遠(yuǎn)程喚醒模式除外),主機(jī)管理著每個(gè)USB設(shè)備。即使新興的USB On-The-Go設(shè)備,其核心部分仍然是嵌入了USB主機(jī)的功能[3-4]。本方案主要是基于嵌入式USB主機(jī)的USB系統(tǒng)模型。

        USB的拓?fù)潴w系由3種元素組成:主機(jī)、Hub和設(shè)備,通過(guò)Hub的級(jí)聯(lián),構(gòu)成了層次化的星形結(jié)構(gòu)。USB的拓?fù)浣Y(jié)構(gòu)如圖1所示。

        圖1 USB總線拓?fù)浣Y(jié)構(gòu)Fig.1 USB bus topological structure

        2 硬件設(shè)計(jì)

        2.1 電源電路

        電源電路的組成如下:

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

        圖2 電源部分電路系統(tǒng)結(jié)構(gòu)圖Fig.2 Structure diagram of the power control unit system

        2.2 USB接口電路

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

        圖3 USB接口電路圖Fig.3 USB interface circuit

        2.3 MCU程序下載電路

        由RS232端口來(lái)下載MCU程序,對(duì)應(yīng)的電路圖如圖4所示。

        圖4 MCU程序下載電路Fig.4 MCU program download circuit

        DB9插座和MAX232置于單獨(dú)的下載板上,利用8PIN插座和主板(SPP/USB轉(zhuǎn)換主板)來(lái)連接。異步串行接口下載程序時(shí),各管腳設(shè)置如下所示:

        2.4 Reset電路

        在 MB90F337內(nèi)部有上電復(fù)位(power on reset)功能,在外部reset電路發(fā)生外部reset請(qǐng)求。外部reset電路的初步想法如圖5所示。使用的復(fù)位芯片 (reset chip)是 PST9231。reset時(shí)間利用外部電容,設(shè)置為40~50 ms之間。

        圖5 上電復(fù)位電路Fig.5 Power on reset circuit

        3 USB Host庫(kù)設(shè)計(jì)

        MiniHost部分負(fù)責(zé)USB Host部分的操作,它將完成如下功能:初始化MiniHost部分電路;支持USB 2.0高速和低速設(shè)備;注冊(cè)回調(diào)函數(shù);設(shè)備的枚舉,包括BUS Reset、SET ADDRESS請(qǐng)求以及設(shè)定控制端點(diǎn)的最大包的大?。籗ETUP請(qǐng)求操作;Bulk傳輸請(qǐng)求操作[7]。

        3.1 Time Module部分

        設(shè)置一個(gè)PWCTimer,使其再0.1ms中斷一次,在這個(gè)中斷處理程序中對(duì)記錄時(shí)間的全局變量加1,也就是說(shuō)系統(tǒng)中時(shí)間的單位是0.1ms。如果記錄時(shí)間的全局變量溢出,則將這個(gè)變量的值設(shè)置為0。

        初始化定時(shí)器代碼如下:

        3.2 MiniHost部分

        MiniHost Module主流程圖如圖6所示。

        當(dāng)一個(gè)新的傳輸請(qǐng)求開(kāi)始處理時(shí),將會(huì)執(zhí)行如圖7所示流程。1)發(fā)送 SETUP階段請(qǐng)求;

        2)發(fā)送塊請(qǐng)求(BULK Request);

        當(dāng)一個(gè)傳輸請(qǐng)求在一個(gè)階段處理不完時(shí),將會(huì)執(zhí)行圖8所示流程。比如控制傳輸(Control Transfer)需要3個(gè)階段。

        3)控制傳輸(Control Transfer)結(jié)束,向 EndPoint 結(jié)構(gòu)體中寫入傳送完成的結(jié)果,并根據(jù)傳輸?shù)念愋妥鱿鄳?yīng)處理。

        4)塊傳輸(BULK Transfer)結(jié)束,向 EndPoint結(jié)構(gòu)體中寫入傳送完成的結(jié)果,并向并口上發(fā)送ACK BUSY信號(hào)。

        4 并口到USB接口打印轉(zhuǎn)換器實(shí)現(xiàn)

        4.1 打印轉(zhuǎn)換器功能描述

        利用上述系統(tǒng),設(shè)計(jì)一個(gè)能夠把并口轉(zhuǎn)換為USB接口的打印轉(zhuǎn)換器,這個(gè)轉(zhuǎn)換器只是把從并口收到的數(shù)據(jù)轉(zhuǎn)發(fā)到USB接口上,然后根據(jù)USB接口規(guī)范,把數(shù)據(jù)重新包裝后發(fā)送給USB打印機(jī),轉(zhuǎn)換器中并不需要對(duì)并口的數(shù)據(jù)內(nèi)容進(jìn)行解釋,只是轉(zhuǎn)發(fā)。

        圖6 MiniHost Module主流程圖Fig.6 MiniHost module main flow chart

        圖7 新傳輸請(qǐng)求處理過(guò)程Fig.7 NEW request process flow chart

        圖8 CHECK處理過(guò)程Fig.8 CHECK process flow chart

        4.2 并口打印機(jī)數(shù)據(jù)傳輸過(guò)程

        并口打印機(jī)采用IEEE1284標(biāo)準(zhǔn)進(jìn)行通訊。IEEE1284標(biāo)準(zhǔn)為PC和外設(shè)之間的通訊定義了雙向通訊協(xié)議,通過(guò)該協(xié)議PC和外設(shè)之間的雙向數(shù)據(jù)傳輸率可以比以前提高20到50倍,同時(shí)該協(xié)議保持了軟件的向下兼容性。IEEE1284標(biāo)準(zhǔn)一共定義了5種數(shù)據(jù)傳輸模式,即正向傳輸模式 (兼容模式),兩種反向傳輸模式(半字節(jié)模式和字節(jié)模式),兩種雙向傳輸模式(EPP模式-高速增強(qiáng)并行端口和ECP模式-擴(kuò)展并行端口)。

        打印電纜我們采用D25接口,并行口一般有25個(gè)引腳,其中包括8位數(shù)據(jù)線,5位打印機(jī)狀態(tài)線,4位控制線。

        4.3 USB接口打印機(jī)數(shù)據(jù)傳輸過(guò)程

        打印設(shè)備它們能夠把頁(yè)面描述語(yǔ)言(PDL)轉(zhuǎn)換為人們能夠讀懂的打印頁(yè)面。因此需要制定打印機(jī)如何來(lái)接收這些PDL格式的數(shù)據(jù),如何能夠返回打印機(jī)的狀態(tài)信息。常規(guī)的并口打印機(jī)用一個(gè)雙向打印端口來(lái)只認(rèn)識(shí)這些語(yǔ)言。USB用一個(gè) Bulk OUT端點(diǎn)來(lái)發(fā)送這些數(shù)據(jù)到打印機(jī),并用一個(gè)Bulk IN端點(diǎn)來(lái)發(fā)送狀態(tài)信息或其他數(shù)據(jù)。 對(duì)于現(xiàn)已存在的方式來(lái)說(shuō),能夠在主機(jī)中通過(guò)Bulk IN端點(diǎn)使用查詢機(jī)制來(lái)檢索并口的狀態(tài)信息。一些 PDL允許打印機(jī)返回大量的數(shù)據(jù),諸如一些字體定義等信息。 如果打印機(jī)實(shí)現(xiàn)了這個(gè)功能,它將使用用于傳送回狀態(tài)信息的Bulk IN端點(diǎn)來(lái)傳送回這些數(shù)據(jù)[8]。

        4.4 功能設(shè)計(jì)

        1)并口部分功能

        ①為了方便處理打印并口只支持IEEE 1284-1994 SPP模式。

        ②打印數(shù)據(jù)只支持單方向(數(shù)據(jù):PC→轉(zhuǎn)換器)。

        ③BUSY和ACK的信號(hào)時(shí)序類型為A-B(Ack-in-Busy)。

        2)USB打印機(jī)接口功能

        ①支持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)部功能

        ①定期取得打印機(jī)的狀態(tài)(以1秒為單位),反映到并口信號(hào)線中(利用USB控制傳送的GET_PORT_STATUS)。

        ②并口的收信緩沖存儲(chǔ)為64字節(jié),接收到64字節(jié)后由USB接口傳送給打印機(jī)。

        ③并口的收信處理中設(shè)置了超時(shí)(1秒),一旦超時(shí)發(fā)生,接收到的數(shù)據(jù)由USB接口傳送給打印機(jī)。

        4.5 并口模塊

        負(fù)責(zé)和并口相關(guān)的工作。從并口讀取數(shù)據(jù)放入數(shù)據(jù)緩沖區(qū)。設(shè)置和讀取并口狀態(tài)和控制端口。通過(guò)讀取時(shí)間,來(lái)生成并口的時(shí)序。使用中斷(Interrupt)對(duì)并口的InputPrime信號(hào)進(jìn)行相應(yīng)的處理。使用中斷(Interrupt)對(duì)并口的nStrobe信號(hào)進(jìn)行相應(yīng)的處理。

        4.6 主模塊(Main Module)

        主模塊負(fù)責(zé)初始化整個(gè)系統(tǒng),包括Parallel Module,MiniHost Module以及整個(gè)系統(tǒng)的變量。編寫一個(gè)回調(diào)函數(shù),此函數(shù)在設(shè)備狀態(tài)(連接或斷開(kāi))改變時(shí)調(diào)用。在檢測(cè)到設(shè)備連接后,調(diào)用 MiniHost Module枚舉功能,枚舉打印機(jī),并把打印機(jī)設(shè)置為某種模式。 檢查是否要發(fā)送的控制或批量傳送。 如果要,則把它們發(fā)送出去。

        5 結(jié)束語(yǔ)

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

        [1]李英偉,王成儒,練秋生,等.USB2.0原理與工程開(kāi)發(fā)[M].2版.北京:國(guó)防工業(yè)出版社,2007.

        [2]夏益民,王廣君.基于USB總線的高速數(shù)據(jù)采集系統(tǒng)[J].國(guó)外電子元器件,2003(10):20-23.

        XIA Yi-min,WANG Guang-jun.A high speed data collection system based on USB[J].International Electronic Elements,2003(10):20-23.

        [3]董海濤,謝經(jīng)明,陳冰,等.基于ARM9的CNC系統(tǒng)USB-HOST驅(qū)動(dòng)實(shí)現(xiàn)[J].儀表技術(shù)與傳感器,2011(7):44-46.

        DONG Hai-tao,XIE Jing-ming,CHEN Bing,et al.Realization of USB-Host drive in CNC system based on ARM9[J].Instrument Technique and Sensor,2011(7):44-46.

        [4]何蘇勤,黃翠翠.基于USB2.0的異步數(shù)據(jù)傳輸和控制接口的設(shè)計(jì)[J].國(guó)外電子測(cè)量技術(shù),2010,29(3):79-83.

        HE Su-qin,HUANG Cui-cui.Design of asynchronous data transmission and control interface based on USB2.0[J].Foreign Electronic Measurement Technology,2010,29(3):79-83.

        [5]陳英俊,張紅兵.RS-232、RS-485/USB轉(zhuǎn)換器的最簡(jiǎn)設(shè)計(jì)[J].航空精密制造技術(shù),2003(6):17-20,24.

        CHEN Ying-jun,ZHANG Hong-bing.The simplest solution for RS-232、RS-485/USB converter[J].Aviation Precision Manufacturing Technology,2003(6):17-20,24.

        [6]何源,顧金良.USB與RS232接口轉(zhuǎn)換器的設(shè)計(jì)[J].指揮控制與仿真,2006,28(5):114-117.

        HE Yuan,GU Jin-liang.Design of USB/RS232 converter[J].Command Control&Simulation,2006,28(5):114-117.

        [7]Michael Bar.C/C++嵌入式系統(tǒng)編程[M].于志宏,譯.北京:中國(guó)水利出版社,2001.

        [8]Universal Serial Bus Specification Revision 2.0[EB/OL].(2012-02-01)http://www.usb.org

        猜你喜歡
        嵌入式功能設(shè)備
        也談詩(shī)的“功能”
        諧響應(yīng)分析在設(shè)備減振中的應(yīng)用
        基于MPU6050簡(jiǎn)單控制設(shè)備
        電子制作(2018年11期)2018-08-04 03:26:08
        搭建基于Qt的嵌入式開(kāi)發(fā)平臺(tái)
        關(guān)于非首都功能疏解的幾點(diǎn)思考
        嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
        500kV輸變電設(shè)備運(yùn)行維護(hù)探討
        原來(lái)他們都是可穿戴設(shè)備
        Altera加入嵌入式視覺(jué)聯(lián)盟
        中西醫(yī)結(jié)合治療甲狀腺功能亢進(jìn)癥31例
        色偷偷av一区二区三区| 中文字幕一区二区av| 亚洲国产91高清在线| 素人激情福利视频| 亚洲啊啊啊一区二区三区| 亚洲一区二区视频蜜桃| 亚洲国产综合一区二区| 大红酸枝极品老料颜色| 大香蕉视频在线青青草| 人妻无码第一区二区三区| 国产夫妇肉麻对白| 国产农村妇女毛片精品久久| 一本一道av无码中文字幕 | 中文字幕在线亚洲三区| 亚洲第一狼人天堂网亚洲av | 久久av高潮av喷水av无码| 亚洲伦理一区二区三区| 丰满人妻无奈张开双腿av| 日本中文字幕官网亚洲| 日本三级香港三级人妇99| 国产成人无码18禁午夜福利p| 国产精品亚洲欧美大片在线看| 久久久www成人免费无遮挡大片| 国产激情对白一区二区三区四 | 国产V亚洲V天堂A无码| 成人性生交大片免费看i| 亚洲乱码中文字幕一线区 | 亚洲精品www久久久久久| 中文字幕av无码免费一区| 久久国产A√无码专区亚洲| 少妇爽到爆视频网站免费| 久久九九精品国产不卡一区| 午夜被窝精品国产亚洲av香蕉| 国产顶级熟妇高潮xxxxx| 色两性网欧美| 精品国产三级a| 亚洲中文字幕人妻诱惑| 99久久婷婷亚洲综合国产| 亚洲成av人片在www鸭子| 日韩人妻无码精品久久久不卡| 国产99久久亚洲综合精品|