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