回覆列表
  • 1 # 使用者7950939462648

    USB的協議本身的缺點有:

    4

    /9

    1. 協議是非對等協議,必須有主機支援,無法搭建星形結構或者匯流排式結構,整個裝置樹必須有個根節點,裝置與裝置之間無法直接通訊,相對而言,乙太網和串列埠都是對等的通訊系統。

    5

    /9

    2. Host(主機)端協議棧過於龐大複雜,很難小型化。一個最小的USB Host驅動需要幾千行程式碼實現,如果再配置裝置驅動,程式碼可能上萬行(以C語言計),而串列埠協議棧則很簡單,TCP/IP協議棧雖然複雜,但鏈路層不需要協商。USB裝置通訊的前提是使用USBD建立裝置連結,這個過程複雜而麻煩,網路和串列埠都可以無連結的方式直接發包。

    6

    /9

    3. 控制器驅動難寫。寫過EHCI驅動的都知道這東西很麻煩,但網絡卡驅動往往非常簡單,對比之下簡單的網絡卡驅動可能在千行左右,串列埠驅動就更簡單了。這一條以及上一條就限制了USB在低配置的裝置上使用(比如記憶體只有32K的微控制器,要跑USB很困難)

    7

    /9

    4. OTG協議複雜,OTG目標是實現USB主機和裝置之間的靈活切換,但代價是更復雜的驅動。

    8

    /9

    5. 通訊距離過短。

    9

    /9

    所以,USB適用於那種有一個功能強大的主機帶動多個裝置場景,但不太適用於對等通訊或者小裝置之間的通訊。

  • 中秋節和大豐收的關聯?
  • 925純銀是什麼意思?