CY7C68001與TMS320VC5416的接口設(shè)計(jì)-設(shè)計(jì)應(yīng)用_第1頁
CY7C68001與TMS320VC5416的接口設(shè)計(jì)-設(shè)計(jì)應(yīng)用_第2頁
CY7C68001與TMS320VC5416的接口設(shè)計(jì)-設(shè)計(jì)應(yīng)用_第3頁
CY7C68001與TMS320VC5416的接口設(shè)計(jì)-設(shè)計(jì)應(yīng)用_第4頁
CY7C68001與TMS320VC5416的接口設(shè)計(jì)-設(shè)計(jì)應(yīng)用_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

精品文檔-下載后可編輯CY7C68001與TMS320VC5416的接口設(shè)計(jì)-設(shè)計(jì)應(yīng)用近年來,隨著數(shù)字信號技術(shù)的發(fā)展,需要處理的數(shù)據(jù)量越來越大,處理的速度也越來越快,因此具有高速性能DSP芯片的應(yīng)用得到了廣泛重視。而通過DSP處理的數(shù)據(jù)往往要傳輸給PC機(jī)進(jìn)行存儲和再處理,那么就必須研究DSP與PC機(jī)之間的高速通信問題,所以今年發(fā)展起來的USB2.0技術(shù)及其高速易擴(kuò)展等特點(diǎn)得到越來越廣泛的應(yīng)用,本文就是使用USB2.0芯片CY7C68001和DSP芯片TMS320VC5416來實(shí)現(xiàn)DSP與PC機(jī)通信的。1CY7C68001芯片特點(diǎn)描述CY7C68001是用來連接微處理器或DSP的DMA從裝置,其內(nèi)部不含微處理器;集成有USB2.0收發(fā)器(物理層)、USB2.0串行接口引擎SIE(鏈路層、實(shí)現(xiàn)底層通信協(xié)議)、4kB的FIFO和電壓調(diào)節(jié)器、鎖相環(huán);支持高速(480Mb/s)或全速(12Mb/s)傳輸;3.3V操作電壓,24MHz外部振蕩頻率;可以選擇8位或16位總線方式;具有同步與異步的FIFO接口;他可以向用戶提供足夠的端口,緩沖區(qū)和傳輸速度,提供USB2.0協(xié)議要求的全部4種傳輸方式(控制傳輸、中斷傳輸、批量傳輸和同步傳輸),可以滿足用戶對各種類型數(shù)據(jù)傳輸?shù)男枨?。片上的串行接口處理器(SIE)能完成大部分的USB協(xié)議操作,使用戶可以擺脫復(fù)雜的協(xié)議細(xì)節(jié),簡化了用戶配置代碼,加快了程序開發(fā)過程。但是由于采用的是不帶MCU內(nèi)核的USB接口芯片,USB的應(yīng)用層協(xié)議應(yīng)該由TMS320VC5416編程實(shí)現(xiàn),USB固件的加載必須靠DSP控制CY7C68001完成。2CY7C68001芯片寄存器2.1CY7C68001配置寄存器USB的配置寄存器主要有IFCONFIG,F(xiàn)LAGSAB,F(xiàn)LAGSCD,POLAR,REVID。IFCONFIG配置USB的接口方式;FLAGSAB與FLAGSCD確定FLAGX所代表的狀態(tài);POLAR確定FIFO接口信號的極性;REVID讀版本號。2.2ENDPOINT配置寄存器配置USB四個(gè)節(jié)點(diǎn),主要有EPxCFG,EPxPKTLENH與EPxPKTLENL,EPxPEH與EPxPEL,EPxISOINPKTS幾類寄存器(x的值為2,4,6,8):EPxCFG配置每一個(gè)Endpoint的類型;EPxPKTLENH與EPxPKTLEN設(shè)置每個(gè)節(jié)點(diǎn)包的大??;EPxPFH與EPxPFL確定每個(gè)節(jié)點(diǎn)的可編程的標(biāo)志位;EPxISOINPKTS確定等時(shí)同步傳輸時(shí),每一幀的數(shù)據(jù)包個(gè)數(shù)。2.3狀態(tài)寄存器狀態(tài)寄存器有EP24FLAGS與EP68FLAGS;EP24FLAGS確定節(jié)點(diǎn)2與4的FIFO的狀態(tài);EP68FLAGS確定節(jié)點(diǎn)6與8的FIFO的狀態(tài)。2.4USB幀狀態(tài)寄存器USB總線配置寄存器主要有USBFRAMEH、USBFRAMEL、MICROFRAME、FNADDR來確定USB每一幀的狀態(tài),USBFRAMEEH/L寄存器確定每一幀的數(shù)據(jù)長度;MICROFRAME寄存器確定每一個(gè)微幀的數(shù)據(jù)個(gè)數(shù);FNADDR寄存器保存自舉時(shí)的7位地址。2.5節(jié)點(diǎn)0(Endpoint0)操作寄存器節(jié)點(diǎn)0(Endpoint0)操作寄存器主要包括FP0BUF,SETUP,EP0BC三個(gè)寄存器:EP0BUF寄存器是節(jié)點(diǎn)0的緩沖寄存器,通過他可以完成對節(jié)點(diǎn)0數(shù)據(jù)的訪問;SETUP寄存器從計(jì)算機(jī)接收set-up數(shù)據(jù)包;EP0BC,節(jié)點(diǎn)0中的數(shù)據(jù)的個(gè)數(shù)。2.6其他寄存器INPKTEND/FLUSH寄存器強(qiáng)制數(shù)據(jù)包結(jié)束或清空FIFO;INTERRUPTS寄存器為中斷使能寄存器;DESC寄存器可以完成對描述表的操作。3TMS320VC5416與CY7C68001的硬件接口本設(shè)計(jì)將CY7C68001配置在TMS320VC5416的I/O空間,采用CY7C68001的并行異步讀寫方式完成二者之間數(shù)據(jù)和命令的交換。其原理框圖如圖1所示。

