輕松駕馭嵌入式USB設計--USB完全解決方案全新登場
USB接口在生活中隨處可見,其主要優點有通信速度快、可靠性高、支持熱插撥以及低成本,此外由于易于使用,并可以取代電腦上的RS232接口,微軟和英特爾電腦系統設計要求所有PC上必須有兩個以上可以直接使用的USB接口,可見USB的使用越來越廣泛。
本文引用地址:http://www.j9360.com/article/86527.htmUSB協議
USB全稱為通用串行總線,HOST為主機,是通過總線發起所有傳輸的系統;Device是與主機進行通信并且接收來自主機信息的外設設備;Hub是集線器,用來擴展USB主機接口,提供連接點和電源的設計;Pipe是管道,是邏輯上的抽象概念,指的是設備端上的端點和主機軟件之間建立的虛擬的連接通道;ENDPOINT指的是設備端用作USB的數據和發送的存儲器緩沖,包括IN端點和OUT端點。IN是USB主機讀入讀取數據的端點,OUT是USB主機寫入數據的端點。Silicon Labs單片機上端點是用片上XRAM的FIFO實現的。在USB的網絡協議中,每個USB的系統有且只有一個HOST,負責管理整個USB系統,HOST端有一個ROOT HUB,可以提供一個或多個USB下行端口,每個端口都可以通過USB Hub進行擴展,從而連接多個USB設備,最多可以擴展到127個,其拓撲結構如圖1所示:
USB的傳輸指的是完成通信請求的過程;會話是到一個端點的發求過程;包即信息塊;幀是建立在低速和全速總線上的1ms的時間單位。傳輸被劃分為多個會話,而會話由包組成,USB主機通過將會話分配到幀進行傳輸,一個傳輸可以有多個幀。枚舉是一個識別和指派一個獨一無二的地址的行為,枚舉過程使USB設備具有被熱插拔的能力,USB主機一直檢查總線上是否有新的設備接入,直到有一個USB設備被完全枚舉完成,USB主機才開始與USB設備進行通信。因此USB主機可以枚舉USB設備并與USB外圍設備進行數據傳輸,管理USB總線,為USB設備提供電源,如一個全功耗主機給每個USB外設提供最大到500mA的電流,一些低功耗的USB主機只能給低功耗的USB外設提供最大到100mA的電流,除此之外USB外設也可以自己供電。而USB設備的作用是與USB主機傳輸數據,響應USB主機的標準請求,管理電源。
USB協議定義了四種傳輸類型:控制傳輸,塊傳輸,中斷傳輸和同步傳輸。控制傳輸是雙向傳輸,通常數據量較小,其用途是傳送命令請求,讓USB主機識別和枚舉外設,以及傳送用戶定義的請求。控制傳輸的傳輸速度是高速模式為15.8MB/s,全速模式832KB/s,低速模式24KB/s,任何USB外設都必須支持控制傳輸;塊傳輸適用于大量數據傳輸應用,但不保證數據速率和延遲,只支持高速和全速USB外設,其傳輸速度為高速模式53.2MB/s,全速模式1.2MB/s,通常應用于打印機、掃描儀、磁盤驅動器等等會有大塊數據進行傳輸的設備;中斷傳輸主要用于定時查詢設備是否有中斷數據傳輸,從而保證數據傳輸間隔的時間,高速模式為24.6MB/s,全速模式為64MB/s,低速模式為0.8KB/s,通常應用在鍵盤、鼠標、游戲手柄等傳輸要求數據量小但要定時傳輸的場合;同步傳輸是一種數據流實時傳輸的模式,由于這種模式中沒有糾錯環節,因此它可以保證傳輸速率和間隔時間但不保證數據的完整性,同步傳輸的最高速度為24.6MB/s,全速模式為1MB/s。
USB主機通過獨特的標識符識別USB外設,VID(Vendor ID)是USB聯盟給USB設備提供商分配的ID號,PID是USB設備提供商給自己產品分配的ID號,串行序列號是開發商或制造商給每個USB產品分配的號碼,每個USB設備都有自己唯一的序列號。Silicon Labs公司唯一的VID是0x10C4,所有出廠產品都分配了一個PID,客戶可以根據自己的需求聯系Silicon Labs公司的相關人員為Silicon Labs的USB產品申請一個特別的PID。
USB定義了一套標準的設備類別從而實現不同系統平臺間的互操作性。HID主要應用于鍵盤、鼠標、熱量表、電壓表等;大量存儲主要用于可移動或不可移動的設備,如磁盤、硬盤、光盤以及U盤等;Audio主要應用在揚聲器、麥克風、語音處理等;Communication Device Class主要是調制解調器、模擬或數字電話和以太網卡;Imaging的應用有數碼相機、攝像機、網絡攝像頭;此外如IrDA、電源、打印機、SD卡等都有相應的類別。
Silicon Labs公司的USB解決方案
目前Silicon Labs公司的USB產品已經擴充到十五款,并且可以為客戶提供相應的五種開發板,軟件支持包括虛擬串行通訊接口驅動,USBXpress從傳輸類型的驅動層到源代碼,常用類型的參考設計,以及第三方提供的工具等。圖2所示的為Silicon Labs公司的所有USB解決方案。圖中可以看到虛擬COM口很容易使用,不需要開發固件和驅動。同時Silicon Labs公司提供的驅動支持Windows,蘋果和Linux等多個操作系統,并且通過了WHQL認證。USBXpress可以為用戶提供簡單靈活的開發途徑,固件庫文件以及Windows動態鏈接庫,還可以處理所有USB復雜協議,簡化了設備端的固件和主機側的驅動開發。
CP210X系列包括CP2101、CP2102、CP2103,都是固定功能的USB到UART轉接橋芯片,能為用戶提供最快最簡單的從RS232升級到USB的方法。其它混合信號帶USB功能的MCU都是高速8051內核,最快可達48M的指令運行速度,全部都內置高精度的振蕩器,不需要外加晶振,最高64K Flash的程序空間和5376Byte的RAM,17通道10位200Ksps的ADC,C86F340系列帶有外部數據總線接口,支持在系統仿真編程,芯片內集成5V-3.3V的電壓解調器,因此芯片的有效供電電壓范圍為2.7-5.25V。
USBXpress簡化了USB的設計,為USB設備端的固件和主機側的應用軟件提供更高層的API,用戶無需掌握USB協議的主機端的驅動專門技術即可實現USB的應用,而且該應用軟件完全免費,并已取得Windows的設備驅動認證,支持Silicon Labs公司的所有產品。支持的操作系統有Windows98、Windows2000、WindowsXP,也支持其他操作系統。
Silicon Labs公司的十五款USB MCU產品適合全部的嵌入式應用,高性能的混合信號USB2.0使這些MCU可以很好的滿足市場需求,而且全面的軟件和硬件開發資源及參考設計加速了產品的開發周期。
linux操作系統文章專題:linux操作系統詳解(linux不再難懂)
評論