分析用EZ-USB實(shí)現(xiàn)TMS320C6X與主機(jī)的數(shù)據(jù)傳輸
出處:單片機(jī)及嵌入式系統(tǒng)應(yīng)用 發(fā)布于:2011-06-10 18:08:25
1 USB控制芯片
Cypress Semiconductor公司的EZ-USB FX2是世界上款集成USB2.0的微處理器,它集成了USB2.0收發(fā)器、SIE(串行接口引擎)、增強(qiáng)的8051微控制器和可編程的外圍接口。FX2這種獨(dú)創(chuàng)性結(jié)構(gòu)可使數(shù)據(jù)傳輸率達(dá)到56Mbytes/s,即USB2.0允許的帶寬。在FX2中,智能SIE可以硬件處理許多USB1.1和USB2.0協(xié)議,從而減少了開發(fā)時(shí)間和確保了USB的兼容性。GPIF(General Programmable Interface)和主/從端點(diǎn)FIFO(8位或16位數(shù)據(jù)總線)為ATA、UTOPIA、EPP、PCMCIA和DSP等提供了簡單和無縫連接接口。CY7C68013有三種封裝形式:56SSOP,100TQFP和128TQFP。
CY7C68013的結(jié)構(gòu)框圖如圖1所示。
![]() |
|---|
FX2的端點(diǎn)緩沖區(qū)分為大小兩組:EP0、EP1(IN)、EP1(OUT)是小端點(diǎn),大小為64字節(jié),只能由CPU來存取,不能由外部邏輯連接;EP2和EP4默認(rèn)為OUT端點(diǎn),EP6和EP8默認(rèn)為IN端點(diǎn)。FX2為其大端點(diǎn)提供多種緩沖方式,在OUT緩沖區(qū)中寫入供外部處理器讀取的數(shù)據(jù)。它具備全速與高速兩種傳輸速率,而且具有USB協(xié)議所規(guī)定的4種傳輸模式,即控制傳輸、中斷傳輸、塊傳輸及等時(shí)傳輸。
2 系統(tǒng)硬件構(gòu)架
2.1 USB與DSP的硬件連接
TMS320C6713是TI公司在TMS320C6711的基礎(chǔ)上推出的C6000系列新一代浮點(diǎn)DSP芯片,它是目前為止C6000系列DSP芯片中性能的一種。TMS320C6713可在255MHZ的時(shí)鐘頻率下實(shí)現(xiàn)1800MIPS/1350MFLOPS的定點(diǎn)和浮點(diǎn)運(yùn)算,因而可極大地滿足通信、雷達(dá)、數(shù)字電視等高科技領(lǐng)域?qū)π盘?hào)處理實(shí)時(shí)性的要求。外設(shè)資源包括直接存儲(chǔ)器訪問控制器(DMA),外。部存儲(chǔ)器接口(EMIF)、串行口、擴(kuò)展總線或主機(jī)口、定時(shí)器等。CY7C68013能非常靈活地實(shí)現(xiàn)與DSP或MCU的接口。可采用同步或異步方式與主設(shè)備(如ASIC,DSP等)連接。
在本方案中,使其作為從設(shè)備,選用了Slave FIFOs,異步讀/寫,在這種模式下,DSP可以像讀/寫普通FIFO一樣對(duì)CY7C68013內(nèi)部的多層緩沖FIFO進(jìn)行讀/寫。主要信號(hào)連接如圖2所示。主機(jī)(PC)發(fā)出命令的同時(shí)也由PA3提供中斷觸發(fā)信號(hào)給DSP的外部中斷引腳6(EXT_INT6)。其上升沿被檢測(cè)到以后,DSP就進(jìn)入相應(yīng)中斷服務(wù)程序,開始處理USB的傳輸,“或”組合邏輯滿足嚴(yán)格的時(shí)序要求,F(xiàn)LAGB和FLAGC是CY7C68013內(nèi)部FIFO的空、滿狀態(tài)標(biāo)志,PA[0:1]表示PC發(fā)送的命令類型。這些信息在CPLD內(nèi)部整合到數(shù)據(jù)總線ED[0:15],DSP開始傳輸數(shù)據(jù)包前對(duì)其提取判斷,TMS320C6713對(duì)CY7C68013內(nèi)部端點(diǎn)(EP)的選擇,是通過地址線TEA[2:3]來實(shí)現(xiàn)。
![]() |
|---|
2.2 系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)
根據(jù)上述硬件通信模式搭建基于PC、USB、DSP的主從式系統(tǒng),當(dāng)系統(tǒng)上電完成各模塊固件配置和硬件初始化后,可由PC發(fā)出控制命令,以外部信號(hào)觸發(fā)DSP進(jìn)入相應(yīng)的中斷處理程序,自動(dòng)完成數(shù)據(jù)流USB、DSB處理和USB回傳的多次循環(huán)過程;PC顯示處理后的結(jié)果。系統(tǒng)總體結(jié)構(gòu)框圖如圖3所示。
![]() |
|---|
DSP芯片通過片中的EMIF為SDRAM,F(xiàn)lash等器件提供接口。SDRAM為同步存儲(chǔ)器件,EMIF有專門的控制線和時(shí)鐘與它進(jìn)行無縫連接。這里SDRAM用做數(shù)據(jù)存儲(chǔ)器。
復(fù)位電路提供系統(tǒng)上電和工作電壓異常時(shí)的自動(dòng)復(fù)位及人工控制復(fù)位。時(shí)鐘電路為DSP處理模塊提供時(shí)鐘信號(hào)。
USB的接口電路提供PC與DSP的高速數(shù)據(jù)傳輸通道,接口芯片通過CPLD與外部處理器DSP相連,置于EMIF的CE2空間(通信模式如前所述)。
3 通信模塊軟件設(shè)計(jì)
3.1 CY7C68013的固件程序規(guī)劃
固件程序框架通過幾個(gè)不同的功能模塊,實(shí)現(xiàn)了一個(gè)簡單的互操作任務(wù)執(zhí)行器,首先,通過調(diào)用用戶的初始化函數(shù)TD_Init(),初始化所有內(nèi)部狀態(tài)變量,之后,程序框架將USB口初始化為未配置狀態(tài),并且使能中斷,以1s為時(shí)間間隔開始重新列舉(renumerate)設(shè)備,直到端點(diǎn)0收到設(shè)置包為止,一旦檢測(cè)端點(diǎn)0受多一個(gè)設(shè)置包,固件框架程序就啟動(dòng)執(zhí)行一個(gè)互操作的任務(wù)分配器,按照給定的順序重復(fù)執(zhí)行下面的任務(wù):調(diào)用函數(shù)TD_Poll(),判斷是否有標(biāo)準(zhǔn)設(shè)備請(qǐng)求等待處理,確定USB核是否了USB掛起事件。
主要固件配置如下:
1)配置異步從FIFO(Asynchronous Slave FIFO)模式,接口驅(qū)動(dòng)采用內(nèi)部的48M赫茲的時(shí)鐘源。
2)EndPoint4和EndPoint8作為雙向傳輸?shù)墓艿?,分別對(duì)應(yīng)緩沖FIFO4和FIFO8存放USB需要接收與下傳的數(shù)據(jù),它們均采用批量(BULK)傳輸方式。
3)設(shè)置FIFO4、FIFO8為自動(dòng)方式,即在數(shù)據(jù)傳輸過程中無需CY7C68013的8051內(nèi)核參與,以保證持續(xù)、高速、有效的數(shù)據(jù)傳輸。
EZ-USB FX2芯片定義了幾個(gè)特殊寄存器,以輔助固件程序相應(yīng)設(shè)備請(qǐng)求,并向主機(jī)傳送數(shù)據(jù),當(dāng)設(shè)備收到設(shè)置包時(shí),USB核會(huì)自動(dòng)將設(shè)置數(shù)據(jù)放入8字節(jié)的SETUPBUF緩沖區(qū)中,用戶只須從中讀取設(shè)置數(shù)據(jù),進(jìn)行分析來判斷請(qǐng)求的類型即可。
方案中部分設(shè)備請(qǐng)求代碼如下:
![]() |
|---|
讀取緩沖區(qū)中第2字節(jié)由PA[0:1]發(fā)送至DSP,作為命令類型標(biāo)志(00為下傳,01為上傳,10為處理);同時(shí)PA3口提供外部中斷觸發(fā)信號(hào)的上升沿。
固件就緒后通過Cypress公司提供的工具Control Panel加載至EEPROM中,當(dāng)需要修改固件時(shí),就可以在不改動(dòng)硬件的情況下將主機(jī)上修改好的固件重新。
3.2 上位機(jī)流程
主機(jī)應(yīng)用程序與操作系統(tǒng)相互作用,利用PC豐富的資源,實(shí)現(xiàn)顯示驗(yàn)證,提高系統(tǒng)的可操作性,當(dāng)操作系統(tǒng)認(rèn)為有新設(shè)備接入時(shí),就會(huì)自動(dòng)調(diào)用相應(yīng)的設(shè)備驅(qū)動(dòng)。另外,該軟件需要一個(gè)圖形用戶界面來控制所用的函數(shù),這里采用VC++6.0來編制應(yīng)用程序,首先調(diào)用CreateFile()打開USB接口設(shè)備,獲得設(shè)備的句柄hDevice,然后計(jì)算機(jī)通過調(diào)用DeviceIoControl()函數(shù)向外設(shè)發(fā)出。部分程序如下:
![]() |
|---|
myRequest的8個(gè)成員變量對(duì)應(yīng)固件配置SETUPBUF緩沖區(qū)中8字節(jié)的(SETUPDAT)數(shù)據(jù),其中value的值表示了主機(jī)向DSP發(fā)送的命令類型(00/01/10),使DSP配合完成接收,處理及上傳的系統(tǒng)過程。
![]() |
|---|
每次調(diào)用DeviceIoControl函數(shù)傳輸?shù)臄?shù)據(jù)量僅為1KB。為了滿足大數(shù)據(jù)量或者整幀圖像數(shù)據(jù)傳輸?shù)囊?,需要循環(huán)調(diào)用DeviceIoControl()函數(shù),以數(shù)據(jù)流的過程為例,循環(huán)體中的代碼如下:
![]() |
|---|
buffer是主機(jī)發(fā)出數(shù)據(jù)塊的頭指針;pBy為每次下傳數(shù)據(jù)塊的首地址,是隨著循環(huán)變量i遞增的值。同樣,上傳數(shù)據(jù)的過程中也有類似的存儲(chǔ)操作。
4 系統(tǒng)測(cè)試
利用圖像序列對(duì)此主從式聯(lián)機(jī)系統(tǒng)進(jìn)行測(cè)試。
觸發(fā)PC機(jī)上的界面控件(PA(0:1)=00),10幅經(jīng)不同程序噪聲污染的同一內(nèi)容的圖像,DSP檢測(cè)到通用外部中斷口EXT_INT6的信號(hào)(對(duì)應(yīng)USB芯片的PA3)讀入數(shù)據(jù)讀取命令類型,將10幀圖像數(shù)據(jù)存入SDRAM空間,之后,上位機(jī)繼續(xù)發(fā)出處理命令,DSP檢測(cè)到PA[0:1]=10對(duì)存儲(chǔ)的多幀圖像數(shù)據(jù)進(jìn)行累加平均,從而提高圖像的信噪比,在收到上傳命令(PA[0:1]=01)時(shí),DSP將處理完成的圖像回送至PC機(jī)顯示。
5 結(jié)語
本文詳細(xì)介紹了通過TMS32C6713的EMIF擴(kuò)展USB接口的硬件連接、USB2.0固件程序和應(yīng)用程序的開發(fā)以及基于這種通信模式的小型聯(lián)機(jī)系統(tǒng)的構(gòu)成。經(jīng)實(shí)際驗(yàn)證,系統(tǒng)運(yùn)行可靠,是一種比較好的高速數(shù)據(jù)傳輸與處理的解決方案。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫電子市場網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 掌握 DSP:原理剖析與應(yīng)用實(shí)踐2025/5/8 14:03:24
- 模糊邏輯在 DSP 上實(shí)時(shí)執(zhí)行2023/7/25 17:13:30
- 多速率DSP及其在數(shù)模轉(zhuǎn)換中的應(yīng)用2023/6/12 15:28:52
- 使用 DSP 加速 CORDIC 算法2023/3/29 15:46:30
- 高速DSP系統(tǒng)的信號(hào)完整性2022/9/26 16:45:38
- 高速PCB信號(hào)完整性(SI)設(shè)計(jì)核心實(shí)操規(guī)范
- 鎖相環(huán)(PLL)中的環(huán)路濾波器:參數(shù)計(jì)算與穩(wěn)定性分析
- MOSFET反向恢復(fù)特性對(duì)系統(tǒng)的影響
- 電源IC在惡劣環(huán)境中的防護(hù)設(shè)計(jì)
- 連接器耐腐蝕性能測(cè)試方法
- PCB電磁兼容(EMC)設(shè)計(jì)與干擾抑制核心實(shí)操規(guī)范
- 用于相位噪聲測(cè)量的低通濾波器設(shè)計(jì)與本振凈化技術(shù)
- MOSFET在高頻開關(guān)中的EMI問題
- 電源IC在便攜式設(shè)備中的設(shè)計(jì)要點(diǎn)
- 連接器結(jié)構(gòu)設(shè)計(jì)常見問題分析
















