資源描述:
《基于dsp 的usb數(shù)據(jù)傳輸系統(tǒng)設(shè)計》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、基于DSP的USB數(shù)據(jù)傳輸系統(tǒng)設(shè)計摘 要:數(shù)字信號處理器(DSP)在高速運(yùn)算上有著不可比擬的優(yōu)勢,但數(shù)字信號處理的數(shù)據(jù)量龐大,需要一種非常方便、快捷的接口實(shí)現(xiàn)與計算機(jī)的數(shù)據(jù)傳輸。在CT圖像重建系統(tǒng)設(shè)計中,提出一種基于DSP和USB的高速數(shù)據(jù)傳輸方案,該方案采用CYPRESS的CY7C68001作為USB收發(fā)控制芯片,并使用TI的高性能DSP芯片TMS320C5416作為微處理器控制芯片,利用兩者的速度優(yōu)勢,通過C語言編寫通信程序,實(shí)現(xiàn)了DSP與PC機(jī)之間的高速數(shù)據(jù)傳輸,從而使得大量圖像數(shù)據(jù)能夠快速、實(shí)時的存儲、處理。關(guān)鍵詞:CT圖像重建;DSP;USB;數(shù)據(jù)傳輸0 引
2、言由于DSP芯片的不斷發(fā)展,以及它處理數(shù)據(jù)速度快、處理數(shù)據(jù)量大的優(yōu)勢,已經(jīng)廣泛應(yīng)用到數(shù)字信號處理的許多領(lǐng)域。在CT圖像重建系統(tǒng)中,DSP處理的數(shù)據(jù)需要上傳到PC機(jī)進(jìn)行存儲、顯示或進(jìn)行數(shù)據(jù)分析等,這就產(chǎn)生了PC機(jī)和DSP的數(shù)據(jù)傳輸問題。USB總線具有傳輸速度高,以及即插即用等特點(diǎn),得到越來越廣泛的應(yīng)用,利用USB總線實(shí)現(xiàn)DSP和PC機(jī)的通信,從而解決圖像信號的實(shí)時傳輸問題。Cypress公司生產(chǎn)的CY7C68001通用USB2.0接口控制器是基于應(yīng)用層編程的接口器件,使用簡單,開發(fā)方便。在此,以TMS320C5416為例,討論如何使用CY7C68001對TMS32OC54
3、16進(jìn)行USB接口設(shè)計,實(shí)現(xiàn)DSP和PC機(jī)通信,將DSP處理過的圖像信號實(shí)時傳到計算機(jī)中。1 DSP與USB接口的硬件設(shè)計TMS320C5416是TI的高性能32位定點(diǎn)DSP,內(nèi)核采用超長指令字(VLIW)體系結(jié)構(gòu),有8個功能單元、64個32b通用寄存器。一個時鐘周期同時執(zhí)行8條指令,主頻可達(dá)1GHz,處理性能高達(dá)8000MIPS,支持8/16/32/64b的數(shù)據(jù)類型。CY7C68001用來連接微處理器或DSP的DMA從裝置,內(nèi)部不含微處理器;支持高速(480Mb/s)或全速(12Mb/s)USB數(shù)據(jù)傳輸;提供USB2.0協(xié)議要求的全部4種傳輸方式(控制傳輸、中斷傳輸、
4、批量傳輸和同步傳輸),可以滿足用戶對各種類型數(shù)據(jù)傳輸?shù)男枨蟆?.1 接口的硬件設(shè)計在該設(shè)計方案中,CY7C68001通過EMIFB與TMS320C5416進(jìn)行異步通信,各個引腳的連接如圖1所示。DSP控制CY7C68001完成DSP與PC之間的異步通信。CY7C68001的相關(guān)引腳在接口中的作用:INT:表明CY7C68001有數(shù)據(jù)將要被讀出,或者有中斷事件發(fā)生;READY:通知TMS320C5416可以對CY7C68001進(jìn)行讀寫;FLAGA,FLAGB,FLAGC:反應(yīng)由FAIFOADR[2:0]選擇的FIFO的狀態(tài);FLAGD:為片選信號;SLOE為CY7C680
5、01驅(qū)動數(shù)據(jù)總線;SLRD:并口讀有效信號,在SLRD有效且同步通信時,FIFO指針在每個IFCLK的上升沿遞增;PKTEND:總是高電平,將當(dāng)前的緩沖區(qū)提交給USB;FD[15:0]:數(shù)據(jù)總線;FIFO[2:0]:提供與TMS320C5416接口的FIFO地址選擇。13圖1 TMS320C5416與CY7C68001接口1.2 接口的訪問CY7C68001提供給DSP兩種軟件接口:(1)命令接口:用來訪問CY7C68001寄存器、End2point0緩沖器及描述表;(2)FIFO數(shù)據(jù)接口:用來訪問4個1KB的FIFO中的數(shù)據(jù)。通過編程直接作為FIFO分配給EP2,EP
6、4,EP6,EP8。這兩個外部接口均可以通過同步或異步方式進(jìn)行訪問。在此均采用異步的方式進(jìn)行訪問,命令口的命令字如下:在表1中,A/D用于地址/數(shù)據(jù)的選擇,當(dāng)其為0時,表示本操作為數(shù)據(jù)讀或?qū)?當(dāng)其為1時,表示本操作為地址寫。R/W用于讀/寫操作的選擇,當(dāng)其為0時,進(jìn)行寫,當(dāng)其為1時,進(jìn)行讀。A[5:0]用于地址/數(shù)據(jù)的選擇,當(dāng)Bit7=0時,D[3:0]為數(shù)據(jù)半字節(jié);D[5:4]為未用,命令字為8位,故命令字?jǐn)?shù)據(jù)分二次讀出或?qū)懭?當(dāng)Bit7=1時,D[5:0]包含將要尋址的命令寄存器地址。2 USB軟件設(shè)計USB的軟件設(shè)計包括三方面:固件設(shè)計、驅(qū)動程序設(shè)計和主機(jī)端應(yīng)用程
7、序設(shè)計。2.1 固件設(shè)計所有基于微控制器及外圍電路功能設(shè)備的正常工作都離不開固件的參與,固件的作用就是輔助硬件工作。沒有固件的參與和控制,硬件設(shè)備無法實(shí)現(xiàn)預(yù)期的功能。USB設(shè)備也不例外,必須編寫固件程序來輔助硬件完成USB的通信任務(wù)13。由于采用不帶MCU內(nèi)核的USB接口芯片,USB的應(yīng)用層協(xié)議應(yīng)該通過對TMS320C5416的編程來實(shí)現(xiàn),USB固件的加載必須靠DSP的控制CY7C68001來完成。在CCS中用C語言完成固件程序的編寫,程序流程圖如圖2所示。根據(jù)程序流程圖,固件設(shè)計思路如下:(1)初始化工作。包括設(shè)置一些特殊功能寄存器的初