CY7C68001除了存儲器接口外,還有1個(gè)中斷信號USBINT反和4個(gè)狀態(tài)信號(READY,F(xiàn)LAGA,F(xiàn)LAGB和FLAGC),中斷信號USBINT反,擴(kuò)展總線的XINT2反,操作復(fù)用TMS320VC5416的外部中斷INT2反被配置在系統(tǒng)狀態(tài)寄存(sysstat1)中,可由TMS320VC5416查詢,以確定真正的中斷源,狀態(tài)信號READY,F(xiàn)LAGA,F(xiàn)LAGB和FLAGC配置在本系統(tǒng)狀態(tài)寄存器0(sysstat0)中,可由TMS320VC5416查詢,由于采用了CPLD,增強(qiáng)了系統(tǒng)的靈活性和可擴(kuò)充性。在實(shí)際操作中,由于通信速度達(dá)到了480Mb/s,所以采用4層板設(shè)計(jì),而且對電源要進(jìn)行很好的退耦處理,對DSP所需的16MHz有源晶振和CY7C68001用到的24MHz有源晶振要進(jìn)行鋪銅處理。4TMS320VC5416對CY7C68001的操作CY7C68001有2個(gè)外部接口:(1)命令接口:用來訪問CY7C68001寄存器、Endpoint0緩沖器及描述表;(2)FIFO數(shù)據(jù)接口:用來訪問4個(gè)1kB的FIFO中的數(shù)據(jù)。這兩個(gè)外部接口均可以通過同步或異步的方式進(jìn)行訪問。在本系統(tǒng)中均采用異步的方式進(jìn)行訪問的,命令口的命令字:

