新聞中心
linux 操作系統(tǒng)已經(jīng)在各個(gè)行業(yè)應(yīng)用非常廣泛,本文將詳細(xì)討論Linux下USB驅(qū)動(dòng),以及數(shù)據(jù)傳輸過程中涉及到的技術(shù)概念。

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序定制開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了云龍免費(fèi)建站歡迎大家使用!
USB驅(qū)動(dòng)指的是系統(tǒng)的驅(qū)動(dòng)軟件,他的作用是將使用者的輸入轉(zhuǎn)換成計(jì)算機(jī)可以識(shí)別的信號(hào)并進(jìn)行處理,使用者可以通過接口手柄或者操作鍵盤等設(shè)備與計(jì)算機(jī)進(jìn)行通信,USB驅(qū)動(dòng)把系統(tǒng)和使用者之間架起一座橋梁。
Linux中的USB驅(qū)動(dòng)也一樣,它負(fù)責(zé)外設(shè)的識(shí)別、驅(qū)動(dòng)加載、連接狀態(tài)記錄等功能,讓系統(tǒng)可以和外設(shè)通信及使用外設(shè)功能。
在 Linux 系統(tǒng)中,USB 驅(qū)動(dòng)分為兩個(gè)模塊:usbcore 和 usbfs,它們組成Linux的USB核心,提供所有的USB驅(qū)動(dòng)支持。
USBcore 通過一系列的函數(shù)和datastructure來支持USB樹,并定義 USB 的控制和狀態(tài)轉(zhuǎn)移機(jī)制,以及數(shù)據(jù)傳輸?shù)漠惒綑C(jī)制;而 usbfs 屬于用戶空間,它和USBcore配合完成了USB設(shè)備的初始化,設(shè)備管理和設(shè)備配置的工作,其機(jī)制如下圖:
圖 1 Linux的 USB 驅(qū)動(dòng)工作流程示意圖
常用的usbcore函數(shù)主要有:
usb_register():對(duì)USB設(shè)備進(jìn)行初始化,注冊(cè)u(píng)sbcore設(shè)備。
usb_deregister():將usbcore設(shè)備注銷掉,處理USB設(shè)備移除時(shí)的正確操作。
usb_alloc_urb():動(dòng)態(tài)分配urb緩沖區(qū),用來傳輸U(kuò)SB控制和數(shù)據(jù)報(bào)文。
usb_submit_urb():把urb報(bào)文傳到USB設(shè)備驅(qū)動(dòng)模塊中去,實(shí)現(xiàn)數(shù)據(jù)傳輸。
usb_read():從USB設(shè)備讀取數(shù)據(jù)。
usb_write():向USB設(shè)備寫入數(shù)據(jù)。
usb_bulk_msg():應(yīng)用程序發(fā)送和接收USB數(shù)據(jù)報(bào)文。
數(shù)據(jù)傳輸過程中,USB還采用了如下協(xié)議:
1. USB 設(shè)備認(rèn)證協(xié)議(USB Device Authentication Protocol)
2. USB 設(shè)備識(shí)別協(xié)議(USB Device Enumeration Protocol)
3. USB 設(shè)備數(shù)據(jù)傳輸協(xié)議(USB Device Data Transfer Protocol)
4. USB 設(shè)備管理協(xié)議(USB Device Management Protocol)
以上就是Linux下USB驅(qū)動(dòng)和USB通信協(xié)議的基礎(chǔ)概念,它們對(duì)USB的通信是至關(guān)重要的,是使用USB設(shè)備的前提。本文的介紹僅作為對(duì)Linux下的USB驅(qū)動(dòng)和USB數(shù)據(jù)傳輸機(jī)制的簡單了解,更多內(nèi)容請(qǐng)關(guān)注文章末尾的參考文獻(xiàn)。
參考文獻(xiàn):
[1] USB 技術(shù)基礎(chǔ). (2009, June 16). Retrieved from https://baike.baidu.com/item/USB%E6%8A%80%E6%9C%AF%E5%9F%BA%E7%A1%80/4154275?fr=aladdin
[2] 西瓜小王子. (2016, May 24). USB接口及其在Linux下的驅(qū)動(dòng). Retrieved from https://blog.csdn.net/jq0123/article/details/50851207
香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗(yàn)。專業(yè)提供云主機(jī)、虛擬主機(jī)、域名注冊(cè)、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。
本文名稱:「Linux下USB驅(qū)動(dòng)詳解」(linux中usb驅(qū)動(dòng))
分享路徑:http://www.5511xx.com/article/coppggi.html


咨詢
建站咨詢
