嵌入USB控制器的51系列單片機(jī)EZ-USB
本文引用地址:http://butianyuan.cn/article/79369.htm
主要介紹嵌入USB控制核的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)、掃描儀、游戲桿、音箱……,每個外設(shè)都需要通過一個接口與PC相連。外設(shè)多了,PC的I/O插口自然也就不夠用了。在很多特定的應(yīng)用場合,如工業(yè)數(shù)據(jù)采集等領(lǐng)域,常常用采集板卡來完成工作,而每一個板卡自然會占用一個PC插槽。PC插槽有限。采集點多了就不夠用。除此之外,在個人電腦的應(yīng)用中,外圍設(shè)備存在很多問題。這些問題大致可以歸結(jié)到成本、配置以及個人電腦的連接等幾個方面,而USB正是為了解決這些問題而出現(xiàn)的一種方案。簡而言之,USB的出現(xiàn)不僅解決了I/O插口不夠的問題,而且還建立了一條連接和訪問外設(shè)的方法。這些方法可以有效地減少總體成本,而且從終端用戶的角度來看,可以增加可連接的外設(shè)數(shù)目,簡化設(shè)備的連接和配置。
通用串行總線USB是由Intel等廠商制定的連接計算機(jī)與具有USB接口的多種外設(shè)之間的串行總線。其拓?fù)浣Y(jié)構(gòu)如圖1所示。
圖1 USB的層次拓?fù)鋱D
USB的特性有:
成本低。為了把外設(shè)連接到PC上,USB提供了一種低成本的解決方案。
熱插拔。設(shè)備連接后由USB自動檢測,并由軟件自動配置,完成后可立即使用,無須用戶干涉。
單一的連接器類型。USB定義了一種簡單的連接器,可以用來連接任何一個USB設(shè)備。多個連接器可以通過USB集線器連接。
每個USB總線支持127個設(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ù)處理包括錯誤檢測機(jī)制,它們用以確保數(shù)據(jù)無錯誤發(fā)送。
電源保護(hù)。如果連續(xù)3 ms沒有總線活動,USB將自動進(jìn)入掛起狀態(tài)。
支持四種類型的傳輸方式:塊傳輸、控制傳輸、中斷傳輸和同步傳輸。
2 通用USB控制系統(tǒng)的組成結(jié)構(gòu)
在每一個USB設(shè)備中都有一個串行接口引擎(SIE)。SIE與USB數(shù)據(jù)線的D+和D-兩個引腳相連,與USB設(shè)備進(jìn)行字節(jié)傳送。圖2表示一次USB塊傳輸,時間順序從左到右。SIE對PID信息包進(jìn)行解碼,并通過傳送的CRC位對數(shù)據(jù)進(jìn)行錯誤檢測,然后,將有效數(shù)據(jù)送到USB設(shè)備。如果SIE檢測到一個出錯的數(shù)據(jù),它并不是發(fā)出一個握手信號,而是自動地不進(jìn)行響應(yīng),并告訴主機(jī)延時重發(fā)。
圖2 SIE的功能
由于USB被設(shè)計成可以用簡便有效的方法來與多種類型的外設(shè)通信,沒有現(xiàn)有接口的局限性和缺點,這樣,導(dǎo)致了對USB接口的設(shè)計和編程更加復(fù)雜。為了降低設(shè)計者的開發(fā)難度,使用專用的USB控制器已成為研制人員的首選方案。
USB協(xié)議的復(fù)雜性意味著USB外設(shè)必須具備智能。USB控制器必須知道如何檢測并對USB端口的事件做出反應(yīng)。一般的做法是:USB控制器只處理USB通信,由一個外部的微控制器(MCU)來管理USB控制器的寄存器、設(shè)備描述符的獲取和數(shù)據(jù)包的交換等,如圖3所示。
圖3 通用USB設(shè)備的組成結(jié)構(gòu)
表1所示為可與一般微控制器連接的USB控制器。
表1可與一般微控制器連接的USB控制器
USB控制器使用串行口或并行口與MCU連接。這樣,外部接口可能比USB最大速度要慢,使得芯片只適合傳送間歇數(shù)據(jù)。這樣設(shè)計的好處是系統(tǒng)組成靈活,可根據(jù)不同的系統(tǒng)需求,搭配不同的MCU,使其具有很高的性能價格比;但同時也加大了編程設(shè)計人員的開發(fā)難度,延長了產(chǎn)品的開發(fā)周期。
另一種可行的方法是使用嵌入MCU的USB控制器。這樣,CPU只需要訪問一系列寄存器和存儲器,便可實現(xiàn)USB口的數(shù)據(jù)傳輸。從而簡化了程序的設(shè)計,并且許多供應(yīng)商還提供許多范例電路和測試代碼,使設(shè)計者從復(fù)雜的協(xié)議解釋中得到解脫。現(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è)的制造商提供了一個性能優(yōu)良、價格較低的設(shè)計方案。
EZ-USB有多個系列的產(chǎn)品,根據(jù)不同的速率需求,可滿足不同的系統(tǒng)要求和價格。CYPRESS提供三個系列的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ù)譯碼和錯誤更正,以及其他USB所要求的信號級操作等,最后,再與USB收發(fā)模塊接口進(jìn)行數(shù)據(jù)字節(jié)的傳輸。
圖4 EZ-USB的組成框圖
內(nèi)部的微處理器在標(biāo)準(zhǔn)8051上縮短了執(zhí)行時間并增加了新的特性。它用內(nèi)部SRAM存儲程序和數(shù)據(jù),使EZ-USB 系統(tǒng)具有軟配置的特性。USB主機(jī)經(jīng)USB總線將8051的程序代碼和描述符裝入SRAM中,然后,EZ-USB芯片用已下裝程序中定義的外設(shè)特性進(jìn)行重新連接,這個過程也叫再枚舉。
EZ-USB系列使用了強(qiáng)大的SIE/USB接口(稱為USB內(nèi)核)。這個具有強(qiáng)大功能的內(nèi)核可以自動完成USB協(xié)議的轉(zhuǎn)換,簡化8051的代碼。
EZ-USB 芯片在3.3 V電壓下就可以運行,簡化了USB設(shè)備總線電壓的設(shè)計。
3.2 EZ-USB特性
?、?改進(jìn)的8051內(nèi)核。性能可達(dá)到標(biāo)準(zhǔn)8051的5~10倍,與標(biāo)準(zhǔn)8051的指令完全兼容。
?、?高度集成。傳統(tǒng)USB外設(shè)的硬件設(shè)計通常包括非易失性存儲器(如EPROM、EEPROM、FLASH ROM)、微處理器、RAM、SIE(串行接口引擎)和DMA等。EZ-USB將上述多個模塊集成在一個芯片中,從而減少了各芯片接口部分時序配合時的麻煩。
③ USB 內(nèi)核。EZ-USB可以代替USB外設(shè)開發(fā)者完成USB協(xié)議中規(guī)定的80 %~90 %的通信工作,使得開發(fā)者不需要深入了解USB的低級協(xié)議即可順利地開發(fā)出所需要的USB外設(shè)。EZ-USB系列芯片接收全部USB 的吞吐量。這種采用EZ-USB的設(shè)計,不受端點數(shù)目、緩沖區(qū)大小及傳輸速度的限制。
④ 軟配置。外設(shè)未通過USB接口連接到PC機(jī)之前,外設(shè)上的固件存儲在PC上;一旦外設(shè)接到PC機(jī)上,PC先詢問該外設(shè)是"誰"(即讀設(shè)備描述符),然后,將該外設(shè)的固件下載到EZ-USB的RAM中并執(zhí)行,這個過程叫作再枚舉。這個特性給USB外設(shè)開發(fā)者帶來許多方便。如開發(fā)過程中,當(dāng)固件需要修改時,可以在PC機(jī)上修改好以后,下載到EZ-USB,從而省去了編程芯片的麻煩。這種基于RAM的軟配置方法,可以允許無限的配置和升級。
?、?易用的軟件開發(fā)工具。固件可獨立于驅(qū)動程序被測試。驅(qū)動程序和固件的開發(fā)與調(diào)試相互獨立,可加快開發(fā)的速度。
4 EZ-USB微處理器
EZ-USB微處理器是一個改進(jìn)的8051內(nèi)核,使用標(biāo)準(zhǔn)8051指令系統(tǒng),其指令執(zhí)行速度比標(biāo)準(zhǔn)8051快,原因有兩點:
?、?空閑( wasted)的總線周期被消去。一個總線周期僅包含4個時鐘周期,而標(biāo)準(zhǔn)8051則為12個時鐘周期。
?、?8051的運行速度為24 MHz。
除了速度的提高,改進(jìn)的8051內(nèi)核還有以下幾處結(jié)構(gòu)上的改進(jìn):
?、?第二個數(shù)據(jù)指針,可用于存儲器塊之間的傳輸;
?、?第二個UART;
?、?第三個16位計數(shù)器/定時器(TIMER2);
?、?與非多路復(fù)用16位地址總線的高速存儲器直接接口;
?、?增加了7個中斷源(INT2~INT5、PFI、T2和UART1);
?、?可變的MOVX執(zhí)行時間可適應(yīng)高/低速的RAM外設(shè);
?、?256字節(jié)的內(nèi)部寄存器RAM,8K字節(jié)的程序/數(shù)據(jù)復(fù)合SRAM;
?、?3.3 V工作電壓。
EZ-USB 集成芯片在8051的基礎(chǔ)上又有其他改進(jìn):
?、?快速外部數(shù)據(jù)塊傳輸(指針自動增量,快速傳輸模式);
② USB中斷向量;
?、?CONTROL傳輸?shù)腟ETUP和DATA部分有各自的緩沖器。
pid控制器相關(guān)文章:pid控制器原理
三維掃描儀相關(guān)文章:三維掃描儀原理
評論