控制器特點應用管理論文

時間:2022-06-26 03:59:00

導語:控制器特點應用管理論文一文來源于網友上傳,不代表本站觀點,若需要原創文章可咨詢客服老師,歡迎參考。

控制器特點應用管理論文

摘要:介紹USB2.0協議以及Cypress公司推出的USB2.0控制器CY7C68013。USB2.0協議提供480Mb/s的傳輸速度,向下完全兼容流行的USB1.1協議。CY7C68013是USB2.0的完整解決方案。該芯片包括帶8.5KB片上RAM的高速8051單片機、4KBFIFO存儲器以及通用可編程接口(GPIF)、串行接口引擎(SIE)和USB2.0收發器,無需外加芯片即可完成高速USB傳輸,性價比較高。

關鍵詞:USB2.0高速模式端點

本刊2002年到2、3期已對EZ-USB單片機的介紹。本文在此只重點介紹USB2.0的特殊之處以及芯片CY7C68013的主要特點。*

1USB2.0的主要特點

USB協議的2.0版本于2000年4月推出。支持以下3種速度模式:

低速模式(lowspeed)1.5Mb/s;

全速模式(fullspeed)12Mb/s

高速模式(highspeed)480Mb/s

USB2.0協議支持現存的所有USB設備,既可以把USB1.1設備插入USB1.1的PC機接口,并且在電氣上兼容USB1.1的連接線。

1.1數據包

USB傳輸的數據包的類型用稱之為PacketIds(PIDs)的特定代碼來定義。USB包中共有4種PID類型,如表1所列。

表1USB2.0的數據包類型

PID類型PID名稱

令牌IN,OUT,SOF,SETUP

數據DATA0,DATA1,DATA2,MDATA

握手ACK,NAK,STALL,NYET

特殊類型PRE,ERR,SPLIT,PIN

注:黑體字表示USB2.0增加的PID類型。

在全速模式時,每個OUT傳輸發送OUT數據包,不考慮外設是否處于“忙”狀態而不能接收數據。針對這種浪費帶寬的情況,在高速模式時推薦使用新的PID類型“PING”。主機先對OUT端點發出個較短的“PING”令牌,訪問當前外設是否有數據文憑間來存放OUT的數據包。僅僅當外部設備回答“ACK”時,主機才發送較長OUT數據包。

SETUP鄰牌只用于控制傳輸。它數據包中的前8個字節。通過這8個字節,外設對主機的設備請求進行譯碼。

SOF令牌代表一個USB幀的開始。

ACK(Acknowlegde)表示成功,數據接收無誤。

NAK(NegaviteAcknowlegde)表示忙,得發。這并不是出錯,USB外設沒有應答表示出錯。

STALL表示未知錯誤,外設未能理解主機發出的設備請求,可能是外設端出錯,或是主機訪問并存在的資源。USB協議提供了從stall狀態恢復的方法。

NYET(NotYet)類似于ACK,表示數據接收無誤,并且指出外設還沒準備好接收下一個OUT數據包。NYETPID只用于在高速模式。

其它PID詳見參考文獻[1]。

1.2幀結構

USB主機每毫秒向所有的USB設備發送1上SOF包(StartofFrame),以此來提供時間基準。SOF包括1個自增的11位幀序號。FX2隨時可以從寄存器中讀出這個范圍在[0~2047]的幀序號。

地高速模式下(480Mb/s),每個1ms長的幀被分成了8個125μs長的微幀。每個微幀也都由一個SOF包開始。幀序號還是每個毫秒自增1次,所以這8個微幀都含有相同的幀序號。為了區別每個微幀FX2提供1個只讀的微幀計數器,并且FX2能在收到SOF包時產生1個中斷請求,即在全速模式下1ms/次,高速模式下125μs/次。

1.3傳輸類型

為了適用480Mb/s的高速數據傳輸,USB.0協議擴大了各種傳輸類型數據包長度,與USB1.1的對照如表2所列。

表2USB2.0與USB1.1數據包長度的對照

傳輸類型數據包度/B

USB1.1USB2.0

控制傳輸8,16,32,6464

塊傳輸8,16,32,64512

中斷傳輸1~641024

同步傳輸10231024

1.4高速模式和全速模式的檢測

USB2.0規范要求高速設備必須能在全速模式下枚舉。每個高速設備都在全速模式下開始枚舉過程。當與主機達成“Chirp”協議后設備再切換到高速工作模式下。詳細內容見參考文獻[1]第7章。FX2能自動檢測高速主機,并切換到高速模式下。

1.5傳輸性能分析

以USB硬盤為例分析USB2.0的高速傳輸性能。圖1為USB2.0與硬盤接口的帶寬分析。

每分轉速7200帶有2MB緩存的ATA100硬盤,接口數據傳輸速率可達100MB/s,可持續的有效傳輸速率只有39MB/s。

USB2.0在每個上微幀中最大可傳輸13個塊傳輸包,而每個微幀長固定為125μs,所以其最大傳輸速率為:512×13×8×1000=53MB/s。

2EX-USBFX2的主要特點

2.1芯片結構

