www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 智能硬件 > 智能硬件
[導(dǎo)讀]當(dāng)今的計(jì)算機(jī)外部設(shè)備,都在追求高速度和高通用性。為了滿足用戶的需求,以Intel為首的七家公司于1994年推出了USB(Universal Serial Bus,通用串行總線)總線協(xié)議,專用于低、中速的計(jì)算機(jī)外設(shè)。目前,USB端口已成為微

當(dāng)今的計(jì)算機(jī)外部設(shè)備,都在追求高速度和高通用性。為了滿足用戶的需求,以Intel為首的七家公司于1994年推出了USB(Universal Serial Bus,通用串行總線)總線協(xié)議,專用于低、中速的計(jì)算機(jī)外設(shè)。目前,USB端口已成為微機(jī)主板的標(biāo)準(zhǔn)端口;而在不久的將來,所有的微機(jī)外設(shè),包括鍵盤、鼠標(biāo)、顯示器、打印機(jī)、數(shù)字相機(jī)、掃描儀和游戲柄等等,都將通過USB與主機(jī)相連。
  作為一個(gè)硬件廠商或是開發(fā)者,最關(guān)心的便是如何去開發(fā)USB外設(shè)。MOTOROLA公司從1996年開始,陸續(xù)推出了一系列支持USB總線協(xié)議的單片機(jī),如最早的用于顯示器的68HC05BD9A,用于鼠標(biāo)的68HC05JB2,以及用于集線器(HUB)的MC141555等等。這些芯片共同的特點(diǎn)是都內(nèi)含一個(gè)USB模塊,通過這個(gè)模塊,用戶可以很方便地實(shí)現(xiàn)USB總線上的數(shù)據(jù)通訊。68HC05JB4最初是用于開發(fā)USB游戲桿的,后來也常被用于其他一些USB外設(shè)的開發(fā),比如USB手寫板等等。它除了含有USB接口以外,還有6路8位A/D變換輸入端,4路鍵盤中斷掃描用輸入端,并可最多同時(shí)開啟19個(gè)I/O端口。
  我們?cè)O(shè)計(jì)的USB漢字手寫板,采用國(guó)內(nèi)漢王公司的傳感器獲得筆畫信息,傳給MC68HC05JB4,經(jīng)過整理后通過USB總線發(fā)送到PC,再由我們編寫的驅(qū)動(dòng)程序接收,最終轉(zhuǎn)給漢王的文字識(shí)別軟件識(shí)別。
1 USB總線系統(tǒng)硬件連接
  USB通過一個(gè)四線電纜來傳輸信號(hào)與電源,如圖1所示。

其中D+和D-是一對(duì)差模的信號(hào)線,而VBus和GND則提供了+5V的電源,它可以給一些設(shè)備(包括Hub)供電。USB提供了兩種數(shù)據(jù)傳輸率:一種是12Mb的高速(full speed)模式,另一種是1.5Mb的低速模式,這兩種模式可以同時(shí)存在于一個(gè)USB系統(tǒng)中(注:在新發(fā)布的2.0協(xié)議版本中,高速模式被定義為120~240M)。USB信號(hào)線在高速模式下必須使用帶有屏蔽的雙絞線,而且最長(zhǎng)不能超過5m;而在低速模式時(shí)可以使用非屏蔽電纜,甚至是非雙絞線,但最長(zhǎng)不能超過3m。為了與電纜阻抗匹配,在電纜的每一端都使用了非平衡終端匹配電阻。該電阻也保證了能夠檢測(cè)外設(shè)與端口的連接或分離,并且可以區(qū)分高速與低速設(shè)備。
  68HC05JB4只支持低速USB外設(shè)。它提供了兩個(gè)端口分別與電纜的D+、D-相連;同時(shí)提供了一個(gè)3.3V的參考電壓與D-相連。典型連接如圖2。圖中電阻電容的參數(shù)是我們?cè)赨SB手寫板中采用的數(shù)值,其中1.5kΩ的電阻要求較高,阻值范圍必須是1.5kΩ±5%。由于電纜長(zhǎng)度有限,類似電纜負(fù)載之類的工作就不再需要開發(fā)者去考慮了。

