我們大多數人從不考慮我們的USB裝置,我們只是把它們**去,然後忘記它們。但是,如果你是一個好奇的型別誰想知道更多的USB如何工作?今天的超級使用者問答帖子回答了一位好奇的讀者的問題。
今天的問答環節是由SuperUser提供的,SuperUser是Stack Exchange的一個分支,是一個由社群驅動的問答網站分組。
圖片由埃維爾卡·科瓦爾斯基(Flickr)提供。
超級使用者讀者**eeb想知道是否真的有USB通訊協議:
According to Wikipedia, USB:
But is there an actual USB Communication Protocol? My understanding is that:
As far as I can tell, a USB Communication Protocol does not appear anywhere in this flow. If my understanding is correct, the USB is just the cable and electrical connection between the PC and the device.
Am I wrong here? Does USB actually implement some kind of low-level protocol that underscores the flow above? If so, what is it and how does it work at a 30,000 foot view?
有實際的USB通訊協議嗎?
超級使用者貢獻者RedGrittyBrick和projectdp為我們提供了答案。首先,紅磚:
Yes (see USB protocols).
As I understand it, the USB spec defines a complex set of layered protocols and device profiles.
For example, USB devices can conform to high-level templates like mass-storage, keyboard, human interface device, etc. and be managed by a generic device driver. Some USB devices can communicate at a lower level such that the operating system’s low level USB support can recognize that device-specific higher level drivers are needed.
接著是projectdp的回答:
Question
Is there a low-level USB communication protocol in action and what is it?
Answer
Yes, there is. The USB specification includes the USB protocol which defines the way the bus is used on a bit level. This would be the low-level protocol that underlies the higher level protocols (i.e. mass-storage, HID, etc.).
For specifics on how the USB protocol works, this OSDev wiki is helpful. Here is another interesting description using sequence diagrams to describe the various data transacti*** per the USB protocol.
Bonus Question
How does Linux find and load the device driver for that device?
Bonus Answer
On Linux when using a USB-enabled kernel, a working USB device will be detected via the hardware and kernel due to the USB specification. On the hardware side, the detection is done by the USB Host Controller. Then in the kernel the Host Controller Driver takes over and translates the low-level bits on the wire to USB protocol formatted information. This information then gets populated in the u**core driver in the kernel.
I paraphrased from this excellent Opensourceforu article, which has much more detail and clarity about your question in the Linux context.
請務必透過下面共享的執行緒連結檢視其餘的生動討論!
有什麼要補充的解釋嗎?在評論中發出聲音。想從其他精通技術的Stack Exchange使用者那裡瞭解更多答案嗎?在這裡檢視完整的討論主題。
sip與h323 大約15年前,SIP和H323這兩種通訊協議幾乎是在同一時間引入的,但是SIP和H323在其範圍上存在一些差異,因此也導致了一些其他的差異。SIP和H323都是用於基於internet協議(IP)的網路上的多媒體呼叫和會議的通訊協議。...
...站資料和其他快取用於儲存通常訪問的資料。反過來,這實際上加快了您的網際網路瀏覽體驗,因為載入頻繁訪問的頁面所需的資源更少。 ...
...了它,但它仍然需要其他公司跨裝置採用藍芽。這個名字實際上來自一家合作伙伴公司英特爾,英特爾的僱員吉姆·卡爾達克建議。 ...
...上,當您將裝置連線到計算機時,裝置上的韌體允許裝置實際執行。例如,一個典型的USB快閃記憶體驅動器韌體將管理檔案的來回傳輸。USB鍵盤的韌體將鍵盤上的物理按鍵轉換為透過USB連線傳送到計算機的數字按鍵資料。 這個...
...微軟的Xbox One以外,其他裝置可能不支援NTFS。 限制:沒有實際的檔案大小或分割槽大小限制。 理想用途:將其用於Windows系統驅動器和其他僅與Windows一起使用的內部驅動器。 檔案分配表32(fat32) FAT32是Windows可用的三個檔...
...來自於連線速度慢或者瀏覽器的渲染時間不好。有些時間實際上被一些相當基本的網路和通訊協議佔用了,這些協議已經使用了相當長的一段時間。谷歌希望用兩個不同的方案來啟動這些微小的延遲。第一個是SPDY(發音為“speed...
...Centre Y710 Cube遊戲PC。 微軟使用專有的無線通訊協議(而非Wi-Fi Direct)將Xbox One控制器連線到遊戲機,因此PC**商將無法簡單地透過軟體實現這一功能。相反,微軟與聯想合作,將Xbox無線介面卡整合到IdeaCentreY710Cube...
...他們自己瞭解的更多。因為我們在生活中所做的很多事情實際上都是透過那些左鍵點選來完成的,這可能是可笑的。你有權私下去看醫生,那隻是你和醫生之間的事。同樣,你也必須能夠上網。” Berners Lee於1991年8月1日建立了...
...許點對點協議(PPP)會話在多個網路和鏈路上傳輸。L2TP實際上取自微軟和思科的L2F或第二層轉發技術的PPTP。因此,LT2P具有PPTP的特性,因為它結合了PPTP的控制通道和資料通道,並且在更快的傳輸協議UDP上執行。 由於UDP在實時交...