AD:地址/數(shù)據(jù)選擇,為0時(shí)表示本操作為數(shù)據(jù)讀或?qū)?,?時(shí)表示本操作為地址寫;R/W:讀/寫操作選擇,為0時(shí)進(jìn)行寫,為1時(shí)進(jìn)行讀;D[5:0]:地址/數(shù)據(jù),當(dāng)AD=0時(shí),D[3:0]為數(shù)據(jù)半字節(jié),D[5:4]未用,命令字為8位,故命令字?jǐn)?shù)據(jù)分二次讀出或?qū)懭?;?dāng)AD=1時(shí),D[5:0]包含將要尋址的命令寄存器的地址。4.1命令口的讀/寫操作系統(tǒng)中CY7C68001作為TMS320VC5416的外設(shè),占用TMS320VC5416的I/O空間,地質(zhì)為0x0007-0x0000。地址分配如下:FIFO2,F(xiàn)IFO4,F(xiàn)IFO6,F(xiàn)IFO8和命令口的地址分別為000,001,010,011,100,而地址101,110,111則保留。CY7C68001的地址線FIFOADR[2:0]為100B時(shí),選中CY7C68001的命令口。通過CY7C68001的命令口,可以訪問37個(gè)寄存器、Endpoint0緩沖器(64個(gè)字節(jié)FIFO)和描述表(500個(gè)字節(jié)FIFO)等,如果將Endpoint0緩沖器和描述表也看成是寄存器,那么單個(gè)命令口下內(nèi)含了眾多的寄存器,對這些寄存器進(jìn)行讀/寫訪問采用二次尋址方式,即首先通過命令口將要尋址寄存器子地址和操作類型(讀操作還是寫操作)寫入,然后再通過命令口將數(shù)據(jù)讀出或?qū)懭胂鄳?yīng)的寄存器,寫入命令口的內(nèi)容稱為命令字,命令字包含要尋址的寄存器的子地址,或是要寫入寄存器數(shù)據(jù)的高位4位或低4位,讀命令口必須在給命令口寫入命令字之后,所讀出的為相應(yīng)寄存器的8位數(shù)據(jù)。在這里,對寄存器的操作均以8位數(shù)據(jù)寬度進(jìn)行。4.1.1TMS320VC5416對CY7C68001寄存器的寫操作過程(1)將TMS320VC5416對I/O空間訪問的等待周期設(shè)為7;(2)通過檢查系統(tǒng)狀態(tài)寄存器0(sysstat0)位2(USBRDY)等待CY7C68001的Ready線變高;

