USB2.0微控制器CY7C68013的GPIF接口設(shè)計(jì)_第1頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余1頁(yè)可下載查看

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、usb2.0微控制器cy7c68013的gpif接口設(shè)計(jì)(universal serial bus)是一種通用串行,主要用于pc與外圍usb設(shè)備的互聯(lián)。近年來(lái),usb接口以其迅速、即插即用、用法安裝便利等優(yōu)點(diǎn)逐漸成為現(xiàn)代數(shù)據(jù)傳輸?shù)倪M(jìn)展趨勢(shì)。目前,國(guó)內(nèi)外采納usbl1和usb2o兩種規(guī)范。usbl1主要用于低速傳輸要求的場(chǎng)合,支持15mbs和12mbs兩種傳輸速率;而usb2o規(guī)范則提供高達(dá)480mbs的傳輸速率。盡管如此,在某些對(duì)數(shù)據(jù)傳輸速度要求很高的系統(tǒng)中,外圍設(shè)備與usb接口之間在速度上仍存在著不行忽略的傳輸瓶頸。公司生產(chǎn)的usb20控制器cy7c68013提供了一種獨(dú)特的接口方式,即通用

2、可編程接口(gpif)方式。它與傳統(tǒng)接口方式的主要區(qū)分有兩點(diǎn):在數(shù)據(jù)傳輸過(guò)程中不需要cpu干涉,使得傳輸速率顯然提高,從而可以充分利用usb20的傳輸帶寬;由軟件設(shè)置讀寫控制,其控制方式類似于狀態(tài)機(jī),提高了傳輸穩(wěn)定性。因此,本文介紹的基于usb20控制器cy7c68013的gpif接口設(shè)計(jì),就是充分利用了該芯片這一獨(dú)特的數(shù)據(jù)傳輸接口方式,有效地解決了在傳統(tǒng)接口方式下usb20設(shè)備數(shù)據(jù)傳輸速度的局限性,大大提高了數(shù)據(jù)的傳輸速率。1 cy7c68013簡(jiǎn)介cy7c68013是cypress公司的ez-usb fx2系列芯片。ez-usb fx2是一款集成usb20的微控制器,內(nèi)部結(jié)構(gòu)l所示。該系列

3、芯片集成了usb2o收發(fā)器、串行接口引擎(sie)、帶85kb片上ram的增加型高速8051、4kb fifo存儲(chǔ)器以及通用可編程接口等模塊提供了全面集成的usb解決計(jì)劃,無(wú)需外加芯片即可實(shí)現(xiàn)高速usb傳輸。fx2系列芯片最主要的特點(diǎn)是可以通過(guò)usb20的通用可編程接口為特定的應(yīng)用接口編程。另外,cy7c68013的gpif引擎具有自動(dòng)傳輸數(shù)據(jù)結(jié)構(gòu)的特性,這種特性使得以主從端點(diǎn)fifo(b/16位數(shù)據(jù)總線)為ata、utopia、epp、pcmcia、等的外圍設(shè)備,可以與主機(jī)通過(guò)cy7c68013無(wú)縫、高速地傳輸數(shù)據(jù)。另外,cy7c68013內(nèi)部集成的usb2o的sif能完成大部分usb2o協(xié)

4、議的處理工作,從而削減了用戶對(duì)繁雜的usb協(xié)議的處理。2 硬件設(shè)計(jì)及原理在gpif接口方式設(shè)計(jì)中,gpif作為cy7c68013的端點(diǎn)fifo的內(nèi)部控制器,在這種方式下,cpu不會(huì)干涉數(shù)據(jù)的傳輸。cy7c68013的gpif接口方式2所示。cy7c68013特地為gpif提供了接口信號(hào)(包括16位數(shù)據(jù)線、輸出控制信號(hào)ctl、輸入控制信號(hào)rdy以及地址線adr),這些信號(hào)負(fù)責(zé)完成usb接口芯片與外圍設(shè)備或器件(如、dsp等)的數(shù)據(jù)讀寫控制和傳輸。以下為gpif方式下的主要端口功能。fdofdl5(輸入輸出):usb主機(jī)通過(guò)cy7c68013與外部設(shè)備舉行數(shù)據(jù)傳輸?shù)臄?shù)據(jù)線,可以用8位或16位數(shù)據(jù)線

