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