(3)尋址CY7C68001命令口(3位地址必須為100B),將10xx,xxxxB寫命令字寫入命令寄存器(xx,xxxxB代表需尋址的寄存器的子地址);(4)通過檢查系統(tǒng)狀態(tài)寄存器0(sysstat0)位2(USBRDY)等待CY7C68001的Ready線變高;(5)尋址CY7C68001命令口(3位地址必須為100B),將0xxx,D7D6D5D4B數(shù)據(jù)高4位命令字寫入命令寄存器(D7D6D5D4B代表要寫入的數(shù)據(jù)的高4位);(6)通過檢查系統(tǒng)狀態(tài)寄存器0(sysstat0)位2(USBRDY)等待CY7C68001的Ready線變高;(7)尋址CY7C68001命令(3位地址必須為100B),將0xxx,D3D2D1D0B數(shù)據(jù)低4位命令字寫入命令寄存器(D3D2D1D0B代表要寫入的數(shù)據(jù)的低4位)。4.1.2TMS320VC5416對CY7C68001寄存器的讀操作過程(1)TMS320VC5416對I/O空間訪問的等待周期設(shè)為7;(2)通過檢查系統(tǒng)狀態(tài)寄存器0(sysstat0)位2(USBRDY)等待CY7C68001的Ready線變高;(3)尋址CY7C68001命令口(3位地址必須為100B),將11xx,xxxxB讀命令字寫入命令寄存器(xx,xxxxB代表需尋址的寄存器的子地址);(4)等CY7C68001申請TMS320VC5416的外部中斷XINT2反;(5)尋址CY7C68001命令口(3位地址必須為100B),讀CY7C68001命令口。4.2FIFO數(shù)據(jù)接口的操作對數(shù)據(jù)接口的寫操作用到了SX2_FifoWriteSingle()函數(shù),負(fù)責(zé)向USB的數(shù)據(jù)緩沖區(qū)中寫數(shù)據(jù),由于這個(gè)寫程序是在主頻為160MHz時(shí)的設(shè)置,為了滿足數(shù)據(jù)保持時(shí)間為10ns,需要清空流水線,加入3個(gè)空操作NOP,I/O系統(tǒng)的等待周期為2個(gè);對數(shù)據(jù)接口讀操作用到了函數(shù)SX2_FifoReadSingle(),例如從端口4讀一個(gè)字節(jié)POPMAHPOPMALPSHMALPSHMAHSUB#1,ABCfifo_r3rd,ANEQPORTRusbfifo4,*AR0POPMAHPOPMALBfifoReadExit另外,程序中用到了中斷函數(shù)int2_isr(),在讀周期,主機(jī)申請讀寄存器的值,此時(shí)產(chǎn)生中斷,從SX2讀進(jìn)數(shù)據(jù);5USB的編程5.1USB的初始化CY7C68001有E2PROM自舉和通過DSP自舉2種自舉方式,在本系統(tǒng)中這兩種方式均可以,一般采用E2PROM來進(jìn)行USB的初始化,在E2PROM中初始化的順序如下:0xC4通知EZ_USBSX2有一個(gè)有效的E2PROM存在;IFCONFIG設(shè)置IFCONFIG寄存器,其函數(shù)為Write_SX2reg();POLAR設(shè)置各個(gè)信號的極性,其中SLOW,SLRD,SLWR只能由E2PROM來配置;Descriptor是否從E2PROM中裝入初始化表。當(dāng)值為0xc4時(shí)裝入,反之等待Master裝入;DescriptorLength這是兩個(gè)字節(jié)的空間,指示E2PROM中Descriptor的長度;DescriptorData描述表的內(nèi)容,其函數(shù)為Load_descriptors()。USB的編程主要分為2個(gè)部分,一是HOST方面驅(qū)動程序的編寫,一是有關(guān)DSP與USB數(shù)據(jù)與命令的交換,5.2HOST端程序HOST端需要編寫USB設(shè)備驅(qū)動程序和應(yīng)用程序。USB設(shè)備驅(qū)動程序主要是通過調(diào)用微軟的USBD.SYS來實(shí)現(xiàn)PC機(jī)與USB總線的數(shù)據(jù)交換。因而USB設(shè)備驅(qū)動程序主要完成的功能如下:(1)對相應(yīng)的USB設(shè)備建立設(shè)備驅(qū)動對象并完成對USB設(shè)備的初始化;(2)完成USB設(shè)備的即插即用功能;(3)完成USB設(shè)備電源的管理;(4)實(shí)現(xiàn)對USBD.SYS的調(diào)用,完成對USB設(shè)備的控制與數(shù)據(jù)的交換;(5)實(shí)現(xiàn)對USB通訊措施的處理。USB設(shè)備應(yīng)用程序主要用到以下幾個(gè)函數(shù):OpenDriver()打開驅(qū)動程序;CloseDriver()關(guān)閉驅(qū)動程序;Sx2GetDeviceDesc()獲取描述表;Sx2GetconfigDesc()獲取配置說明;Sx2GetPipeInfo()獲取接口信息;Sx2SendVendorReq()向USB發(fā)送請求;Sx2BulkdataTrans()在PC和USB間傳遞數(shù)據(jù)。5.3TMS320VC5416端程序TMS320VC5416是通過其

溫馨提示

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

評論

0/150

提交評論