5、。ctloctl5(輸出):cy7c68013對(duì)外部設(shè)備舉行控制的信號(hào)線。rdy0rdy5(輸入):cy7c68013對(duì)外部設(shè)備的狀態(tài)舉行檢測(cè)的信號(hào)線。sda(雙向)、scl(輸出):e2prom的數(shù)據(jù)準(zhǔn)時(shí)鐘信號(hào)線。adr0adr8(輸出);gpif為外部設(shè)備提供的地址線。在本設(shè)計(jì)中,除了重點(diǎn)利用通用可編程接口來(lái)實(shí)現(xiàn)無(wú)縫、高速的傳輸數(shù)據(jù)外,還采納了ez-usbfx2提供的一種獨(dú)特架構(gòu),即“量子fifo(quantum fifo)”處理架構(gòu)。它能較好地解決帶寬問(wèn)題,圖3為其數(shù)據(jù)傳輸暗示圖。當(dāng)usb執(zhí)行out時(shí),ep2端點(diǎn)被設(shè)置為512字節(jié)四重fifo(在usb端和外部接口端,都不知道有四重fif

6、o),圖4為其數(shù)據(jù)傳輸原理圖。在usb端看來(lái),只要有1個(gè)fifo為“半滿”,那么就可以繼續(xù)發(fā)送數(shù)據(jù)。當(dāng)前操作的fifo寫“滿”時(shí),fx2自動(dòng)將其轉(zhuǎn)換到外部接口端,排解迎候讀取;并將usb接口隊(duì)列中下一個(gè)為“空”的fifo轉(zhuǎn)移到usb接口上,供其繼續(xù)寫數(shù)據(jù)。同時(shí),在外部接口端看來(lái),只要有1個(gè)fifo為“半滿”,就可以繼續(xù)讀取數(shù)據(jù)。當(dāng)前操作的fifo讀“空”時(shí),fx2自動(dòng)將其轉(zhuǎn)換到usb接口端,排解迎候?qū)懭?;并將外部接口?duì)列中下一個(gè)為“滿”的fifo轉(zhuǎn)移到外部接口上,供其繼續(xù)讀取數(shù)據(jù)。3 軟件設(shè)計(jì)及實(shí)現(xiàn)本設(shè)計(jì)的軟件設(shè)計(jì)包括:固件程序、驅(qū)動(dòng)程序和應(yīng)用程序設(shè)計(jì)。其中,固件程序是囫圇程序設(shè)計(jì)的核心,它在

7、設(shè)備cpu中運(yùn)行。gpif就是在固件中實(shí)現(xiàn)的,因此,惟獨(dú)在該程序運(yùn)行時(shí),外設(shè)才干稱之為具有給定功能的外部設(shè)備。31 固件設(shè)計(jì)在gpif高速數(shù)據(jù)傳輸中,gpif波形的描述符打算了囫圇數(shù)據(jù)傳輸過(guò)程的時(shí)序。gpif波形描述符通常用cypress公司的gpif工具(gpiftool)舉行配置。它是一個(gè)可運(yùn)行于windows平臺(tái)的應(yīng)用程序,與fx2的開(kāi)發(fā)包一起發(fā)布的。在gpif方式下,全部的讀寫及控制規(guī)律通過(guò)cy7c68013的gpif以軟件編程的方式實(shí)現(xiàn),且控制規(guī)律的變換便利靈便(只需要轉(zhuǎn)變接口的一個(gè)配置寄存器的值)。fx2由4個(gè)gpif波形描述符控制各個(gè)狀態(tài),它們分離是gpif waveform o

8、(fiford)、gpif waveform1(fifowr)、gpif waveform 2(snglrd)和gpif wave-form 3(snglwr)。這些波形描述符可以動(dòng)態(tài)地配置給任何一個(gè)端點(diǎn)fifo。fx2的固件程序可以把這些描述符配置給4個(gè)fifo中的隨意一個(gè);配置后,gpif將依據(jù)波形描述符產(chǎn)生相應(yīng)的控制規(guī)律和握手信號(hào)給外界接口,以滿足向fifo讀寫數(shù)據(jù)的需要。每個(gè)波形描述符包含了7個(gè)有效狀態(tài)(s0s6)和1個(gè)空閑狀態(tài)。在每個(gè)有效狀態(tài)對(duì)應(yīng)的時(shí)光段里,經(jīng)過(guò)預(yù)先設(shè)置,gpif可以完成以下幾項(xiàng)工作:驅(qū)動(dòng)(使高或低)或浮接ctl輸出,采樣或驅(qū)動(dòng)fifo的數(shù)據(jù)總線,增強(qiáng)gpif地址總線

9、的值和指向當(dāng)前fifo指針的值,以及啟動(dòng)gpifwf(gpif波形)中斷。除此之外,在每個(gè)狀態(tài)下,gpif還可以對(duì)幾個(gè)信號(hào)(如rdy輸入端、fifo狀態(tài)標(biāo)記位、內(nèi)部rdy標(biāo)記位和傳輸計(jì)數(shù)終止標(biāo)記位)中的隨意兩個(gè)舉行采樣,把其中兩個(gè)信號(hào)相“與”、相“或”或者相“異或”,并按照結(jié)果跳轉(zhuǎn)到其他隨意一個(gè)狀態(tài)或延遲1256個(gè)時(shí)鐘周期,固然也可以按照輸入端的信號(hào)舉行跳轉(zhuǎn)或延遲。fifo讀波形配置(fiford)5所示。在狀態(tài)0時(shí),數(shù)據(jù)總線上的數(shù)據(jù)為有效(activate),gpif把數(shù)據(jù)讀到fifo中。在狀態(tài)1時(shí),gpif產(chǎn)生一個(gè)正脈沖信號(hào)rdclk(ctl0)給外圍設(shè)備,表示已經(jīng)讀取了一個(gè)數(shù)據(jù),同時(shí)推斷

