日韩床上生活一级视频|能看毛片的操逼网站|色悠悠网站在线观看视频|国产免费观看A淫色免费|国产av久久久久久久|免费A级视频美女网站黄|国产毛片av日韩小黄片|热久久免费国产视频|中文字幕无码色色|成人在线视频99久久久

機電之家資源網(wǎng)
單片機首頁|單片機基礎|單片機應用|單片機開發(fā)|單片機文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓信息
贊助商
USB嵌入式主控制器設計
USB嵌入式主控制器設計
 更新時間:2008-8-18 10:20:51  點擊數(shù):27
【字體: 字體顏色

固件流程
設置一旦完成,第一項任務便是檢查增加或移除的設備。從USB主端口開始,端口變更中斷可被用來察看在至USB主機的連接線路上是否發(fā)生了改變。如果有變化,則可對增加的設備進行計數(shù),或對移走的設備進行邏輯刪除。此后,如果仍有一部設備與USB主端口相連,則需進行檢查,以確定其是否為集線器。這可以通過檢查設備結構中的bClass字段來完成。如果該字段為一個“9”(用于HubClass),則檢查其端口的變更狀態(tài)。如果集線器報告一個狀態(tài)變化,則執(zhí)行下列操作。
確定端口變更是設備插入還是移除。如果是插入,則需對設備進行計數(shù)。如果端口變更是由設備移除所致,則需清除相關聯(lián)的設備結構。如果被移除的設備是集線器,則還需將其所有設備全部予以清除。
當發(fā)現(xiàn)一部新設備時,需對其進行計數(shù)。計數(shù)過程包括詢問設備的描述符并設定其邏輯地址。以下為對一部設備進行計數(shù)所需處置的一系列事項。
1.采用GetDecriptor命令來從邏輯地址“0”獲取設備描述符,一個未初始化設備將對地址“0”做出響應。
2.采用SetAddress命令來設定設備地址,利用GetNextAddr功能來獲取下一個可用地址。GetNextAddr將仔細查看一系列設備結構,并采用第一個具有一個地址“0”的設備結構。
3.采用GetDescriptor命令和邏輯地址來獲取設備描述符。
4.獲取配置描述符的8個字節(jié)。這里有一個長度字段,它將通告設備所具有的總描述符數(shù)據(jù)量。
5.再次獲取配置描述符,此次采用由第4步得到的新長度字段。利用這一組完整的描述符數(shù)據(jù),固件便能夠將信息確定為各種不同的描述符結構類型。這一過程可通過填充諸如端點的數(shù)量和類型等剩余設備信息的方法來完成。
6.如果類代碼表示的是一部HID設備,則調用GetHidDesc命令,以獲取一些HID專用描述符。此外,這里需要用于鍵盤的、有可能采用了特殊字符集的國家代碼。
7.如果類代碼表示的是一部集線器設備,則執(zhí)行以下操作。
a.采用GetHubDesc來獲取集線器專用描述符;
b.采用GetHubStat來獲取集線器的狀態(tài)信息;
c.采用PortFeature來清除所有集線器端口上的端口連接;
d.采用PortFeature來給所有的集線器端口加電;
e.采用PortStatus來獲取所有集線器端口的狀態(tài)信息;
f.給設備結構做標記,以表示該設備為集線器。
當一部設備被移除時,固件將執(zhí)行下列任務。
1.將該設備結構從設備陣列中清除,這樣該地址就可以被另一部設備重新使用。
2.如果被移除的設備是集線器,則需移除所有與其相連的設備。查看設備陣列,并清除每一部具有一個與集線器設備的邏輯地址相同的bParentAddr的設備。
用于對插入設備和移除設備進行計數(shù)的流程如圖2所示。
固件的數(shù)據(jù)收集部分比計數(shù)部分簡單得多。對于數(shù)據(jù)收集,察看設備結構陣列,并搜尋每一個具有非零邏輯地址字段的結構和一個與HID設備對應的類代碼“3”,調用InterruptXfer功能并將邏輯地址作為一個參數(shù)來傳送。如果該功能返回選中狀態(tài)(TRUE),則緩沖器中存在數(shù)據(jù)。對于鍵盤,將存在8字節(jié)數(shù)據(jù)(見上面的HID報表部分)。對于鼠標,數(shù)據(jù)字段的長度將為4字節(jié)。HID報表被顯示于HyperTerminal之上。其他實現(xiàn)方案可以將該數(shù)據(jù)傳送至一個應用程序,以便進行處理。

結論
與PC相比,為嵌入式系統(tǒng)添加USB功能需要相應的計算資源和USB主系統(tǒng)開發(fā)經(jīng)驗,但目前已有多款現(xiàn)成的USB主IC可被用來實現(xiàn)該功能,USB主堆棧和實時操作系統(tǒng)既可以采購,也可以自行開發(fā),開發(fā)人員能夠非常簡便地添加USB功能。
本文討論了僅通過采用一個附加IC(無需使用第三方軟件)來實現(xiàn)嵌入式USB主機的方法。賽普拉斯公司的嵌入式USB主機能夠在不增加編碼處理的情況下對HID設備和集線器提供支持。目前,該系統(tǒng)最多能夠支持8部設備和兩個集線器層,代碼長度約為10KB,所需做的全部工作就是增加用于一個完整系統(tǒng)的專用代碼。

  • 上一篇: 采用PIC16X711實現(xiàn)基于維根碼的信息鈕序列號
  • 下一篇: FPGA在軟件無線電中的應用
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關文章
    網(wǎng)友評論:(只顯示最新5條。)
    關于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機電之家 | 會員助手 | 免費鏈接

    點擊這里給我發(fā)消息66821730(技術支持)點擊這里給我發(fā)消息66821730(廣告投放) 點擊這里給我發(fā)消息41031197(編輯) 點擊這里給我發(fā)消息58733127(審核)
    本站提供的機電設備,機電供求等信息由機電企業(yè)自行提供,該企業(yè)負責信息內容的真實性、準確性和合法性。
    機電之家對此不承擔任何保證責任,有侵犯您利益的地方請聯(lián)系機電之家,機電之家將及時作出處理。
    Copyright 2007 機電之家 Inc All Rights Reserved.機電之家-由機電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術支持

    主辦:杭州市高新區(qū)(濱江)機電一體化學會
    中國行業(yè)電子商務100強網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1