基于μC/OS-Ⅱ的嵌入式USB控制軟件的實現
4 Bulk-only傳輸的實現
枚舉結束后是對塊設備的讀寫。Bulk-Only傳輸規(guī)范是USB組織針對大容量存儲設備制定的一種塊存儲類協議,它僅僅使用Bulk端點來傳送數據/命令/狀態(tài)。本文引用地址:http://www.ex-cimer.com/article/150349.htm
邏輯分析儀抓包結果如圖5所示。從抓包結果可以清晰的看出CBW包由31個字節(jié)組成。
CBW包和CSW包正確收發(fā)后,Bulk-only傳輸就能順利實現。完成對扇區(qū)的讀寫,文件系統(tǒng)的掛載。上層應用程序使用文件系統(tǒng)提供的API,操作底層設備,實現對文件的建立、讀寫、刪除等操作。經測試本系統(tǒng)支持長文件名和超過2 GB容量的USB設備。本設計最終實現了在不同型號U盤上完成對長文件名文件的新建、讀寫以及刪除操作。
5 結語
本設計在以CK510為內核的HM1521_B芯片上,通過文件系統(tǒng)實現了對USB設備的讀寫操作。程序代碼放棄了USB協議中的繁文縟節(jié),抓住協議核心以達到精簡高效之目的。在大容量USB存儲設備的兼容性方面也進行了探討。經測試本系統(tǒng)支持長文件名和超過2 GB容量的USB設備。最終實現了在不同型號U盤上完成對長文件名文件的新建、讀寫以及刪除操作。
本系統(tǒng)尚需改進的地方主要是讀寫過程中的出錯應對能力。如何應對USB設備在讀寫過程中的突然拔插,以及如何提高數據傳輸出錯時的校驗能力都是本課題進一步研究的方向。
評論