2 USB總線系統(tǒng)軟件設(shè)計(jì)
  USB設(shè)備的軟件功能主要有兩點(diǎn):一是監(jiān)視設(shè)備的狀態(tài),自動(dòng)產(chǎn)生狀態(tài)信息和用戶命令信息;一是完成主機(jī)與設(shè)備之間的USB總線通訊,自動(dòng)處理主機(jī)的控制和查詢命令。
  前一功能與設(shè)備的具體工作方式有關(guān),與一般非USB設(shè)備的實(shí)現(xiàn)方法大體一致。唯一的區(qū)別是開發(fā)者需要預(yù)先定義設(shè)備所屬的類別和使用的協(xié)議。原因是,USB協(xié)議將設(shè)備分為不同的類型,每個(gè)設(shè)備類型都定義了類似功能設(shè)備的共同行為和協(xié)議。例如HID(Human Interface Device)人機(jī)接口設(shè)備主要指用于人控制計(jì)算機(jī)系統(tǒng)操作的器件,而電源設(shè)備(Power Device)則被定位為HID的子系統(tǒng)之一。對(duì)設(shè)備進(jìn)行分類是為了消除不同硬件廠商之間的差異,以便于主機(jī)(PC)對(duì)設(shè)備進(jìn)行方便、統(tǒng)一的管理。相同類型的設(shè)備都由一組標(biāo)準(zhǔn)定義的功能模塊組成。這樣主機(jī)與USB設(shè)備之間的通信就可以通過一些標(biāo)準(zhǔn)格式的數(shù)據(jù)包來完成。USB開發(fā)者論壇發(fā)布了一系列USB設(shè)備的類型定義,并配以相應(yīng)的使用說明。如果開發(fā)者需要了解HID及其子類設(shè)備,可以查閱參考文獻(xiàn)[2][3]。
  開發(fā)者還應(yīng)考慮的是主機(jī)的工作平臺(tái),比如Windows 98/NT、Unix等等,原因是不同的系統(tǒng)對(duì)不同的設(shè)備的支持程度不同。例如在Windows 98下,系統(tǒng)除了提供通用的USB設(shè)備的底層驅(qū)動(dòng)以外,還單獨(dú)提供了少數(shù)HID設(shè)備(如鼠標(biāo))的完整驅(qū)動(dòng),也就是說,開發(fā)者如果想實(shí)現(xiàn)一個(gè)USB鼠標(biāo),是不需要在Windows 98下開發(fā)自己的驅(qū)動(dòng)程序的,而如果想實(shí)現(xiàn)一個(gè)USB手寫板,就必須在通用的底層驅(qū)動(dòng)基礎(chǔ)上開發(fā)自己的設(shè)備驅(qū)動(dòng)程序。所以設(shè)備類型的定義也直接影響開發(fā)的難度和時(shí)間。
  后一個(gè)功能的實(shí)現(xiàn)較為困難。USB總線上傳遞的信息有兩種:一是由數(shù)據(jù)線的差分信號(hào)傳遞的三種包(令牌包、數(shù)據(jù)包和應(yīng)答包);一是經(jīng)過定義的特殊的數(shù)據(jù)線信號(hào),如復(fù)位信號(hào)、喚醒信號(hào)和包結(jié)束(EOP)信號(hào)等。對(duì)于低速設(shè)備,USB還定義了兩種總線操作方式:控制傳輸(用于主機(jī)設(shè)置設(shè)備和獲取狀態(tài))和中斷傳輸(用于工作信息的傳輸)。
  MC68HC05JB4中的USB模塊提供了3個(gè)端點(diǎn),其中端點(diǎn)0通過控制傳輸與主機(jī)通訊,而端點(diǎn)1和端點(diǎn)2則使用中斷傳輸。用戶可以近似地把端點(diǎn)0看作是設(shè)備的控制和狀態(tài)寄存器,而端點(diǎn)1和端點(diǎn)2則是設(shè)備的兩個(gè)數(shù)據(jù)緩沖區(qū)。對(duì)應(yīng)于3個(gè)端點(diǎn),68HC05JB4提供了3個(gè)控制寄存器,2個(gè)中斷寄存器(端點(diǎn)1和端點(diǎn)2共用1個(gè)),同時(shí)為端點(diǎn)0提供了8個(gè)數(shù)據(jù)發(fā)送/接收寄存器,為端點(diǎn)1和端點(diǎn)2提供了8個(gè)共用的數(shù)據(jù)發(fā)送寄存器。其他在USB模塊中提供的寄存器還包括一個(gè)地址寄存器和一個(gè)狀態(tài)寄存器。
  軟件開發(fā)的主要工作是編寫USB的中斷服務(wù)例程,其功能是處理USB發(fā)送/接收的不同的通訊信息(如令牌、數(shù)據(jù)或應(yīng)答等),再?gòu)亩它c(diǎn)0獲得主機(jī)的控制信息,或是向端點(diǎn)0發(fā)送設(shè)備的狀態(tài)信息,以及向端點(diǎn)1或端點(diǎn)2發(fā)送完整的數(shù)據(jù)報(bào)告等。根據(jù)設(shè)備類型的不同,主機(jī)發(fā)送的控制信息的種類和數(shù)量都會(huì)不同。例如,USB手寫板屬于HID設(shè)備,在響應(yīng)主機(jī)命令的時(shí)候,除了需要處理普通的USB命令(如Set Address、Set/Get/Clear Feature和Get Status等等)以外,還需要處理HID設(shè)備特定的一些命令,如Set/Get Report、Set/Get Idle和Set/Get Protocol等等。關(guān)于USB模塊的各個(gè)寄存器的使用方法,MOTOROLA也提供了一些范例,開發(fā)者可以參照學(xué)習(xí)。
  開發(fā)者還應(yīng)注意的是設(shè)備的掛起(休眠)和喚醒功能。USB協(xié)議規(guī)定,當(dāng)總線處于空閑狀態(tài)超過3ms時(shí),設(shè)備必須進(jìn)入掛起狀態(tài),而掛起的設(shè)備從總線上吸收的電流必須小于500μA。68HC05JB4的掛起可以通過設(shè)置USB端點(diǎn)0的中斷寄存器中的掛起標(biāo)志位來實(shí)現(xiàn)。
  但設(shè)備的掛起對(duì)設(shè)備的工作往往有不利的影響。協(xié)議規(guī)定的500μA包括了主機(jī)端的電纜終端匹配電阻的電流(通常為220μA),所以對(duì)于使用總線電源的設(shè)備而言,進(jìn)入掛起狀態(tài)通常便意味著總電流消耗不能超過280mA,這實(shí)際上是要求68HC05JB4進(jìn)入STOP模式。開發(fā)者如果需要設(shè)備不進(jìn)入掛起狀態(tài),通常有兩種方法。一種是通過主機(jī)周期性地向設(shè)備發(fā)送包結(jié)束(EOP)信號(hào),間隔時(shí)間小于3ms,這樣設(shè)備將永遠(yuǎn)處于正常狀態(tài);另一種方法是在設(shè)備掛起時(shí)喚醒它,既可以由主機(jī)發(fā)送喚醒或復(fù)位信號(hào),也可以由設(shè)備自行遠(yuǎn)程喚醒,具體的實(shí)現(xiàn)方法是由設(shè)備向主機(jī)發(fā)出遠(yuǎn)程喚醒信號(hào),在主機(jī)認(rèn)可后設(shè)備即結(jié)束掛起狀態(tài)。開發(fā)者可以在68HC05JB4的外中斷端口上連接RC電路,在設(shè)備進(jìn)入掛起狀態(tài)時(shí)利用電路的充放電時(shí)間產(chǎn)生滯后的外中斷信號(hào),再在中斷發(fā)生時(shí)向主機(jī)發(fā)送遠(yuǎn)程喚醒信號(hào),就可以自動(dòng)恢復(fù)到正常的狀態(tài)。
  圖3是根據(jù)我們編寫的USB手寫板的程序精簡(jiǎn)出來的一個(gè)典型的程序流圖,開發(fā)者可以參考編寫不同設(shè)備的代碼。正如上文所述,最關(guān)鍵、也是最困難的,還是中斷處理程序的編寫,開發(fā)者需要格外重視。

