嵌入U(xiǎn)SB控制器的51系列單片機(jī)EZ-USB
掃描二維碼
隨時(shí)隨地手機(jī)看文章
主要介紹嵌入U(xiǎn)SB控制核的51系列單片機(jī)EZ-USB的特性及傳輸與控制機(jī)理。該內(nèi)核可幫助USB外設(shè)開發(fā)者完成USB協(xié)議中規(guī)定的80%~90%的通信工作,是USB外設(shè)研制者的理想選擇。
文中還對使用不同的USB芯片組成的應(yīng)用系統(tǒng)作了比較
1 概述
隨著PC的廣泛應(yīng)用,其外設(shè)也越來越多,打印機(jī)、鼠標(biāo)、掃描儀、游戲桿、音箱……,每個(gè)外設(shè)都需要通過一個(gè)接口與PC相連。外設(shè)多了,PC的I/O插口自然也就不夠用了。在很多特定的應(yīng)用場合,如工業(yè)數(shù)據(jù)采集等領(lǐng)域,常常用采集板卡來完成工作,而每一個(gè)板卡自然會(huì)占用一個(gè)PC插槽。PC插槽有限。采集點(diǎn)多了就不夠用。除此之外,在個(gè)人電腦的應(yīng)用中,外圍設(shè)備存在很多問題。這些問題大致可以歸結(jié)到成本、配置以及個(gè)人電腦的連接等幾個(gè)方面,而USB正是為了解決這些問題而出現(xiàn)的一種方案。簡而言之,USB的出現(xiàn)不僅解決了I/O插口不夠的問題,而且還建立了一條連接和訪問外設(shè)的方法。這些方法可以有效地減少總體成本,而且從終端用戶的角度來看,可以增加可連接的外設(shè)數(shù)目,簡化設(shè)備的連接和配置。
通用串行總線USB是由Intel等廠商制定的連接計(jì)算機(jī)與具有USB接口的多種外設(shè)之間的串行總線。其拓?fù)浣Y(jié)構(gòu)如圖1所示。
圖1 USB的層次拓?fù)鋱D
USB的特性有:
◇ 成本低。為了把外設(shè)連接到PC上,USB提供了一種低成本的解決方案。
◇ 熱插拔。設(shè)備連接后由USB自動(dòng)檢測,并由軟件自動(dòng)配置,完成后可立即使用,無須用戶干涉。
◇ 單一的連接器類型。USB定義了一種簡單的連接器,可以用來連接任何一個(gè)USB設(shè)備。多個(gè)連接器可以通過USB集線器連接。
◇ 每個(gè)USB總線支持127個(gè)設(shè)備的連接。
◇ USB支持三種設(shè)備傳輸速率:1.5 Mb/s(低速設(shè)備)、12 Mb/s(中速設(shè)備)和480 Mb/s(高速設(shè)備)。
◇ 外設(shè)能夠直接由USB總線進(jìn)行供電。
◇ 不需要系統(tǒng)資源(如內(nèi)存、I/O地址空間和中斷請求線路)。
◇ USB事務(wù)處理包括錯(cuò)誤檢測機(jī)制,它們用以確保數(shù)據(jù)無錯(cuò)誤發(fā)送。
◇ 電源保護(hù)。如果連續(xù)3 ms沒有總線活動(dòng),USB將自動(dòng)進(jìn)入掛起狀態(tài)。
◇ 支持四種類型的傳輸方式:塊傳輸、控制傳輸、中斷傳輸和同步傳輸。
2 通用USB控制系統(tǒng)的組成結(jié)構(gòu)
在每一個(gè)USB設(shè)備中都有一個(gè)串行接口引擎(SIE)。SIE與USB數(shù)據(jù)線的D+和D-兩個(gè)引腳相連,與USB設(shè)備進(jìn)行字節(jié)傳送。圖2表示一次USB塊傳輸,時(shí)間順序從左到右。SIE對PID信息包進(jìn)行解碼,并通過傳送的CRC位對數(shù)據(jù)進(jìn)行錯(cuò)誤檢測,然后,將有效數(shù)據(jù)送到USB設(shè)備。如果SIE檢測到一個(gè)出錯(cuò)的數(shù)據(jù),它并不是發(fā)出一個(gè)握手信號(hào),而是自動(dòng)地不進(jìn)行響應(yīng),并告訴主機(jī)延時(shí)重發(fā)。
圖2 SIE的功能
由于USB被設(shè)計(jì)成可以用簡便有效的方法來與多種類型的外設(shè)通信,沒有現(xiàn)有接口的局限性和缺點(diǎn),這樣,導(dǎo)致了對USB接口的設(shè)計(jì)和編程更加復(fù)雜。為了降低設(shè)計(jì)者的開發(fā)難度,使用專用的USB控制器已成為研制人員的首選方案。[!--empirenews.page--]
USB協(xié)議的復(fù)雜性意味著USB外設(shè)必須具備智能。USB控制器必須知道如何檢測并對USB端口的事件做出反應(yīng)。一般的做法是:USB控制器只處理USB通信,由一個(gè)外部的微控制器(MCU)來管理USB控制器的寄存器、設(shè)備描述符的獲取和數(shù)據(jù)包的交換等,如圖3所示。
圖3 通用USB設(shè)備的組成結(jié)構(gòu)
表1所示為可與一般微控制器連接的USB控制器。
表1
USB控制器使用串行口或并行口與MCU連接。這樣,外部接口可能比USB最大速度要慢,使得芯片只適合傳送間歇數(shù)據(jù)。這樣設(shè)計(jì)的好處是系統(tǒng)組成靈活,可根據(jù)不同的系統(tǒng)需求,搭配不同的MCU,使其具有很高的性能價(jià)格比;但同時(shí)也加大了編程設(shè)計(jì)人員的開發(fā)難度,延長了產(chǎn)品的開發(fā)周期。
另一種可行的方法是使用嵌入MCU的USB控制器。這樣,CPU只需要訪問一系列寄存器和存儲(chǔ)器,便可實(shí)現(xiàn)USB口的數(shù)據(jù)傳輸。從而簡化了程序的設(shè)計(jì),并且許多供應(yīng)商還提供許多范例電路和測試代碼,使設(shè)計(jì)者從復(fù)雜的協(xié)議解釋中得到解脫?,F(xiàn)在,許多芯片制造商開始生產(chǎn)一些基于通用MCU的USB控制器,采用研制人員所熟知的指令集,大大簡化了編程的難度。如基于8051結(jié)構(gòu)的USB控制器有:Intel公司的8X930A、8X931A;CYPRESS公司的EZ-USB等。此外,還有基于MITSUBISHI 740/7600/M16C的USB芯片;基于MOTORORA HC05系列的USB芯片等。受篇幅所限,本文僅介紹EZ-USB 2100系列單片機(jī)。
3 EZ-USB組成結(jié)構(gòu)及特性
美國CYPRESS公司是一家從事USB接口芯片和USB單片機(jī)開發(fā)和生產(chǎn)的公司。CYPRESS最新推出的帶智能USB接口的單片機(jī)EZ-USB,極大地降低了USB外設(shè)的開發(fā)難度,為PC外設(shè)的制造商提供了一個(gè)性能優(yōu)良、價(jià)格較低的設(shè)計(jì)方案。
EZ-USB有多個(gè)系列的產(chǎn)品,根據(jù)不同的速率需求,可滿足不同的系統(tǒng)要求和價(jià)格。CYPRESS提供三個(gè)系列的EZ-USB芯片,如表2和表3所列。
表2 CYPRESS的EZ-USB系列產(chǎn)品
表3 EZ-USB2100系列產(chǎn)品
3.1 EZ-USB芯片組成結(jié)構(gòu)
EZ-USB芯片將USB接口的控制核整合到單片機(jī)集成電路中,如圖4所示。
集成的USB收發(fā)模塊與USB 總線的D+和D-引腳相連。SIE進(jìn)行串行數(shù)據(jù)譯碼和錯(cuò)誤更正,以及其他USB所要求的信號(hào)級(jí)操作等,最后,再與USB收發(fā)模塊接口進(jìn)行數(shù)據(jù)字節(jié)的傳輸。
圖4 EZ-USB的組成框圖
內(nèi)部的微處理器在標(biāo)準(zhǔn)8051上縮短了執(zhí)行時(shí)間并增加了新的特性。它用內(nèi)部SRAM存儲(chǔ)程序和數(shù)據(jù),使EZ-USB 系統(tǒng)具有軟配置的特性。USB主機(jī)經(jīng)USB總線將8051的程序代碼和描述符裝入SRAM中,然后,EZ-USB芯片用已下裝程序中定義的外設(shè)特性進(jìn)行重新連接,這個(gè)過程也叫再枚舉。[!--empirenews.page--]
EZ-USB系列使用了強(qiáng)大的SIE/USB接口(稱為USB內(nèi)核)。這個(gè)具有強(qiáng)大功能的內(nèi)核可以自動(dòng)完成USB協(xié)議的轉(zhuǎn)換,簡化8051的代碼。
EZ-USB 芯片在3.3 V電壓下就可以運(yùn)行,簡化了USB設(shè)備總線電壓的設(shè)計(jì)。
3.2 EZ-USB特性
?、?nbsp; 改進(jìn)的8051內(nèi)核。性能可達(dá)到標(biāo)準(zhǔn)8051的5~10倍,與標(biāo)準(zhǔn)8051的指令完全兼容。
?、?nbsp; 高度集成。傳統(tǒng)USB外設(shè)的硬件設(shè)計(jì)通常包括非易失性存儲(chǔ)器(如EPROM、EEPROM、FLASH ROM)、微處理器、RAM、SIE(串行接口引擎)和DMA等。EZ-USB將上述多個(gè)模塊集成在一個(gè)芯片中,從而減少了各芯片接口部分時(shí)序配合時(shí)的麻煩。
③ USB 內(nèi)核。EZ-USB可以代替USB外設(shè)開發(fā)者完成USB協(xié)議中規(guī)定的80 %~90 %的通信工作,使得開發(fā)者不需要深入了解USB的低級(jí)協(xié)議即可順利地開發(fā)出所需要的USB外設(shè)。EZ-USB系列芯片接收全部USB 的吞吐量。這種采用EZ-USB的設(shè)計(jì),不受端點(diǎn)數(shù)目、緩沖區(qū)大小及傳輸速度的限制。
④ 軟配置。外設(shè)未通過USB接口連接到PC機(jī)之前,外設(shè)上的固件存儲(chǔ)在PC上;一旦外設(shè)接到PC機(jī)上,PC先詢問該外設(shè)是"誰"(即讀設(shè)備描述符),然后,將該外設(shè)的固件下載到EZ-USB的RAM中并執(zhí)行,這個(gè)過程叫作再枚舉。這個(gè)特性給USB外設(shè)開發(fā)者帶來許多方便。如開發(fā)過程中,當(dāng)固件需要修改時(shí),可以在PC機(jī)上修改好以后,下載到EZ-USB,從而省去了編程芯片的麻煩。這種基于RAM的軟配置方法,可以允許無限的配置和升級(jí)。
?、?nbsp; 易用的軟件開發(fā)工具。固件可獨(dú)立于驅(qū)動(dòng)程序被測試。驅(qū)動(dòng)程序和固件的開發(fā)與調(diào)試相互獨(dú)立,可加快開發(fā)的速度。
4 EZ-USB微處理器
EZ-USB微處理器是一個(gè)改進(jìn)的8051內(nèi)核,使用標(biāo)準(zhǔn)8051指令系統(tǒng),其指令執(zhí)行速度比標(biāo)準(zhǔn)8051快,原因有兩點(diǎn):
① 空閑( wasted)的總線周期被消去。一個(gè)總線周期僅包含4個(gè)時(shí)鐘周期,而標(biāo)準(zhǔn)8051則為12個(gè)時(shí)鐘周期。
?、?nbsp; 8051的運(yùn)行速度為24 MHz。
除了速度的提高,改進(jìn)的8051內(nèi)核還有以下幾處結(jié)構(gòu)上的改進(jìn):
① 第二個(gè)數(shù)據(jù)指針,可用于存儲(chǔ)器塊之間的傳輸;
?、?nbsp; 第二個(gè)UART;
③ 第三個(gè)16位計(jì)數(shù)器/定時(shí)器(TIMER2);
?、?nbsp; 與非多路復(fù)用16位地址總線的高速存儲(chǔ)器直接接口;
⑤ 增加了7個(gè)中斷源(INT2~INT5、PFI、T2和UART1);
⑥ 可變的MOVX執(zhí)行時(shí)間可適應(yīng)高/低速的RAM外設(shè);
?、?nbsp; 256字節(jié)的內(nèi)部寄存器RAM,8K字節(jié)的程序/數(shù)據(jù)復(fù)合SRAM;
?、?nbsp; 3.3 V工作電壓。
EZ-USB 集成芯片在8051的基礎(chǔ)上又有其他改進(jìn):
?、?nbsp; 快速外部數(shù)據(jù)塊傳輸(指針自動(dòng)增量,快速傳輸模式);
② USB中斷向量;
?、?nbsp; CONTROL傳輸?shù)腟ETUP和DATA部分有各自的緩沖器。
4.1 AN2131Q的封裝和引腳描述
圖5是EZ-USB 2100系列中80引腳封裝的AN2131Q的引腳排列圖。
圖5 80引腳的PQFP(AN2131Q)
各引腳功能分述如下:
DISCON#:引腳1,輸出。該引腳由兩個(gè)位DISCOE和DISCON控制。
當(dāng)DISCOE=0時(shí),引腳懸空;當(dāng)DISCOE=1時(shí),驅(qū)動(dòng)引腳。當(dāng)DISCOE=1時(shí),驅(qū)動(dòng)的邏輯級(jí)與DISCON位相反。
USBD-,USBD+:引腳77,79 ,高阻態(tài)。USB D+/D-信號(hào)。將24Ω振蕩器與USB D+/D-引腳相連。
A0~A15:引腳7~12,15,16,26~29,34~37輸出。8051地址總線。
D0~D7:引腳48~51,57~60,I/O/高阻態(tài)。8051數(shù)據(jù)總線。該雙向總線空閑時(shí)處于高阻狀態(tài),總線讀時(shí)為輸入,總線寫時(shí)為輸出。
PSEN#:引腳80,輸出。程序存儲(chǔ)器使能端。引腳接低電平時(shí)有效,表示從外部存儲(chǔ)器中讀取程序。當(dāng)EA為低電平時(shí),程序存儲(chǔ)器的地址從0x1B40開始;當(dāng)EA為高電平時(shí),程序存儲(chǔ)器的地址從0x0000開始。
PA0~PA7:引腳68~71,73~76,I/O。多功能輸入/輸出引腳。
PB0~PB7:引腳44~47,52~55,I/O。多功能輸入/輸出引腳。
PC0~PC7:引腳30~33,38~41,I/O。多功能輸入/輸出引腳。
BKPT:引腳61,輸出。斷點(diǎn)。當(dāng)8051地址總線與BPADDRH/L寄存器的內(nèi)容一致,且USBBAV寄存器中的斷點(diǎn)使能(BPEN)時(shí),該引腳被激活(高電平)。如果USBBAV寄存器中的BPPULSE位為高,就產(chǎn)生8個(gè)24 MHz的高電平的時(shí)鐘脈沖;如果BPPULSE位為低,保持高電平直到8051清除USBBAV寄存器中的BREAK位(寫1)。
RESET:引腳25,輸入。有效高電平復(fù)位。使8051和SIE復(fù)位。該引腳一般通過1個(gè)10 kΩ電阻接地,用1個(gè)1μF電容接VCC。
EA:引腳24,輸入。訪問外部存儲(chǔ)器。該引腳有效(HI)時(shí),8051并不是從內(nèi)部程序RAM中獲得代碼,而是從外部存儲(chǔ)器中讀取代碼。當(dāng)EA=0時(shí),8051從外部存儲(chǔ)器的0x1B40地址(AN2131)開始讀取代碼。
AVCC:引腳21,電源。Analog Vcc(模擬電源)。該引腳為芯片的模擬部分提供電源。
AGND:引腳18,電源。Analog Ground(模擬地)。盡可能以最短路徑接地。
XIN:引腳19,輸入。晶振輸入。該引腳經(jīng)由12 MHz晶振和22~33 pF電容接地。它也能用12 MHz的時(shí)鐘電路驅(qū)動(dòng)。
XOUT:引腳20,輸出。晶振輸出。該引腳經(jīng)由12 MHz晶振和22~33 pF電容接地。當(dāng)XIN由12 MHz時(shí)鐘電路驅(qū)動(dòng)時(shí),該引腳懸空。
WAKEUP#:引腳66,輸入。USB喚醒。當(dāng)8051掛起時(shí),該引腳上的一個(gè)上升沿可開啟振蕩器,向8051發(fā)出中斷,請求推出掛起狀態(tài)。維持WAKEUP#的低電平可避免EZ-US芯片進(jìn)入掛起狀態(tài)。[!--empirenews.page--]
SCL:引腳65,OD(漏極開路)。I2C時(shí)鐘。即使沒有I2C設(shè)備相連,也要用2.2 kΩ電阻接VCC。
SDA:引腳64,OD(漏極開路)。I2C數(shù)據(jù)。即使沒有I2C設(shè)備相連,也要用2.2 kΩ電阻接VCC。
CLK24:引腳4,輸入。24 MHz時(shí)鐘,可鎖定為12 MHz輸入時(shí)鐘。當(dāng)CPUCS寄存器中的OUTCLKEN=0時(shí)沒有輸出。
NC:引腳67。該引腳不連接。
軟配置是EZ-USB系列芯片的一個(gè)重要特性。EZ-USB芯片中包含內(nèi)部程序/數(shù)據(jù)RAM,不再需要ROM或其他固定的存儲(chǔ)器。通過USB本身將程序下載到RAM中,為設(shè)備提供獨(dú)特的特性,使得修改、版本更新更容易。
EZ-USB可作為USB設(shè)備進(jìn)行連接,當(dāng)內(nèi)部8051處于復(fù)位狀態(tài)時(shí),將程序下載到內(nèi)部RAM。這一切都是由改進(jìn)的SIE完成的,它可以進(jìn)行圖2中的所有操作,甚至更多。SIE包含其他邏輯,可用內(nèi)部描述符表進(jìn)行枚舉操作。它也能響應(yīng)主機(jī)發(fā)出的特殊的"下載固件"設(shè)備請求,將固件裝入內(nèi)部RAM。還有一點(diǎn)值得一提的是,增加的SIE功能可用于8051。這一特點(diǎn)可縮減8051程序,加快程序的執(zhí)行。
5 EZ-USB的枚舉和再枚舉
PC機(jī)運(yùn)行時(shí),若插上或拔去一個(gè)USB設(shè)備,Windows系統(tǒng)便會(huì)自動(dòng)裝載或卸去設(shè)備的驅(qū)動(dòng)程序,即所謂的即插即用。這一系列動(dòng)作的自動(dòng)完成歸因于在每一個(gè)USB設(shè)備里都有一個(gè)描述符表,記錄了設(shè)備的要求和性能。當(dāng)插上USB時(shí),要經(jīng)過以下幾個(gè)步驟:
?、?nbsp; 主機(jī)向地址0發(fā)送"Get_Descriptor/Device"請求(設(shè)備第一次連接時(shí),必須響應(yīng)地址0);
② 設(shè)備響應(yīng)該請求,并將ID數(shù)據(jù)發(fā)送給主機(jī);
?、?nbsp; 主機(jī)向設(shè)備發(fā)出"Set_Address"請求,給設(shè)備提供一個(gè)唯一的地址,以區(qū)別其他與總線相連的設(shè)備;
?、?nbsp; 主機(jī)發(fā)出"Get_Descriptor"請求,獲取更多的設(shè)備信息。據(jù)此,主機(jī)可以了解到該設(shè)備的其他情況,如該設(shè)備的端點(diǎn)個(gè)數(shù)、電氣要求、所需帶寬,然后下載程序。
為了支持軟特性,EZ-USB芯片能自動(dòng)地作為一個(gè)不需要固件的USB設(shè)備進(jìn)行枚舉,所以,USB接口本身可用來下載8051的程序和描述符表。當(dāng)8051復(fù)位時(shí),EZ-USB的內(nèi)核進(jìn)行最初(通電)的枚舉和下載。這種支持程序下載的最初USB 設(shè)備被稱為"默認(rèn)的USB設(shè)備"。
在代碼描述符表從主機(jī)中下載到EZ-USB RAM后,8051脫離復(fù)位狀態(tài),開始執(zhí)行設(shè)備程序。EZ-USB設(shè)備再次枚舉,這一次是作為裝入的設(shè)備。第二次枚舉稱為"再枚舉"。 再枚舉的完成是EZ-USB芯片通過給USB 加電,模擬物理斷開和重連接來完成的。
被稱為"ReNum"(再枚舉)的EZ-USB控制位決定由內(nèi)核及8051中的哪一個(gè)實(shí)體處理端點(diǎn)的設(shè)備請求。通電時(shí),RENUM位(USBCS.1)為0,表示EZ-USB內(nèi)核自動(dòng)處理設(shè)備請求。一旦運(yùn)行8051,它能設(shè)RENUM=1,表示用戶8051程序用它下載的固件處理子設(shè)備請求。
6 EZ-USB端點(diǎn)
由于USB是串行總線,因此設(shè)備端點(diǎn)實(shí)際上是一個(gè)FIFO存儲(chǔ)器。
主機(jī)通過發(fā)出4位地址及1位方向位,選擇設(shè)備端點(diǎn)。所以,USB可定位32個(gè)端點(diǎn):IN0~IN15和OUT0~OUT15。8051從OUT緩沖區(qū)中讀取端點(diǎn)數(shù)據(jù),將通過USB傳輸?shù)亩它c(diǎn)數(shù)據(jù)寫入IN緩沖區(qū)。
USB端點(diǎn)有四種類型:塊(bulk)、控制、中斷、同步。
6.1 塊端點(diǎn)
塊端點(diǎn)無方向控制,一個(gè)端點(diǎn)地址對應(yīng)一個(gè)方向,所以,端點(diǎn)IN2的地址不同于端點(diǎn)OUT2。EZ-USB提供了14個(gè)用于塊傳輸?shù)亩它c(diǎn),包括7個(gè)IN端點(diǎn)(EP1_IN~EP7_IN)和7個(gè)OUT端點(diǎn)(EP1_OUT~EP7 _OUT)。每一個(gè)端點(diǎn)都有1個(gè)64字節(jié)的緩沖區(qū)。
6.2 控制端點(diǎn)0
控制端點(diǎn)用于傳輸控制信息。任一個(gè)USB設(shè)備必須有默認(rèn)的控制端點(diǎn)0。設(shè)備的枚舉(即第一次插上該設(shè)備時(shí),主機(jī)對其進(jìn)行初始化的過程)就是由端點(diǎn)0引導(dǎo)的。主機(jī)通過端點(diǎn)發(fā)送所有的USB請求。
控制端點(diǎn)是雙向的,它只接受SETUP信號(hào)??刂苽鬏敯瑑蓚€(gè)或三個(gè)階段:SETUP、DATA(可選)和HANDSHAKE。
6.3 中斷端點(diǎn)
中斷端點(diǎn)與塊端點(diǎn)大致相同。14個(gè)EZ-USB端點(diǎn)(EP1~EP7、IN和OUT)可用作中斷端點(diǎn)。中斷端點(diǎn)的信息包的最大長度可達(dá)到64字節(jié),在它們的描述符中包含一個(gè)"輪詢間隔"字節(jié),告訴主機(jī)為之服務(wù)的頻率。8051通過中斷端點(diǎn)傳送數(shù)據(jù)的方式與塊端點(diǎn)完全一樣。
6.4 同步端點(diǎn)
同步端點(diǎn)通過USB發(fā)送高帶寬、時(shí)間精確的數(shù)據(jù)。同步端點(diǎn)從數(shù)碼相機(jī)或掃描儀等外設(shè)中獲得數(shù)據(jù),或?qū)⑦@些數(shù)據(jù)輸出至音頻數(shù)/模轉(zhuǎn)換器等設(shè)備。EZ-USB包含16個(gè)同步端點(diǎn),編號(hào)為8~15(8IN~15IN,8OUT~15OUT)。FIFO存儲(chǔ)器為16個(gè)端點(diǎn)提供了1024字節(jié)的存儲(chǔ)單元,這些單元可作為FIFO存儲(chǔ)器,提供雙緩沖器。作為雙緩沖器,8051從包含前一幀數(shù)據(jù)的同步端點(diǎn)的FIFO緩沖器讀取OUT數(shù)據(jù),同時(shí)主機(jī)將當(dāng)前幀的數(shù)據(jù)寫入另一緩沖器中。相似地,8051將IN數(shù)據(jù)裝入同步端點(diǎn)的FIFO緩沖器中,在下一幀中通過USB發(fā)送,此時(shí)主機(jī)從另一緩沖器中讀當(dāng)前幀的數(shù)據(jù)。在每一個(gè)起始幀,USB FIFO和8051 FIFO置位開關(guān)或進(jìn)行乒乓通信。
7 USB的前景展望
其實(shí),除了像顯卡這種需要極高數(shù)據(jù)量和一些實(shí)時(shí)性要求特別高的控制設(shè)備外,幾乎所有的PC外設(shè)都可以移植到USB上來。而事實(shí)上國外幾乎已經(jīng)做到了這一點(diǎn),特別是在鼠標(biāo)、鍵盤等產(chǎn)品上有很強(qiáng)的競爭實(shí)力。所以,USB的PC外設(shè)的發(fā)展空間是不可限量的。它可歸納為以下幾個(gè)大類供開發(fā)者參考:
?、?nbsp; 傳統(tǒng)PC外設(shè),像鼠標(biāo)、鍵盤、音箱、游戲桿、掃描儀、打印機(jī)等;
② 基于PC的通信設(shè)備,如Modem、ISDN等;
?、?nbsp; 端口轉(zhuǎn)接器,如USB→232、USB→LPT等,以適應(yīng)原來的設(shè)備;
?、?nbsp; 具有中國特色的設(shè)備,像漢字輸入筆那樣的東西;
?、?nbsp; 工業(yè)領(lǐng)域。
選擇何種芯片來設(shè)計(jì)USB控制系統(tǒng),一般是基于任務(wù)的需求、學(xué)習(xí)編程的難易程度、性能價(jià)格比、可重編程及提供范例代碼等幾個(gè)因素來考慮。EZ-USB使得開發(fā)過程更簡單和廉價(jià),同時(shí)也大大提高了開發(fā)效率,縮短了產(chǎn)品的研發(fā)周期。