GD32F3開發(fā)進階教程 課件 ch12USB從機實驗_第1頁
GD32F3開發(fā)進階教程 課件 ch12USB從機實驗_第2頁
GD32F3開發(fā)進階教程 課件 ch12USB從機實驗_第3頁
GD32F3開發(fā)進階教程 課件 ch12USB從機實驗_第4頁
GD32F3開發(fā)進階教程 課件 ch12USB從機實驗_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

USB從機實驗“第十二章《GD32F3開發(fā)進階教程——基于GD32F303ZET6》01實驗內容USB是UniversalSerialBus的縮寫,即通用串行總線,是連接計算機系統(tǒng)與外部設備的一種串口總線標準,也是一種輸入輸出接口的技術規(guī)范,被廣泛應用于個人計算機和移動設備等信息通信產(chǎn)品,并擴展至攝影器材、數(shù)字電視(機頂盒)、游戲機等其他領域。USB發(fā)展至今已經(jīng)有USB1.0/1.1/2.0/3.0等多個版本,在USB1.0和USB1.1版本中,只支持1.5Mbps的低速(low-speed)模式和12Mbps的全速(full-speed)模式,在USB2.0中又加入了480Mbps的高速模式。目前最新的USB協(xié)議版本為USB3.2Gen2x2,傳輸速度可達20Gbps。實驗內容02實驗原理USB模塊GD32F3蘋果派開發(fā)板具有USBType-C接口,通過該接口可實現(xiàn)數(shù)據(jù)傳輸和電源輸入,其電路原理圖如圖12-1所示。其中Vbus為總線電源,CC1與CC2用于識別插入方向,分別連接5.1k的下拉電阻。USBDP連接15k的上拉電阻,表示該設備為全速設備或高速設備。當設備接入主機時,主機就可以通過該上拉電阻判斷是否有USB設備接入。由于USBType-C支持正反面插入,因此A7、A6與B7、B6均分別與USBDM(D)和USBDP(D+)連接,構成半雙工的差分信號線,以抵消長導線的電磁干擾。注意,USB插座沒有直接連接到GD32F30x微控制器上,而是通過J709轉接。在進行本章實驗時,需要通過跳線帽將PA11和PA12分別連接到USBDM和USBDP引腳。USB模塊USB是一種串行傳輸總線,它的出現(xiàn)主要是為了簡化個人計算機與外圍設備的連接USB具有許多優(yōu)點,例如支持熱插拔,能夠即插即用,具有很強的擴展性及很高的傳輸速度,以及統(tǒng)一的標準、兼容性強、價格便宜等。但其缺點是只適合短距離傳輸,開發(fā)和調試難度較大。USB協(xié)議簡介USB是一種主從結構的系統(tǒng),分為主機(Host)與從機(Device)。所有的數(shù)據(jù)傳輸都由主機主動發(fā)起,而從機設備只能被動地應答。在USBOTG中,設備可以在從機與主機之間切換,實現(xiàn)設備與設備之間的連接。USB主機通常具有一個或多個主控器(Hostcontroller)和根集線器(Roothub)。主控器主要負責處理數(shù)據(jù),根集線器則提供一個連接主控器與設備之間的接口和通路。另外還有USB集線器(USBhub),即USB拓展塢,可以對原有的USB口在數(shù)量上進行拓展,但是不能拓展出更多的帶寬。USB拓撲結構USB電氣特性USB使用不歸零反轉(NRZI)編碼方式:信號電平翻轉表示0,信號電平不變表示1如圖12-2所示。USB描述符從圖12-3可以看出,USB描述符之間的關系是一層一層的,頂層是設備描述符,然后是配置描述符、接口描述符,底層是端點描述符。USB描述符其中bDescriptorType為描述符的類型常數(shù),常用的描述符類型及其取值如表12-1所示。0102設備描述符:設備描述符描述有關USB設備的相關信息,每個USB設備有且僅有一個設備描述符。配置描述符:配置描述符描述了特定設備配置的信息,每個USB設備至少需要有一個配置描述符。USB描述符USB描述符有關USB設備基本類如表12-2所示。0304接口描述符:接口描述符描述配置中的特定接口。一個配置提供一個或多個接口,每個接口可以具有0個或多個端點描述符。端點描述符:端點(Endpoint)是USB設備上可被獨立識別的端口,是USB設備中可以進行數(shù)據(jù)收發(fā)的最小單元。每個USB設備必須要有一個端點0,其作用是對設備和設備枚舉進行控制,因此也被稱為控制端點。USB描述符5.字符串描述符和語言ID描述符在USB協(xié)議中,字符串描述符是可選的。語言ID描述符是特殊的字符串描述符,用于通知主機其他字符申描述符里面的字符串為何種語言。最常用的語言編碼為美式英語,編碼為0x0409。主機需要先獲取語言ID描述符,才能正確解析字符串描述符。USB描述符HID是Humaninterfacedevice的縮寫,即人體學接口設備,是指用于和人體交互的設備,例如鼠標、鍵盤、游戲手柄和打印機等。現(xiàn)代主流操作系統(tǒng)都能識別標準USBHID設備無須專門的驅動程序。HID設備的描述符主要包括5個USB標準描述符(設備描述符配置描述符、接口描述符、端點描述符和字符描述符)和3個HD設備類特定述符(HID描述符報告描述符和物理描述符)。HID協(xié)議HID協(xié)議USB數(shù)據(jù)由二進制數(shù)字串構成,采用最低有效位(LSB)先行的傳輸方式,由數(shù)字串組成域,多個域組成一個包,再由多個包組成事務,最后由多個事務組成一次傳輸,其結構關系如圖12-4所示。HID協(xié)議1.包(Packet)USB總線上傳輸?shù)臄?shù)據(jù)以包為基本單位,所有數(shù)據(jù)都是經(jīng)過打包后在總線上傳輸?shù)?,包的基本結構如圖12-5所示。010203今牌包(TokenPacket):令牌包用來啟動一次USB傳輸。數(shù)據(jù)包(DataPacket):數(shù)據(jù)包用于傳輸數(shù)據(jù),也用于傳輸USB描述符。握手包(HandshakePacket):握手包內容僅由PID域組成,用于表示一次傳輸是否被對方確認,是最簡單的一種數(shù)據(jù)包。HID協(xié)議2.事務(Transaction)在USB上數(shù)據(jù)信息的一次接收或發(fā)送的處理過程稱為事務,分為3種類型:Setup事務:主要向設備發(fā)送控制命令:DataIN事務:主要從設備讀取數(shù)據(jù);DataOUT事務:主要向設備發(fā)送數(shù)據(jù)。HID協(xié)議3.傳輸(transfer)USB協(xié)議規(guī)定了4種傳輸類型:控制傳輸、批量傳輸、同步傳輸和中斷傳輸。其中,除控制傳輸外,其他類型的傳輸每傳輸一次數(shù)據(jù)都是一個事務,控制傳輸可能包含多個事務。HID協(xié)議010203控制(Control)傳輸:控制傳輸適用于非周期性且突發(fā)的數(shù)據(jù)傳輸。批量(Bulk)傳輸:批量傳輸適用于那些需要大數(shù)據(jù)量傳輸,但是對實時性、延時和帶寬沒有嚴格要求的應用。同步(isochronous)傳輸:同步傳輸用于傳輸那些需要保證帶寬,并且不能延時的信息。HID協(xié)議04中斷(interrupt)傳輸:中斷傳輸用于頻率不高,但對周期有一定要求的數(shù)據(jù)傳輸。USB枚舉USB枚舉是USB設備調試中一個很重要的環(huán)節(jié)。USB主機在檢測到設備插入后,需要對設備進行枚舉。枚舉過程采用的是控制傳輸模式,從設備讀取一些信息,了解設備類型和通信方式,主機可以根據(jù)這些信息來加載合適的驅動程序。USB枚舉流程如圖12-10所示。GD32F30x系列微控制器的通用串行總線全速設備接口(USBD)模塊僅適用于GD32F30x系列芯片,USBD意為USBDevice,即只支持工作在設備(Device)模式,而不支持主機工作模式。USBD模塊支持USB2.0協(xié)議下的12Mbps的全速速率傳輸它內部包含了一個USB物理層芯片,支持USB2.0協(xié)議所定義的4種傳輸類型(控制、批量、中斷和同步傳輸)。USBD模塊簡介03實驗代碼解析0102hidcore.h文件:hidcore.c與hidcoreh為GD官方提供的HIDkeyboard例程源代碼。hidcore.c文件:在hidcorec文件中,首先定義了外部變量prevtransfercomplete傳輸完成標志位及keybufer數(shù)據(jù)上報發(fā)送緩沖區(qū)。hidcore文件對1.Keyboard.h文件首先定義了鍵盤的HID碼表,根據(jù)HID協(xié)議,每一個鍵盤上的按鍵都有其固定的值。2.Keyboard.c文件在Keyboardc文件的“內部變量定義”區(qū),首先初始化上次傳輸發(fā)送完成標志位為1并使用IO(宏定義為volatile)修飾符禁止編譯器優(yōu)化,必須每次都直接讀寫其值。Keyboard文件對KeyboardTop.c文件在KeyboardTop.c文件的“內部變量定義”區(qū),首先定義sstructGUIDev結構體,并且定義了鍵值轉換數(shù)組sarKeyTable,用于將GUI回傳的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論