3 USB設(shè)備的測(cè)試
  在設(shè)備的軟件調(diào)試過程中,開發(fā)者往往需要觀察設(shè)備發(fā)往主機(jī)的數(shù)據(jù),包括設(shè)備的狀態(tài)和設(shè)置信息,以及正常工作時(shí)發(fā)送的數(shù)據(jù)包等等。如果開發(fā)者需要捕捉USB總線上的信息,必須使用價(jià)格昂貴的專用設(shè)備。而如果開發(fā)者使用68HC05JB4,就不用再擔(dān)心總線信號(hào)是否正常,只需在主機(jī)端觀察主機(jī)接收的數(shù)據(jù)即可。USB開發(fā)者組織在他們的互聯(lián)網(wǎng)站點(diǎn)[1]上提供了一個(gè)在主機(jī)端測(cè)試HID設(shè)備的軟件包——USB Compliance Test Suite,通過運(yùn)行其中的程序,開發(fā)者可以很方便地向設(shè)備發(fā)送各種USB和HID的協(xié)議命令,并接收設(shè)備的數(shù)據(jù),從而對(duì)設(shè)備的工作狀態(tài)作出判斷。
  開發(fā)者同樣可以編寫自己的主機(jī)端驅(qū)動(dòng)程序,對(duì)USB設(shè)備進(jìn)行調(diào)試和檢驗(yàn)。有關(guān)主機(jī)端驅(qū)動(dòng)程序的編寫方法,請(qǐng)參閱近期相關(guān)文章“WINDOWS 98 下USB設(shè)備驅(qū)動(dòng)程序的開發(fā)”。
  總之,USB總線及設(shè)備是計(jì)算機(jī)技術(shù)高速發(fā)展的必然產(chǎn)物,是微機(jī)外設(shè)的發(fā)展趨勢(shì)。國(guó)外市場(chǎng)上的USB產(chǎn)品已經(jīng)很多了,但大都局限在少數(shù)幾類設(shè)備上。國(guó)內(nèi)在1999年初才陸續(xù)出現(xiàn)了USB攝像頭等少數(shù)幾樣產(chǎn)品,且都是從臺(tái)灣引進(jìn)的。相對(duì)于其他計(jì)算機(jī)設(shè)備而言,國(guó)外產(chǎn)品在USB設(shè)備方面的市場(chǎng)競(jìng)爭(zhēng)優(yōu)勢(shì)并不明顯,USB設(shè)備應(yīng)該是國(guó)內(nèi)硬件產(chǎn)品發(fā)展的重要方向之一。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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