《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業界動態 > 用MC68HC05JB4開發USB外設

用MC68HC05JB4開發USB外設

2009-02-20
作者:王云飛

  摘 要: 結合USB手寫板,介紹了用MC68HC05JB4等MOTOROLA單片機開發USB設備的一般思路和具體方法。
  關鍵詞: 通用串行總線(USB) MC68HC05JB4 單片機 人機接口設備(HID) 通訊 掛起 喚醒


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


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


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


3 USB設備的測試
  在設備的軟件調試過程中,開發者往往需要觀察設備發往主機的數據,包括設備的狀態和設置信息,以及正常工作時發送的數據包等等。如果開發者需要捕捉USB總線上的信息,必須使用價格昂貴的專用設備。而如果開發者使用68HC05JB4,就不用再擔心總線信號是否正常,只需在主機端觀察主機接收的數據即可。USB開發者組織在他們的互聯網站點[1]上提供了一個在主機端測試HID設備的軟件包——USB Compliance Test Suite,通過運行其中的程序,開發者可以很方便地向設備發送各種USB和HID的協議命令,并接收設備的數據,從而對設備的工作狀態作出判斷。
  開發者同樣可以編寫自己的主機端驅動程序,對USB設備進行調試和檢驗。有關主機端驅動程序的編寫方法,請參閱近期相關文章“WINDOWS 98 下USB設備驅動程序的開發”。
  總之,USB總線及設備是計算機技術高速發展的必然產物,是微機外設的發展趨勢。國外市場上的USB產品已經很多了,但大都局限在少數幾類設備上。國內在1999年初才陸續出現了USB攝像頭等少數幾樣產品,且都是從臺灣引進的。相對于其他計算機設備而言,國外產品在USB設備方面的市場競爭優勢并不明顯,USB設備應該是國內硬件產品發展的重要方向之一。