EZ-USBFX2芯片包括1個8051處理器、1個串行接口引擎(SIE)、1個USB收發器、8.5KB片上RAM、4KBFIFO存儲器以及1個通用可編程接口(GPIF),如圖2所示。FX2是一個全面集成的解決方案,它占用更少的電路板空間,并縮短開發時間。

EZ-USBFX2擁有1個獨特的架構,其中包括1個智能串行接口引擎(SIE)。它執行所有基本的USB功能,將嵌入式MCU解放出來以用于實現專用的功能,并保證其持續的高性能的傳輸速率。FX2還包括2個通用可編程接口(GPIF),允許它“無膠粘接”,即可與任何ASIC或DSP進行連接,并且它還支持所有通用總線標準,包括ATA、UTOPIA、EPP和PCMCIA。EZ-USBFX2完全適用于USB2.0,并向下兼容USB1.1。

FX2有3種封裝形式:56腳SOPP、100腳的TQFF(薄形四方扁平封裝)、128腳的TQFP。引腳數的區別在于輸入、輸出引腳數的不同,以針對不同的應用要求。

2.2結構特點

當大部分USB1.1器件都需要微控制器參與數據從端點FIFOs到應用環境轉移,如圖3所示。顯然,微控制器本身的工作頻率在相當程度上限制了帶寬的進一步提高。雖然在12Mb/s的全速模式下,這種限制并不明顯,但當速度提升至480Mb/s時,在成本嚴格控制下微控制器就必然成為整個系統的帶寬并頸。

EZ-USBFX2提供了一種獨持架構,使USB接口和應用環境直接共享FIFO,而微控制器可不參與數據傳輸但允許以FIFO或RAM的方式訪問這些共享FIFO,如圖4所示。這種被稱之為“量子FIFO”(QuantumFIFO)的處理架構,較好地解決了USB高速模式的帶寬問題。

具體來說,如圖5所示,USB執行OUT傳輸,將EP2端點設成512字節重FIFO(如2.3小節所述)。在USB端和外部接口端都并不知道有四重FIFO??磥?,USB端只要有1個FIFO為“半滿”,就可以繼續發送數據。當膠操作的FIFO寫“滿”時,FX2自動將其轉換到外部接口端,排除等候讀??;并將USB接口隊列中下一個為“空”的FIFO轉移到USB接口上,供其繼續寫數據。外部接口端與此類似,只要1有個FIFO為“半滿”,就可以繼續讀取數據。當前操作的FIFO讀“空”時,FX2自動將其轉換到USB接口端,排除等候寫入;并將外部接口隊列中下一個為“滿”的FIFO轉移到外部接口上,供其繼續讀取數據。

2.3端點緩存

USB協議定義了端點作為數據的接收器和發送器。主機發送4個bit的地址和1個bit的方向來選擇端點,因此USB最多可有32個端點定義:IN0~IN15和OUT0~OUT15。

FX2定義了7個端點,在高速模式下的端點緩存結構如圖6所示。EP0IN&OUT、EP1IN、EP1OUT是64byte的端點緩存。EP0是默認的控制傳輸端點,既是IN端點也是OUT端點。EP1IN、EP1OUT支持塊、中斷和同步傳輸。EP0、EP1IN和EP1OUT只能由FX2的固件訪問;而EP2、4、6和8無需固件干涉即可同片外互傳高速數據。

FX2端點配置方式非常靈活。EP2、4、6和8是大容量高帶寬的數據傳輸端點,可設為IN或OUT端點的一種,能配置成多種形式以適應帶寬需要。在圖6中,每一列代表1種配置方式。帶陰影的方框可包括2、3、4個512或1024字節的緩存,分別表示端點可配置成雙重、三重和四重緩存。雙緩存是指USB可以讀或寫1個數據包,而另一個數據包(同一個端點內另一個緩沖存儲器中的)可供外部接口操作;三重緩存加了第3個數據包存儲器可供USB和外部接口需要的一方使用;四重緩存增加了第4個數據包存儲器。多緩存的結構以在讀寫雙方速度相似時有效地改善帶寬,平滑帶寬抖動,減少雙方的互相等待時間。

3EZ-USBFX2的接口方式

FX有2種接口方式:SlaveFIFOs和可編程接口GPIF。

SlaveFIFOs方式是從機方式,外部控制器可像普通FIFO一樣對FX2的多層緩沖FIFO進行讀寫。FX2的SlaveFIFOs工作方式可設為同步或異步;工作時鐘可選為內部產生或外部輸入;其它控制信號也可靈活地設置為高有效或低有效。

可編程接口GPIF是主機方式,可以軟件編程讀寫控制波形,幾乎可以對任何8/16bit接口的控制器、存儲器和總線進行數據的主動讀寫,非常靈活。

4EZ-USBFX2的開發工具

如同EZ-USB系列的其它控制器一樣,Cypress公司對FX2也提供了較為完備的開發套件CY3681。它包括帶128腳CY7C68013的硬件開發板和相應的控制面板(Controlpanel)、GPIF代碼自動生成軟件(GPIFTool)以及固件方面豐富的例子和大量的幫助文檔??梢员M量節省學習時間,加快開發速度。