10、數(shù)據(jù)是否傳輸結(jié)束。假如還沒(méi)有,則不斷循環(huán)狀態(tài)o和狀態(tài)l,直到讀完全部數(shù)據(jù)為止;讀完全部數(shù)據(jù)后,不再經(jīng)過(guò)中間其他任何狀態(tài),就挺直跳到狀態(tài)7(idle),表示完成本次數(shù)據(jù)傳輸。從圖5中町以看出,在兩個(gè)時(shí)鐘周期內(nèi)完成了一個(gè)數(shù)據(jù)(8位或16位)的讀取,假如數(shù)據(jù)為雙字節(jié)寬,那么傳輸速率可達(dá)48 mbs,從而充分利用了usb20的傳輸帶寬,大大提高了數(shù)據(jù)傳輸?shù)乃俾省?.2 驅(qū)動(dòng)程序設(shè)計(jì)usb系統(tǒng)驅(qū)動(dòng)程序由3部分組成:usb設(shè)備驅(qū)動(dòng)程序、usb總線驅(qū)動(dòng)程序和usb主控制器驅(qū)動(dòng)程序。其中,windows操作系統(tǒng)已經(jīng)提供了處于驅(qū)動(dòng)程序棧底的usb總線驅(qū)動(dòng)程序和usb主控制器驅(qū)動(dòng)程序;而usb設(shè)備驅(qū)動(dòng)程序由設(shè)備開(kāi)

11、發(fā)者編寫,通過(guò)向usb總線驅(qū)動(dòng)程序發(fā)送包含urb(usb request block)的irp(io requestpaeket),以實(shí)現(xiàn)usb外設(shè)之間的信息交換。開(kāi)發(fā)usb設(shè)備驅(qū)動(dòng)程序,可采納numega公司的開(kāi)發(fā)包driver works和mierosoft公司的2000ddk,并以vc+6o作為輔助開(kāi)發(fā)環(huán)境來(lái)完成。在cypress公司的ez-usbfx2開(kāi)發(fā)包中,提供了完整的cy7c68013驅(qū)動(dòng)程序源代碼、控制面板程序及固件的框架,可以大大加快用戶開(kāi)發(fā)的進(jìn)度。用戶只需對(duì)所帶驅(qū)動(dòng)程序稍加修改甚至無(wú)需任何修改,再經(jīng)ddk編譯后用法,軟件開(kāi)發(fā)者大量的時(shí)光主要集中在應(yīng)用程序和固件的開(kāi)發(fā)上。本設(shè)

12、計(jì)所用的usb設(shè)備驅(qū)動(dòng)程序就是對(duì)fx2開(kāi)發(fā)包所帶的驅(qū)動(dòng)程序做了一些修改,主要是修改了deviceiocontrol例程,增強(qiáng)了控制數(shù)據(jù)傳輸函數(shù)、啟動(dòng)和停止ad、復(fù)位fifo等。33 應(yīng)用程序設(shè)計(jì)用戶程序是usb系統(tǒng)與用戶的接口,其關(guān)鍵是實(shí)現(xiàn)從usb外設(shè)讀取或發(fā)送usb設(shè)備哀求、指令和特定量的數(shù)據(jù)等,并對(duì)數(shù)據(jù)舉行一系列處理(如存儲(chǔ)、顯示等)。在編寫用戶程序時(shí),首先要建立與外設(shè)的銜接,然后才干實(shí)施數(shù)據(jù)的傳輸。本設(shè)計(jì)用法的是c+builder6編譯環(huán)境,在c+builder6環(huán)境下通過(guò)api函數(shù)去調(diào)用usb驅(qū)動(dòng)?;静襟E為:首先打開(kāi)設(shè)備的句柄;然后舉行讀寫和控制操作;最后關(guān)閉設(shè)備句柄。程序中主要用到的兩個(gè)api函數(shù)creatfile()和devicelocontrol()就是通過(guò)該句柄實(shí)現(xiàn)數(shù)據(jù)傳輸?shù)?。結(jié)語(yǔ)本文具體介紹了基于usb2o控制器cy7c68013的gfif接口軟硬件設(shè)計(jì)計(jì)劃。該設(shè)計(jì)充分利用了cy7c68013芯片的通用可編程接

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論