<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > USB2.0控制器CY7C68013特點與應(yīng)用

          USB2.0控制器CY7C68013特點與應(yīng)用

          作者: 時間:2004-12-07 來源:網(wǎng)絡(luò) 收藏
          摘要:介紹2.0協(xié)議以及Cypress公司推出的2.0控制器CY72.0協(xié)議提供480Mb/s的傳輸速度,向下完全兼容流行的USB1.1協(xié)議。CY7是USB2.0的完整解決方案。該芯片包括帶8.5KB片上RAM的高速8051單片機(jī)、4KB FIFO存儲器以及通用可編程接口(GPIF)、串行接口引擎(SIE)和USB2.0收發(fā)器,無需外加芯片即可完成高速USB傳輸,性價比較高。

          關(guān)鍵詞:USB2.0 高速模式 端點

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

          1 USB2.0的主要特點

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

          低速模式(low speed) 1.5Mb/s;

          全速模式(full speed) 12Mb/s

          高速模式(high speed) 480Mb/s

          USB2.0協(xié)議支持現(xiàn)存的所有USB設(shè)備,既可以把USB1.1設(shè)備插入USB1.1的PC機(jī)接口,并且在電氣上兼容USB1.1的連接線。

          1.1 數(shù)據(jù)包

          USB傳輸?shù)臄?shù)據(jù)包的類型用稱之為Packet Ids(PIDs)的特定代碼來定義。USB包中共有4種PID類型,如表1所列。

          表1 USB2.0的數(shù)據(jù)包類型

          PID類型PID名稱
          令牌IN,OUT,SOF,SETUP
          數(shù)據(jù)DATA0,DATA1,DATA2,MDATA
          握手ACK,NAK,STALL,NYET
          特殊類型PRE,ERR,SPLIT,PIN

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

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

          SETUP鄰牌只用于控制傳輸。它數(shù)據(jù)包中的前8個字節(jié)。通過這8個字節(jié),外設(shè)對主機(jī)的設(shè)備請求進(jìn)行譯碼。

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

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

          NAK(Negavite Acknowlegde)表示忙,得發(fā)。這并不是出錯,USB外設(shè)沒有應(yīng)答表示出錯。

          STALL表示未知錯誤,外設(shè)未能理解主機(jī)發(fā)出的設(shè)備請求,可能是外設(shè)端出錯,或是主機(jī)訪問并存在的資源。USB協(xié)議提供了從stall狀態(tài)恢復(fù)的方法。

          NYET(Not Yet)類似于ACK,表示數(shù)據(jù)接收無誤,并且指出外設(shè)還沒準(zhǔn)備好接收下一個OUT數(shù)據(jù)包。NYET PID只用于在高速模式。

          其它PID詳見參考文獻(xiàn)[1]。

          1.2 幀結(jié)構(gòu)

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

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

          1.3 傳輸類型

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

          表2 USB2.0與USB1.1數(shù)據(jù)包長度的對照

          傳輸類型數(shù)據(jù)包度/B
          USB1.1USB2.0
          控制傳輸8,16,32,6464
          塊傳輸8,16,32,64512
          中斷傳輸1~641024
          同步傳輸10231024

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

          USB2.0規(guī)范要求高速設(shè)備必須能在全速模式下枚舉。每個高速設(shè)備都在全速模式下開始枚舉過程。當(dāng)與主機(jī)達(dá)成“Chirp”協(xié)議后設(shè)備再切換到高速工作模式下。詳細(xì)內(nèi)容見參考文獻(xiàn)[1]第7章。FX2能自動檢測高速主機(jī),并切換到高速模式下。

          1.5 傳輸性能分析

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

          每分轉(zhuǎn)速7200帶有2MB緩存的ATA100硬盤,接口數(shù)據(jù)傳輸速率可達(dá)100MB/s,可持續(xù)的有效傳輸速率只有39MB/s。

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

          2 EX-USB FX2的主要特點

          2.1 芯片結(jié)構(gòu)

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

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

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

          2.2 結(jié)構(gòu)特點

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

          EZ-USB FX2提供了一種獨持架構(gòu),使USB接口和應(yīng)用環(huán)境直接共享FIFO,而微控制器可不參與數(shù)據(jù)傳輸?shù)试S以FIFO或RAM的方式訪問這些共享FIFO,如圖4所示。這種被稱之為“量子FIFO”(Quantum FIFO)的處理架構(gòu),較好地解決了USB高速模式的帶寬問題。

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

          2.3 端點緩存

          USB協(xié)議定義了端點作為數(shù)據(jù)的接收器和發(fā)送器。主機(jī)發(fā)送4個bit的地址和1個bit的方向來選擇端點,因此USB最多可有32個端點定義:IN0~I(xiàn)N15和OUT0~OUT15。

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

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

          3 EZ-USB FX2的接口方式

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

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

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

          4 EZ-USB FX2的開發(fā)工具

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

          pid控制器相關(guān)文章:pid控制器原理




          關(guān)鍵詞: C68013 USB

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();