天祥ARM視頻第10講.ppt_第1頁
天祥ARM視頻第10講.ppt_第2頁
天祥ARM視頻第10講.ppt_第3頁
天祥ARM視頻第10講.ppt_第4頁
天祥ARM視頻第10講.ppt_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、主講:馮 坤 出品:天祥電子 網址: www.tx-,學ARM和學單片機一樣簡單,學ARM和學單片機一樣簡單,第十講:,USB驅動編程,學ARM和學單片機一樣簡單,Linux下USB系統(tǒng)文件節(jié)點:同其他外設一樣,上層應用軟件對連接在系統(tǒng)地USB設備訪問是通過文件系統(tǒng)的形式進行的。每個連接到系統(tǒng)總線上的USB設備可以同時對應有一個或者多個驅動程序。即一個USB設備可以在Linux系統(tǒng)上形成一個或多個設備節(jié)點,以供應用程序使用。在Linux系統(tǒng)上,每個設備節(jié)點都有其相關的主設備號和次設備號。 USB主機驅動結構:Linux USB主機驅動由三部分組成: 1) USB主機控制器驅動(HCD):是US

2、B主機驅動程序中直接與硬件交互的軟件模塊,其主要功能有:主機控制器硬件初始化;為USBD層提供相應的接口函數;提供根HUB(ROOT HUB)設備配置、控制功能;完成4種類型的數據傳輸等。 2) USB驅動(USBD):是整個USB主機驅動的核心,其主要實現的功能有:USB總線管理、USB總線設備、USB總線帶寬管理、USB的4種類型數據傳輸、USB HUB驅動、為USB設備類驅動提供相關接口、提供應用程序訪問的USB系統(tǒng)的文件接口等。,學ARM和學單片機一樣簡單,3) USB設備類驅動:是最終與應用程序交互的軟件模塊,其主要實現的功有:訪問特定的USB設備、為應用程序提供訪問接口等。 應用程

3、序首先通過文件系統(tǒng)(POSIX)接口來訪問相應的USB設備類驅動程序和USBD;USB設備類驅動程序則通過USBD提供的相關接口將數據請求包傳遞給USBD;USBD通過HCD提供的接口,進一步將數據包傳遞給HCD;HCD最終將數據發(fā)送到USB總線上。Linux定義了通用的數據結構URB用來在USB設備類驅動和USBD,USBD和HCD間進行數據傳輸。統(tǒng)一的URB(Universal Request Block)結構為usb主機驅動程序的開發(fā)帶來了很大方便。 USB時序: 數據傳輸時序:在USB總線上,所有的數據傳輸都是由USB HOST發(fā)起的。每個USB設備通過地址過濾出自己要接受的數據包,并

4、根據數據包請求的類型與USB HOST進行數據傳輸。由于數據傳輸的時序和總線帶寬問題,當應用程序通過設備類提供一個URB時,該數據包并不能立即被送到USB總線上,而只能在USB總線上有足夠帶寬的情況下,該數據請求才會被傳輸。因而,HCD層為不同類型的數據傳輸維護了相應的數據鏈,當數據鏈上的數據包傳輸結束后,HCD通過調用與該數據包相關聯(lián)的回調函數來通知設備類驅動程序。,學ARM和學單片機一樣簡單,CH375B的linux主控制器驅動 CH375B 的HCD 對Linux的USB 協(xié)議棧進行補充,加入對CH375B主設備控制器的支持。 CH375B的HCD可以分為以下功能模塊: 對虛擬根hub

5、的支持; USB 請求隊列 USB 請求安排表 中斷處理 USB 請求轉化為USB 事務和包 USB 包的發(fā)送和接收HCD支持中斷,控制,和批量端點,不支持同步的端點。HCD與Linux USB內核接口通過一系列的API 函數接口。,學ARM和學單片機一樣簡單,設備連接和斷開,學ARM和學單片機一樣簡單,學ARM和學單片機一樣簡單,2.設備斷開,學ARM和學單片機一樣簡單,學ARM和學單片機一樣簡單,學ARM和學單片機一樣簡單,struct usb_bus *usb_alloc_bus(struct usb_operations *op) void usb_free_bus(struct usb_bus *bus) void usb_register_bus(struct usb_bus *bus) void usb_deregister_bus(struct u

溫馨提示

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

評論

0/150

提交評論