參考文獻
1 Universal Serial Bus Specification, Revision 1.0. USB Implementers' Forum, January 15, 1996
2 Universal Serial Bus Device Class Definition for Human Interface Devices (HID), Version 1.0 Final. USB Implementers' Forum
3 Universal Serial Bus HID Usage Tables, Release Candidate 1.0. USB Implementers' Forum
4 68HC(7)05JB4 Specification(General Release).MOTOROLA Inc., April 30 , 1998

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          欧美1区2区| 欧美一级淫片aaaaaaa视频| 欧美精品一区二区三区在线播放| 亚洲伊人久久综合| 日韩视频免费在线| 玖玖精品视频| 欧美日韩精品一区二区在线播放| 国产精品网站在线播放| 一本色道久久| 欧美揉bbbbb揉bbbbb| 亚洲成人在线观看视频| 欧美 日韩 国产 一区| 在线成人av| 在线日韩av片| 每日更新成人在线视频| 国产日韩亚洲欧美| 在线日韩日本国产亚洲| 欧美在线亚洲一区| 欧美一级免费视频| 欧美影院成年免费版| 亚洲欧美在线高清| 国产精品盗摄久久久| 欧美日本一区二区三区| 国产色综合网| 国产午夜久久| 亚洲无限av看| 欧美日韩国产在线播放| 国产在线播精品第三| 激情久久久久久久| 久久久蜜桃精品| 欧美国产欧美亚州国产日韩mv天天看完整| 国产综合视频| 亚洲电影观看| 亚洲精品国产无天堂网2021| 国产日韩一区二区三区在线播放| 久久九九国产精品| 亚洲国产精品成人| 欧美1区视频| 韩国成人福利片在线播放| 国产一区在线看| 久久尤物视频| 亚洲免费中文字幕| 久久男人资源视频| 国产日韩一区二区三区在线| 亚洲麻豆一区| 国产一区二区三区四区在线观看| 亚洲一区二区三区国产| 亚洲精选久久| 欧美精品一区二区三区视频| 日韩视频免费在线观看| 国产一区二区三区丝袜| 国产视频一区在线观看一区免费| 老司机久久99久久精品播放免费| 欧美三级日韩三级国产三级| 国产精品狠色婷| 欧美精品久久久久久久久老牛影院| 国产亚洲一二三区| 国产精品美女久久久| 亚洲国产精品成人综合色在线婷婷| 免费亚洲电影在线| 国产精品第2页| 欧美.www| 欧美日韩一区在线视频| 日韩视频一区二区三区在线播放免费观看| 欧美日韩午夜在线视频| 亚洲欧洲在线播放| 欧美日一区二区在线观看| 欧美精品国产精品| 午夜精品久久久久影视| 欧美一区二视频| 先锋影音一区二区三区| 狠狠色狠狠色综合人人| 午夜激情亚洲| 黑人巨大精品欧美一区二区| 韩国精品在线观看| 午夜在线播放视频欧美| 国产精品av免费在线观看| 男女精品网站| 亚洲国产精品一区二区www| 亚洲一区久久| 亚洲午夜一区二区三区| 国产一区二区毛片| 国产综合色精品一区二区三区| 国产一区二区在线观看免费播放| 久久久久网址| 欧美日韩第一页| 欧美无砖砖区免费| 国产精品欧美久久| 亚洲香蕉视频| 91久久精品国产91久久| 久久国产色av| 老鸭窝91久久精品色噜噜导演| 亚洲国产精品久久久久秋霞不卡| 国产精品麻豆欧美日韩ww| 国产精品每日更新在线播放网址| 欧美成人精品高清在线播放| 欧美大片免费观看在线观看网站推荐| 国产精品伦理| 久久伊人一区二区| 国产一区二区电影在线观看| 久久精品99国产精品酒店日本| 国产日本欧美一区二区三区在线| 久久久久久国产精品一区| 亚洲欧美日韩另类精品一区二区三区| 中文成人激情娱乐网| 一区二区三区久久| 国产精品v欧美精品v日本精品动漫| 亚洲国产精品传媒在线观看| 亚洲免费av片| 一本久道久久综合狠狠爱| 欧美一区二区女人| 午夜精品成人在线视频| 国产一区二区观看| 欧美精品一区在线播放| 一区在线播放| 国产精品婷婷午夜在线观看| 国产伦精品一区二区三区高清| 国产精品海角社区在线观看| 一区二区三区在线视频免费观看| 亚洲精品欧洲| 亚洲欧美日韩在线观看a三区| 久久超碰97中文字幕| 韩国av一区二区三区| 国精品一区二区| 免费看精品久久片| 国产精品一区在线播放| 国产精品海角社区在线观看| 国产精品一区视频网站| 久久久青草青青国产亚洲免观| 欧美亚洲视频一区二区| 国产一区二区三区在线观看免费| 亚洲男人的天堂在线| 国产精品高潮呻吟视频| 亚洲国产一区二区视频| 狠狠网亚洲精品| 激情亚洲网站| 亚洲精品视频在线观看免费| 日韩一二三区视频| 日韩小视频在线观看专区| 欧美风情在线观看| 久久精品一区二区三区不卡| 久久永久免费| 亚洲精品九九| 亚洲美女视频在线免费观看| 99精品视频免费观看视频| 国产亚洲成精品久久| 免费成人av| 亚洲国产日韩综合一区| 亚洲久久视频| 99re6这里只有精品| 国产自产2019最新不卡| 欧美成人蜜桃| 欧美日韩国产一区二区三区地区| 久久久久久9| 国产视频一区三区| 国产精品呻吟| ●精品国产综合乱码久久久久| 亚洲人成网站影音先锋播放| 嫩草国产精品入口| 欧美午夜www高清视频| 欧美jizzhd精品欧美巨大免费| 久久激情视频免费观看| 国产精品久久久久一区| 久久久久久一区二区三区| 欧美gay视频激情| 欧美日韩国产综合久久| 亚洲一二区在线| 亚洲欧美三级伦理| 亚洲级视频在线观看免费1级| 国产精品色一区二区三区| 99精品视频免费全部在线| 欧美在线视频观看| 在线日韩欧美| 久久久久在线| 99成人精品| 亚洲一区二区网站| 黄色日韩在线| 欧美激情视频在线免费观看 欧美视频免费一| 欧美性jizz18性欧美| 欧美激情一区二区三区在线| 欧美一激情一区二区三区| 亚洲精品欧美日韩| 国产综合18久久久久久| 国产一区二区在线观看免费播放| 日韩一级大片| 欧美aⅴ99久久黑人专区| 欧美激情欧美激情在线五月| 亚洲一区图片| 久久精品国产久精国产思思| 国产精品久久久久毛片软件| 国产精品免费久久久久久| 国产亚洲视频在线| 国产一区二区在线观看免费| 国产一区二区三区高清在线观看| 国产视频精品免费播放| 欧美日韩一级片在线观看| 亚洲欧美日韩成人| 久久本道综合色狠狠五月| 国产精品久久久爽爽爽麻豆色哟哟| 国产主播在线一区| 一本一本久久a久久精品综合麻豆| 一区二区不卡在线视频 午夜欧美不卡'| 亚洲小说区图片区| 欧美一级片一区| 久久国产主播| 亚洲新中文字幕| 国产精品亚洲片夜色在线| 欧美在线影院在线视频| 国产真实精品久久二三区| 国产精品天天摸av网| 欧美日韩在线电影| 欧美高清视频一二三区| 亚洲大胆视频| 男同欧美伦乱| 国产综合色在线| 国产亚洲精品自拍| 欧美日韩色婷婷| 国产精品二区二区三区| 国产婷婷色综合av蜜臀av| 欧美日本精品一区二区三区| 亚洲欧洲一区二区在线观看| 欧美另类69精品久久久久9999| 亚洲人成在线播放| 卡一卡二国产精品| 一区二区三区精品在线| 伊人久久大香线| 国产精品视频免费观看| 一区二区三区国产在线| 亚洲午夜国产一区99re久久| 在线视频欧美日韩| 亚洲黄色一区| 国产亚洲精品激情久久| 国产精品久久久久一区| 性色av一区二区三区在线观看| 国产亚洲精品bv在线观看| 性伦欧美刺激片在线观看| 欧美成人69| 久久国产手机看片| 亚洲三级电影全部在线观看高清| 欧美激情欧美激情在线五月| 国产精品毛片大码女人| 国产综合在线看| 亚洲主播在线播放| 亚洲最新在线| 国产香蕉久久精品综合网| 在线不卡中文字幕播放| 一区二区三区视频观看| 欧美午夜精品| 在线观看亚洲a| 136国产福利精品导航网址应用| 国产日韩精品一区观看| 在线观看一区欧美| 亚洲欧洲精品一区二区| 狠狠久久五月精品中文字幕| 国产精品每日更新在线播放网址| 香蕉久久一区二区不卡无毒影院| 欧美在线观看一区| 99在线|亚洲一区二区| 久久精品日韩一区二区三区| 国产一区二区三区无遮挡| 性亚洲最疯狂xxxx高清| 欧美视频在线观看免费| 亚洲欧美文学| 狠狠色丁香婷综合久久| 欧美三级日本三级少妇99| 亚洲欧美日韩国产成人精品影院| 欧美日韩国产免费| 麻豆九一精品爱看视频在线观看免费| 欧美一区二区三区久久精品茉莉花| 在线播放豆国产99亚洲| 亚洲午夜精品一区二区| 激情成人亚洲| 久久免费高清视频| 午夜激情久久久| 国产麻豆一精品一av一免费| 欧美日韩国产经典色站一区二区三区| 亚洲精选国产| 国产亚洲福利社区一区| 国产精品日韩专区| 欧美视频一区二区三区四区| 一区二区三区在线观看视频| 欧美三级电影网| 国产又爽又黄的激情精品视频| 欧美日一区二区在线观看| 欧美日韩亚洲一区二区三区在线观看| 国产女人水真多18毛片18精品视频| 国产日韩欧美一区在线| 久久免费国产精品1| 狠狠v欧美v日韩v亚洲ⅴ| 亚洲激情六月丁香| 亚洲欧洲免费视频| 国产精品露脸自拍| 国语自产偷拍精品视频偷| 激情成人在线视频| 影音先锋成人资源站| 美玉足脚交一区二区三区图片| 国产精品一二三四区| 一区久久精品| 欧美三级视频在线播放| 欧美成人有码| 亚洲精品国产欧美| 日韩视频精品在线观看| 亚洲国产日韩一级| 国产亚洲精品美女| 免费一区视频| 一区二区三区高清视频在线观看| 国产精品日韩一区二区| 国产精品三级久久久久久电影| 女人天堂亚洲aⅴ在线观看| 欧美中文字幕不卡| 欧美亚洲一级| 一区二区不卡在线视频 午夜欧美不卡'| 欧美一区二区三区视频| 影音先锋日韩精品| 午夜伦理片一区| 久久尤物电影视频在线观看| 亚洲精品国产精品乱码不99按摩| 91久久综合亚洲鲁鲁五月天| 亚洲午夜在线| 亚洲美女在线一区| 国产精品v欧美精品∨日韩| 亚洲精品日韩在线| 一区二区三区在线视频观看| 欧美日韩三区四区| 欧美三级电影大全| 老鸭窝亚洲一区二区三区| 亚洲欧美清纯在线制服| 99精品国产99久久久久久福利|