新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > 嵌入USB控制器的51系列單片機EZ-USB

        嵌入USB控制器的51系列單片機EZ-USB

        作者: 時間:2008-02-28 來源: 收藏

         

        本文引用地址:http://www.104case.com/article/79369.htm

         

          主要介紹嵌入控制核的51系列單片機EZ-的特性及傳輸與控制機理。該內核可幫助外設開發者完成USB協議中規定的80%~90%的通信工作,是USB外設研制者的理想選擇。

          文中還對使用不同的USB芯片組成的應用系統作了比較

          1 概述

          隨著PC的廣泛應用,其外設也越來越多,打印機、鼠標、掃描儀、游戲桿、音箱……,每個外設都需要通過一個接口與PC相連。外設多了,PC的I/O插口自然也就不夠用了。在很多特定的應用場合,如工業數據采集等領域,常常用采集板卡來完成工作,而每一個板卡自然會占用一個PC插槽。PC插槽有限。采集點多了就不夠用。除此之外,在個人電腦的應用中,外圍設備存在很多問題。這些問題大致可以歸結到成本、配置以及個人電腦的連接等幾個方面,而USB正是為了解決這些問題而出現的一種方案。簡而言之,USB的出現不僅解決了I/O插口不夠的問題,而且還建立了一條連接和訪問外設的方法。這些方法可以有效地減少總體成本,而且從終端用戶的角度來看,可以增加可連接的外設數目,簡化設備的連接和配置。

          通用串行總線USB是由Intel等廠商制定的連接計算機與具有USB接口的多種外設之間的串行總線。其拓撲結構如圖1所示。

          

        USB的層次拓撲圖

         

          圖1 USB的層次拓撲圖

          USB的特性有:

          成本低。為了把外設連接到PC上,USB提供了一種低成本的解決方案。

          熱插拔。設備連接后由USB自動檢測,并由軟件自動配置,完成后可立即使用,無須用戶干涉。

          單一的連接器類型。USB定義了一種簡單的連接器,可以用來連接任何一個USB設備。多個連接器可以通過USB集線器連接。

          每個USB總線支持127個設備的連接。

          USB支持三種設備傳輸速率:1.5 Mb/s(低速設備)、12 Mb/s(中速設備)和480 Mb/s(高速設備)。

          外設能夠直接由USB總線進行供電。

          不需要系統資源(如內存、I/O地址空間和中斷請求線路)。

          USB事務處理包括錯誤檢測機制,它們用以確保數據無錯誤發送。

          電源保護。如果連續3 ms沒有總線活動,USB將自動進入掛起狀態。

          支持四種類型的傳輸方式:塊傳輸、控制傳輸、中斷傳輸和同步傳輸。

          2 通用USB控制系統的組成結構

          在每一個USB設備中都有一個串行接口引擎(SIE)。SIE與USB數據線的D+和D-兩個引腳相連,與USB設備進行字節傳送。圖2表示一次USB塊傳輸,時間順序從左到右。SIE對PID信息包進行解碼,并通過傳送的CRC位對數據進行錯誤檢測,然后,將有效數據送到USB設備。如果SIE檢測到一個出錯的數據,它并不是發出一個握手信號,而是自動地不進行響應,并告訴主機延時重發。

          

        SIE的功能

         

          圖2 SIE的功能

          由于USB被設計成可以用簡便有效的方法來與多種類型的外設通信,沒有現有接口的局限性和缺點,這樣,導致了對USB接口的設計和編程更加復雜。為了降低設計者的開發難度,使用專用的USB控制器已成為研制人員的首選方案。

          USB協議的復雜性意味著USB外設必須具備智能。USB控制器必須知道如何檢測并對USB端口的事件做出反應。一般的做法是:USB控制器只處理USB通信,由一個外部的微控制器(MCU)來管理USB控制器的寄存器、設備描述符的獲取和數據包的交換等,如圖3所示。

          

        通用USB設備的組成結構

         

          圖3 通用USB設備的組成結構

          表1所示為可與一般微控制器連接的USB控制器。

          表1可與一般微控制器連接的USB控制器

          

        可與一般微控制器連接的USB控制器

         

          USB控制器使用串行口或并行口與MCU連接。這樣,外部接口可能比USB最大速度要慢,使得芯片只適合傳送間歇數據。這樣設計的好處是系統組成靈活,可根據不同的系統需求,搭配不同的MCU,使其具有很高的性能價格比;但同時也加大了編程設計人員的開發難度,延長了產品的開發周期。

          另一種可行的方法是使用嵌入MCU的USB控制器。這樣,CPU只需要訪問一系列寄存器和存儲器,便可實現USB口的數據傳輸。從而簡化了程序的設計,并且許多供應商還提供許多范例電路和測試代碼,使設計者從復雜的協議解釋中得到解脫。現在,許多芯片制造商開始生產一些基于通用MCU的USB控制器,采用研制人員所熟知的指令集,大大簡化了編程的難度。如基于8051結構的USB控制器有:Intel公司的8X930A、8X931A;CYPRESS公司的EZ-USB等。此外,還有基于MITSUBISHI 740/7600/M16C的USB芯片;基于MOTORORA HC05系列的USB芯片等。受篇幅所限,本文僅介紹EZ-USB 2100系列單片機。

          3 EZ-USB組成結構及特性

          美國CYPRESS公司是一家從事USB接口芯片和USB單片機開發和生產的公司。CYPRESS最新推出的帶智能USB接口的單片機EZ-USB,極大地降低了USB外設的開發難度,為PC外設的制造商提供了一個性能優良、價格較低的設計方案。

          EZ-USB有多個系列的產品,根據不同的速率需求,可滿足不同的系統要求和價格。CYPRESS提供三個系列的EZ-USB芯片,如表2和表3所列。

          表2 CYPRESS的EZ-USB系列產品

          

        CYPRESS的EZ-USB系列產品

         

          表3 EZ-USB2100系列產品

          

        EZ-USB2100系列產品

         

          3.1 EZ-USB芯片組成結構

          EZ-USB芯片將USB接口的控制核整合到單片機集成電路中,如圖4所示。集成的USB收發模塊與USB 總線的D+和D-引腳相連。SIE進行串行數據譯碼和錯誤更正,以及其他USB所要求的信號級操作等,最后,再與USB收發模塊接口進行數據字節的傳輸。

          

        EZ-USB的組成框圖

         

          圖4 EZ-USB的組成框圖

          內部的微處理器在標準8051上縮短了執行時間并增加了新的特性。它用內部SRAM存儲程序和數據,使EZ-USB 系統具有軟配置的特性。USB主機經USB總線將8051的程序代碼和描述符裝入SRAM中,然后,EZ-USB芯片用已下裝程序中定義的外設特性進行重新連接,這個過程也叫再枚舉。

          EZ-USB系列使用了強大的SIE/USB接口(稱為USB內核)。這個具有強大功能的內核可以自動完成USB協議的轉換,簡化8051的代碼。

          EZ-USB 芯片在3.3 V電壓下就可以運行,簡化了USB設備總線電壓的設計。

          3.2 EZ-USB特性

          ① 改進的8051內核。性能可達到標準8051的5~10倍,與標準8051的指令完全兼容。

          ② 高度集成。傳統USB外設的硬件設計通常包括非易失性存儲器(如EPROM、EEPROM、FLASH ROM)、微處理器、RAM、SIE(串行接口引擎)和DMA等。EZ-USB將上述多個模塊集成在一個芯片中,從而減少了各芯片接口部分時序配合時的麻煩。

          ③ USB 內核。EZ-USB可以代替USB外設開發者完成USB協議中規定的80 %~90 %的通信工作,使得開發者不需要深入了解USB的低級協議即可順利地開發出所需要的USB外設。EZ-USB系列芯片接收全部USB 的吞吐量。這種采用EZ-USB的設計,不受端點數目、緩沖區大小及傳輸速度的限制。

          ④ 軟配置。外設未通過USB接口連接到PC機之前,外設上的固件存儲在PC上;一旦外設接到PC機上,PC先詢問該外設是"誰"(即讀設備描述符),然后,將該外設的固件下載到EZ-USB的RAM中并執行,這個過程叫作再枚舉。這個特性給USB外設開發者帶來許多方便。如開發過程中,當固件需要修改時,可以在PC機上修改好以后,下載到EZ-USB,從而省去了編程芯片的麻煩。這種基于RAM的軟配置方法,可以允許無限的配置和升級。

          ⑤ 易用的軟件開發工具。固件可獨立于驅動程序被測試。驅動程序和固件的開發與調試相互獨立,可加快開發的速度。

          4 EZ-USB微處理器

          EZ-USB微處理器是一個改進的8051內核,使用標準8051指令系統,其指令執行速度比標準8051快,原因有兩點:

          ① 空閑( wasted)的總線周期被消去。一個總線周期僅包含4個時鐘周期,而標準8051則為12個時鐘周期。

          ② 8051的運行速度為24 MHz。

          除了速度的提高,改進的8051內核還有以下幾處結構上的改進:

          ① 第二個數據指針,可用于存儲器塊之間的傳輸;

          ② 第二個UART;

          ③ 第三個16位計數器/定時器(TIMER2);

          ④ 與非多路復用16位地址總線的高速存儲器直接接口;

          ⑤ 增加了7個中斷源(INT2~INT5、PFI、T2和UART1);

          ⑥ 可變的MOVX執行時間可適應高/低速的RAM外設;

          ⑦ 256字節的內部寄存器RAM,8K字節的程序/數據復合SRAM;

          ⑧ 3.3 V工作電壓。

          EZ-USB 集成芯片在8051的基礎上又有其他改進:

          ① 快速外部數據塊傳輸(指針自動增量,快速傳輸模式);

          ② USB中斷向量;

          ③ CONTROL傳輸的SETUP和DATA部分有各自的緩沖器。

        pid控制器相關文章:pid控制器原理


        三維掃描儀相關文章:三維掃描儀原理


        關鍵詞: USB

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 巴塘县| 孝昌县| 扎兰屯市| 六枝特区| 塔城市| 米易县| 三明市| 凤阳县| 道孚县| 乌苏市| 徐水县| 大足县| 吕梁市| 江城| 喀喇沁旗| 镇赉县| 北碚区| 定陶县| 龙陵县| 潼南县| 韶关市| 安达市| 南宫市| 乃东县| 永安市| 浑源县| 红河县| 金山区| 山丹县| 淳安县| 无极县| 贵港市| 鄂托克前旗| 西昌市| 神木县| 凌源市| 克东县| 新建县| 兴国县| 上虞市| 讷河市|