


版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
USBHID設(shè)備開發(fā)簡介與實(shí)例分析目錄B簡介 USB通信機(jī)制與設(shè)備介紹 3USB通信機(jī)制 3USB設(shè)備及枚舉 4HID設(shè)備 5HID設(shè)備簡介 5HID設(shè)備報(bào)表描述符 6HID設(shè)備的訪問 7總線數(shù)據(jù)分析軟件 8s USBlyzer 10實(shí)例分析 10USB簡介USB是通用串行總線(UniversalSerialBus)的縮寫,已有20多年歷史。主要是為了簡化PC與外設(shè)的連接,增加易用性。USBUSB接時(shí)電源與地先接通,然后中間兩根信號(hào)線再接通,這樣防止燒壞芯片。常見的USB接口:USB接口大量使用,并隨之產(chǎn)生了Type-C接口,該接口不分正反面隨意插拔,傳輸速度有明顯提升,如下圖。USB協(xié)議類型:USB5如下表。USB通信機(jī)制與設(shè)備介紹USB通信機(jī)制USB是主從結(jié)構(gòu)的系統(tǒng)。主機(jī)叫Host,從機(jī)叫Device。USB(host(root集USB接口在數(shù)量上進(jìn)行擴(kuò)展,但不能擴(kuò)展出更多的帶寬。USBUSB口電平的變化,進(jìn)而識(shí)別出插入的是什么速度類型的設(shè)備。USB有四種傳輸類型:控制傳輸:USB設(shè)備接入主機(jī)時(shí),通過控制傳輸獲取設(shè)備描述符進(jìn)行設(shè)備識(shí)別批量傳輸:傳輸大量數(shù)據(jù),如打印機(jī)和掃描儀中斷傳輸:數(shù)據(jù)少量但實(shí)時(shí)性高,如鼠標(biāo)和鍵盤等時(shí)傳輸:數(shù)據(jù)的建立、傳送和接收是連續(xù)且實(shí)時(shí)的,對(duì)傳輸延遲非常敏感,如語音傳輸控制傳輸:在設(shè)備的枚舉過程中使用控制傳輸l,分為三個(gè)階段:建立過程,可選的數(shù)據(jù)過程及狀態(tài)過程。USBSETUPDATA0輸,那么數(shù)據(jù)過程就是輸出數(shù)據(jù)。如果在建立過程中指定數(shù)據(jù)長度為0,則沒有數(shù)據(jù)過程,狀態(tài)過程是用來確認(rèn)所有的數(shù)據(jù)是否都正確傳輸。USB設(shè)備及枚舉一個(gè)USBUSB的描述符之間的關(guān)系是一層一層的。必需)是單獨(dú)獲取的。B(,,數(shù)據(jù)包大小等)主機(jī)枚舉出的設(shè)備描述符如下r抓包軟件:每個(gè)USB設(shè)備有一個(gè)設(shè)備地址,USB主機(jī)依靠該設(shè)備地址訪問USB設(shè)備。每個(gè)設(shè)備分出一些端點(diǎn),如EP1.主機(jī)就能準(zhǔn)確地對(duì)端點(diǎn)發(fā)送和讀取數(shù)據(jù)了。USB設(shè)備的枚舉過程:USB設(shè)備一插入U(xiǎn)SB主機(jī)接口后,主機(jī)就加載合適的驅(qū)動(dòng)。USBUSBUSB設(shè)備在總線復(fù)位后其設(shè)備00USB00(0)發(fā)送獲取設(shè)備描述符的標(biāo)準(zhǔn)請(qǐng)求dt(建立過程。設(shè)備收到該請(qǐng)求后,會(huì)按照主機(jī)請(qǐng)求的參數(shù),將設(shè)備描述符返回給主機(jī)(數(shù)據(jù)過程0(狀態(tài)過程。控制讀傳輸U(kuò)SB00發(fā)(控制傳輸?shù)慕⑦^程USB,設(shè)備收到輸入令牌包后,設(shè)備就返回0ACK給設(shè)備,設(shè)備在收到這個(gè)ACKUSB設(shè)備??刂茖憘鬏斨鳈C(jī)再次獲取設(shè)備描述符,使用新的設(shè)備地址,獲取全部18字節(jié)設(shè)備描述符主機(jī)獲取配置描述符,獲取配置集合HID設(shè)備HID設(shè)備簡介InterfaceDevice,人機(jī)接口設(shè)備USBUSBHID設(shè)備成本較低。另外HID設(shè)備并不一定要HIDHIDWindowsHIDHIDWindows系統(tǒng)時(shí),不需要額外安裝驅(qū)動(dòng)。HID設(shè)備的內(nèi)部描述符結(jié)構(gòu)如下:在接口描述符中,包含了HID符。HIDGet_DescriptorHID描述符和報(bào)表描述符。交換的數(shù)據(jù)儲(chǔ)存在稱為報(bào)表(Report)的結(jié)構(gòu)內(nèi),主機(jī)通過控制傳輸和中斷傳輸請(qǐng)求報(bào)表來傳送和接收數(shù)據(jù)。HID設(shè)備必須有一個(gè)中斷輸入端點(diǎn)來傳送數(shù)據(jù)到主機(jī),中斷輸出端點(diǎn)則不是必需的。HID設(shè)備報(bào)表描述符報(bào)表描述符(ReportDescriptor)是HID設(shè)備中的一個(gè)描述符。HIDUSBUSB鼠標(biāo)將鼠標(biāo)移動(dòng)和鼠標(biāo)點(diǎn)擊等信息返回給電腦,鍵盤將按鍵數(shù)據(jù)返回給電腦等;輸出報(bào)表是主機(jī)發(fā)送給USB設(shè)備的,例如鍵盤上的數(shù)字鍵00ID來識(shí)別,報(bào)表ID個(gè)字節(jié)。當(dāng)報(bào)表描述符中沒有規(guī)定報(bào)表ID時(shí),報(bào)表中就沒有ID字段,開始就是數(shù)據(jù)。下圖為USBlyzer獲取的HID報(bào)表描述符,包含了輸入、輸出和特征三種報(bào)表。HIDUsageTablesVersion1.12文檔。HID設(shè)備的訪問在HID設(shè)備枚舉成功后,主機(jī)可以對(duì)HID設(shè)備發(fā)起訪問,訪問通過Set_Report或tt是主機(jī)用來傳遞數(shù)據(jù)到設(shè)(輸出報(bào)表或特征報(bào)表可使用,Get_Report是主機(jī)用來從設(shè)備獲取數(shù)據(jù)(輸入報(bào)表或特征報(bào)表可使用。如主機(jī)發(fā)送64字節(jié)數(shù)據(jù)到HID設(shè)備,使用Set_Report控制傳輸090003 000040,其后再接4字節(jié)數(shù)據(jù)。總線數(shù)據(jù)分析軟件BusHound設(shè)置要抓包的USB設(shè)備(一般勾選自動(dòng)選擇插入的設(shè)備)設(shè)備樹自動(dòng)選擇新插入的USB設(shè)備切換到設(shè)備樹自動(dòng)選擇新插入的USB設(shè)備USBlyzerUSB設(shè)置自動(dòng)捕捉熱插拔設(shè)備:原始數(shù)據(jù)區(qū)設(shè)備列表數(shù)據(jù)分析區(qū)設(shè)備屬性實(shí)例分析單片機(jī)固件升級(jí):主芯片為SONixSN32F247,內(nèi)置USB控制器及收發(fā)器,全速2.0接口,支持7個(gè)端點(diǎn),EP0~EP6,7512RAMBootloader,進(jìn)入該模式下可開始USB固件升級(jí)。其中EP0使用固定的64字節(jié)RAM,用來控制傳輸,實(shí)現(xiàn)主機(jī)獲取各種描述符,由于HID設(shè)備只需要接收主機(jī)發(fā)送的升級(jí)包,不需要上傳數(shù)據(jù),因此不使用中斷輸入管道。HID設(shè)備報(bào)表描述符:/*********************************************************************/HID_UsagePage(HID_USAGE_PAGE_CONSUMER),HID_Usage(HID_USAGE_PAGE_UNDEFINED),HID_LogicalMin(0x80),HID_LogicalMax(0x7F),HID_ReportCount(64),HID_ReportSize(8),
//usagepage(consumer)//usage(consumercontrol)//logicalminimum(-128)//logicalmaximum(+127)//reportcount(64)//reportsize(8)HID_Feature(HID_Data|HID_Variable|HID_Absolute),//feature(data,variable,absolute)//以上定義了64字節(jié),最小-128,最大127,用來接收升級(jí)包,每次64字節(jié)/*********************************************************************/USB通信協(xié)議,在HIDPC后,首先設(shè)備被枚舉,當(dāng)主機(jī)發(fā)起請(qǐng)求設(shè)備描述符時(shí),會(huì)觸發(fā)設(shè)備的EP0SETUP事件中斷,在中斷處理時(shí)上傳設(shè)備描述符,同樣地上傳配置描述符、接口描述符、端點(diǎn)描述符,這些屬于USB設(shè)備的標(biāo)準(zhǔn)請(qǐng)求。在主機(jī)與設(shè)備通信握手時(shí),主要工作由內(nèi)置的USB控制器處理了,用戶只需要在產(chǎn)生、掛EP0、EP0端點(diǎn)接收數(shù)據(jù)、EP0。HID6464字節(jié)(SetReport控制傳輸。DF608KBSRAM,不能一次性存儲(chǔ)整個(gè)固件包,因此每接收完16塊數(shù)據(jù)=1024字節(jié))FlashFlash,完成后PCFlash中的第一條需要執(zhí)行的地址。新的固件包開始執(zhí)行。整個(gè)流程如下圖所示:設(shè)備接入PC設(shè)備接入PC枚舉完成主機(jī)升級(jí)軟件將固字節(jié)分塊發(fā)送64字節(jié)N固件包傳送完?Y新的固件包升級(jí)結(jié)束【1】UniversalSerialBus
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 華北科技學(xué)院《健美操主項(xiàng)III》2023-2024學(xué)年第二學(xué)期期末試卷
- 通渭縣2025年五下數(shù)學(xué)期末經(jīng)典模擬試題含答案
- 通道下腰椎手術(shù)后的護(hù)理
- 企業(yè)員工培訓(xùn)稽核
- 2025簡易農(nóng)村土地承包租賃合同
- 2025標(biāo)準(zhǔn)建筑施工合同
- 2025繁華街道商鋪?zhàn)赓U合同
- 2025商業(yè)店鋪?zhàn)赓U合同標(biāo)準(zhǔn)范本
- 2025聯(lián)盟加盟合作的相關(guān)合同格式
- 2025汽車銷售合作協(xié)議合同模板
- 國家開放大學(xué)電大本科《兒童心理學(xué)》網(wǎng)絡(luò)課形考任務(wù)話題討論答案(第二套)
- 《淮陰師范學(xué)院二級(jí)學(xué)院經(jīng)費(fèi)核撥管理辦法(試行)》
- 諾基亞LTE FDD設(shè)備技術(shù)說明(2)
- 清篩車挖掘輸送裝置
- 實(shí)名核驗(yàn)(法人)業(yè)務(wù)辦理表
- 初中尺規(guī)作圖典型例題歸納總結(jié)(共10頁)
- 離合齒輪的工藝規(guī)程與專用夾具設(shè)計(jì)
- 武漢土地使用稅和土地征稅等級(jí)現(xiàn)行標(biāo)準(zhǔn)
- SCR法和Contirod法銅桿生產(chǎn)線的比較資料講解
- 繪本PPT:胡椒生長在哪里
- 公路壓實(shí)度自動(dòng)計(jì)算公式
評(píng)論
0/150
提交評(píng)論