USB20接口和DSP構(gòu)成的高速數(shù)據(jù)采集系統(tǒng)_第1頁(yè)
USB20接口和DSP構(gòu)成的高速數(shù)據(jù)采集系統(tǒng)_第2頁(yè)
USB20接口和DSP構(gòu)成的高速數(shù)據(jù)采集系統(tǒng)_第3頁(yè)
USB20接口和DSP構(gòu)成的高速數(shù)據(jù)采集系統(tǒng)_第4頁(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接口和 DSP構(gòu)成的高速數(shù)據(jù)采集系統(tǒng)摘要: 介紹一個(gè)基于 USB2.0 接口和 DSP的高速數(shù)據(jù)采集處理系統(tǒng)的工作原理、設(shè)計(jì)及實(shí) 現(xiàn)。該高速數(shù)據(jù)采集處理系統(tǒng)采用 TI 公司的 TMS320C6000數(shù)字信號(hào)處理器和 Cypress 公 司的 USB2.0 接口芯片,可以實(shí)現(xiàn)高速采集和實(shí)時(shí)處理,有著廣泛 的應(yīng)用前景。關(guān)鍵詞:USB2.0 CY7C68013 DSP高 速數(shù)據(jù)采集隨著數(shù)字信號(hào)處理理論和計(jì)算機(jī)的不斷發(fā)展,現(xiàn)代工業(yè)生產(chǎn)和科學(xué)技術(shù)研究都需要 借助于數(shù)字處理方法。進(jìn)行數(shù)字處理的先決條件是將所研究的對(duì)象進(jìn)行數(shù)字化,因此數(shù) 據(jù)采集與處理技術(shù)日益得到重視。在圖像處理、瞬態(tài)信號(hào)檢測(cè)、軟

2、件無(wú)線電等一些領(lǐng) 域,更是要求高速度、高精度、高實(shí)時(shí)性的數(shù)據(jù)采集與處理技術(shù)?,F(xiàn)在的高速數(shù)據(jù)采集 處理卡一般采用高性能數(shù)字信號(hào)處理器( DSP)和高速總線技術(shù)的框架結(jié)構(gòu)。 DSP用于完 成計(jì)算量巨大的實(shí)時(shí)處理算法,高速總線技術(shù)則完成處理結(jié)果或者采樣數(shù)據(jù)的快速傳 輸。 DSP主要采用 TI 或者 ADI 公司的產(chǎn)品,高速總線可以采用 ISA、 PCI、 USB等總線技 術(shù)。目前,使用比較廣泛的是 PCI 總線,雖然其有很多優(yōu)點(diǎn),但是存在如下嚴(yán)重缺陷; 易受機(jī)箱內(nèi)環(huán)境的影響,受計(jì)算機(jī)插槽數(shù)量的地址、中斷資源的限制而不可能掛接很多 設(shè)備等。 USB總線由于具有安裝方便、高帶這、易擴(kuò)展等優(yōu)點(diǎn),其中USB

3、2.0 標(biāo)準(zhǔn)有著高達(dá) 4800bps 的傳輸速率,已經(jīng)逐漸成為計(jì)算機(jī)接口的主流。本文介紹一個(gè)采用USB2.0 接口和高性能 DSP的高速數(shù)據(jù)采集處理系統(tǒng),主要是為光纖通信中密集波分復(fù)用系統(tǒng)的波 長(zhǎng)檢測(cè)與調(diào)整所設(shè)計(jì)的,也可以應(yīng)用于像圖像處理、雷達(dá)信號(hào)處理等相關(guān)領(lǐng)域。1 高速數(shù)據(jù)采集處理系統(tǒng)原理及器件選用整個(gè)高速數(shù)據(jù)采集處理系統(tǒng)的硬件構(gòu)成為:高速ADC、高速大容量數(shù)據(jù)緩沖、高性能 DSP和 USB2.0接口。系統(tǒng)的原理框圖如圖 1 所示。高性能 DSP采用 TI 公司的 TMS320C6000系列定點(diǎn) DSP中的 TMS320C6203B;高速 ADC 采用 TI 公司的 ADS5422, 14

4、位采樣,最高采樣頻率為 62MHz;PC機(jī)接口采用 USB2.0,理 論最大數(shù)據(jù)傳輸速率為 480Mbps,器件選用 Cypress 公司 EZ-USB FX2系列中的 CY7C68013;數(shù)據(jù)緩沖采用 IDT 公司的高速大容量 FIFO 器件 IDT72V2113;程序存儲(chǔ)在 Flash 存儲(chǔ)器中,器件選用 SST291E010。下面逐一介紹各個(gè)器件的主要特性。1)TMS320C6203BTMS320C6203B是美國(guó) TI 公司高性能數(shù)字信號(hào)處理器 TMS320C6000系列的一種,采 用修正的哈佛總線結(jié)構(gòu),共有 1 套 256 位的程序總線、兩套 32 位的程序總線和 1套 32 位的

5、DMA專用總線;內(nèi)部有 8 個(gè)功能單元可以并行操作,工作頻率最大為300MHz,最大處理能力為 2400MIPS;內(nèi)部集成了外圍設(shè)備接口,如外部存儲(chǔ)器接口(EMIF)、外部擴(kuò)展總線( XB)、多通道緩沖串口( McBSPs)和主機(jī)接口( HPI),與外部存儲(chǔ)器、協(xié)處理 器、主機(jī)以及串行設(shè)備的連接非常方便。2)ADS5422ADS5422是由美國(guó) TI 公司生產(chǎn)的高速并行 14 位模數(shù)轉(zhuǎn)換器,其最高采樣頻率達(dá)到 62MHz,采樣頻率為 100MHz時(shí), SNR為 72dB, SFDR為 85dB。模擬信號(hào)輸入可以是單端輸 入方式或者差分輸入方式,最高輸入信號(hào)峰峰值為4V,單一 5V 電源供電。輸

6、出數(shù)字信號(hào) 完全兼容 3.3V 器件,并且提供輸入信號(hào)滿量程標(biāo)志以及輸出數(shù)字信號(hào)有效標(biāo)志,從而方 便和其它器件的連接。(3)IDT72V2113IDT72V2113是由美國(guó) IDT 公司生產(chǎn)的高速大容量先進(jìn)先出存儲(chǔ)器件(FIFO)。其最高工作頻率為 133MHz;容量為 512KB,可以通過(guò)引腳方便地將容量設(shè)置成512K9bit 或者 256K18bit 兩種方式; IDT72V2113 可以設(shè)置標(biāo)準(zhǔn)工作模式或者 FWFT( First Word Fall Through )工作模式,并提供全滿、半滿、全空、將滿以及將空等五種標(biāo)志信號(hào); 非常方便進(jìn)行容量擴(kuò)展。容量擴(kuò)展是 IDT72V2113

7、的一大特點(diǎn),擴(kuò)展方式可分為字長(zhǎng)擴(kuò)展 和字深擴(kuò)展。通過(guò)容易擴(kuò)展可以由多片 IDT72V2113 形式更大容量的緩沖,并且電路連接 簡(jiǎn)單、可靠。(4)CY7C68013CY7C68013是美國(guó) Cypress 公司推出的 USB2.0 芯片,是一個(gè)全面集成的解決方案, 它占用更少的電路板空間,并縮短開(kāi)發(fā)時(shí)間。CY7C68013主要結(jié)構(gòu)如下:包括 1 個(gè) 8051處理器、 1個(gè)智能串行接口引擎( SIE)、 1個(gè) USB收發(fā)器、 16KB片上 RAM(其中包括 4KB FIFO)存儲(chǔ)器以主 1 個(gè)通用可編程接口( GPIF)。圖3CY7C68013獨(dú)特的架構(gòu)具有如下特點(diǎn): 包括 1 個(gè)智能串行的接口

8、引擎( SIE ),它執(zhí)行所有基本的 USB功能,將嵌入的 MCU解放出來(lái)以用于實(shí)現(xiàn)其它豐富的功能,以保證持續(xù)高速有效的數(shù)據(jù)傳輸; 具有 4KB的大容量 FIFO 用于數(shù)據(jù)緩沖,當(dāng)作為從設(shè)備時(shí),可采用 Synchronous/Asynchronous FIFO 接口與主設(shè)備(如 ASIC, DSP等)連接;當(dāng)作為主設(shè)備 時(shí),可通過(guò)通用可編程接口( GPIF)形式任意 的控制波形來(lái)實(shí)現(xiàn)與其它從設(shè)備連接,能 夠輕易地兼容絕大多數(shù)總線標(biāo)準(zhǔn),包括ATA、 UTOPIA、EPP和 PCMCIA等; 固件軟配置,可將需要在 CY7C68013上運(yùn)行的固件,存放在主機(jī)上,當(dāng) USB設(shè)備 連上主機(jī)后,下載到設(shè)

9、備上,這樣就實(shí)現(xiàn)了在不改動(dòng)硬件的情況下很方便地修改固件; 能夠充分實(shí)現(xiàn) USB2.0(2000 版) 協(xié)議,并向下兼容 USB1.1。2 高速數(shù)據(jù)采集處理系統(tǒng)的硬件連接21 模擬信號(hào)輸入電路ADS5422的模擬信號(hào)輸入可以采取單端輸入方式或者差分輸入方式。單端輸入方式 連接比較簡(jiǎn)單,但抗噪性能差,所以我們采取差分輸入方式,以盡量減少信號(hào)噪聲以及 電磁的干擾,尤其是采用差分輸入方式可以將所有偶次諧波通過(guò)正反反個(gè)輸入信號(hào)基本 上互相抵消。ADS5422的模擬信號(hào)差分輸入方式需要同時(shí)使用IN 和 IN 引腳,其硬件連接方法如圖 2 所示。圖中,首先使用放大器 OPA687以及 RF 變壓器將單端信號(hào)

10、轉(zhuǎn)換成差分信號(hào), 然后輸入到 ADS5422,其中 ADS5422的公共端 CM和 RF變壓器的公共端連接, RF變壓器 的匝數(shù)比應(yīng)該根據(jù)信號(hào)確定。為了增強(qiáng)信號(hào)的穩(wěn)定性,在ADS5422每個(gè)信號(hào)的輸入前加上 RC低通濾波電路,圖 2 中推薦 Rt 為 50 , Rin 為 22 , Cin 為 10pF,這些元件也可 以根據(jù)具體的信號(hào)進(jìn)行調(diào)整,一般情況下電阻值在10 100 之間,電容值在 10200pF之間。圖4page_break 22 ADS5422與 IDT72V2113的連接雖然 ADS5422的供電電壓為 5V,但其輸出的數(shù)字信號(hào)電平兼容 3.3V 電平,因此不 需要電平轉(zhuǎn)換芯片,

11、只要將 ADS5422的數(shù)據(jù)線與 IDT72V2113 的數(shù)據(jù)線相連即可。但是, ADS5422采樣和存儲(chǔ)采樣數(shù)據(jù)到 IDT72V3113 中,這兩個(gè)操作對(duì)時(shí)序配置要求非常嚴(yán)格, 如果兩者時(shí)序關(guān)系配合得不是很好,就會(huì)發(fā)生數(shù)據(jù)存儲(chǔ)出錯(cuò)或者掉數(shù)。如何簡(jiǎn)單、可靠 地實(shí)現(xiàn)采樣和存儲(chǔ)是設(shè)計(jì)這部分電路的難點(diǎn)。一般的方法是,通過(guò)可編程邏輯器件 (CPLD或 FPGA)來(lái)實(shí)現(xiàn) ADC與 FIFO存儲(chǔ)器之間的時(shí)序,即由 CPLD或 FPGA來(lái)控制 ADC 采樣和 FIFO 存儲(chǔ)器的寫操作。但是,通過(guò)仔細(xì)查看ADS5422和 IDT72V2113 的工作時(shí)序圖,找到了一種簡(jiǎn)單可靠的實(shí)現(xiàn)方法,此方法不需要CPLD或

12、 FPGA就可以實(shí)現(xiàn)兩者的時(shí)序配合。首先分析 ADS5422的工作時(shí)序圖,如圖 3 所示,其中 t1 為采樣時(shí)鐘上跳沿到輸出數(shù) 據(jù)無(wú)效之間的時(shí)間間隔,即數(shù)據(jù)保持時(shí)間,其大小為3ns 。查看 IDT72V2113 的相關(guān)文檔可知,對(duì)其進(jìn)行寫操作時(shí),數(shù)據(jù)線的保持時(shí)間大于 1ns 即可滿足要求。因此, ADS5422與 IDT72V2113 之間的時(shí)序配合可以采用以下簡(jiǎn)單的實(shí)現(xiàn)方法:ADS5422的采樣時(shí)鐘和IDT72V2113 的寫時(shí)鐘采用同一個(gè)時(shí)鐘源,這樣,每一個(gè)時(shí)鐘的上跳沿,ADS5422進(jìn)行模數(shù)轉(zhuǎn)換,同時(shí)將上個(gè)時(shí)鐘周期內(nèi)輸出的采樣數(shù)據(jù)存儲(chǔ)到DT72V2113內(nèi)部。23 C6203B 與 ID

13、T72V2113 的連接C6203B與 IDT72V2113 的連接是通過(guò) C6203B外部擴(kuò)展總線( XB)。 C6203B的外部擴(kuò) 展總線( XB)寬度為 32 位,可以實(shí)現(xiàn)與同步 FIFO無(wú)縫連接,可以同時(shí)無(wú)縫實(shí)現(xiàn)四個(gè) FIFO寫接口或者實(shí)現(xiàn) 3個(gè) FIFO寫接口及 1個(gè) FIFO讀接口。通過(guò)無(wú)縫連接實(shí)現(xiàn) FIFO讀接 口, FIFO 必須連接到 XCE3上,數(shù)據(jù)通過(guò) DMA方式從 IDT72V2113 傳送到 C6203B 的片內(nèi) RAM中,具體連接如圖 4所示。圖 4中,4片 IDT72V2113經(jīng)過(guò)字長(zhǎng)和字深擴(kuò)展形成 2MB 的數(shù)據(jù)輸入緩沖,輸入數(shù)據(jù)總線( D0D15)、輸出數(shù)據(jù)總

14、線( Q0 Q15)、讀使能 ( REN)、讀時(shí)鐘( RCLK)、寫使能( WEN)、寫時(shí)鐘( WCLK)和將空標(biāo)志信號(hào)( PAE)是 由 4 片 IDT72V2113 的相應(yīng)信號(hào)組合形成的; XCE3為外部擴(kuò)展總線( XB)的空間選擇信 號(hào), XFCLK為外部擴(kuò)展總線( XB)的輸出時(shí)鐘, EXT_INT4是 C6203B的外部中斷信號(hào) 4, DX0用作通用輸出口,控制 IDT72V2113 的寫使能信號(hào)。2.4 CY7C68013 與 C6203B的連接CY7C68013是一個(gè)非常方便的 USB2.0 實(shí)現(xiàn)方案,它提供與 DSP或者 MCU連接的接 口,連接方法有兩種: Slave FIF

15、Os 和 Master 可編程接口 GPIF。在本方案中,選用了 Slave FIFOs 方式,異步讀寫。 Slave FIFOs 方式是從機(jī)方式, DSP可以像讀寫普通 FIFO 一樣對(duì) CY7C68013內(nèi)部的多層緩沖 FIFO 進(jìn)行讀寫。具體的電路連接如圖5 所示。FLAGA、 FLAGB和 FLAGC是 CY7C68013內(nèi)部 FIFO 的狀態(tài)標(biāo)志, C6203B通過(guò)通用 I/O 口來(lái) 獲得 FIFO 的空、半滿(由用戶設(shè)定半滿的閾值)和滿等狀態(tài)信息。C6203B對(duì) CY7C68013內(nèi)部 FIFO 的選擇,以及數(shù)據(jù)包的提交也是通過(guò)通用 I/O 口來(lái)實(shí)現(xiàn)。 C6203B通過(guò) EMIF

16、接 口的 CE2空間對(duì) CY7C68013進(jìn)行讀寫操作。工作過(guò)程為: DSP通過(guò) USB向 PC 發(fā)送數(shù)據(jù) 時(shí),首先查看空、半滿和滿這三個(gè)狀態(tài)信號(hào),然后向USB寫入適當(dāng)大小的數(shù)據(jù),以保證數(shù)據(jù)不會(huì)溢出; PC機(jī)通過(guò) USB向 DSP發(fā)送命令字時(shí), USB通過(guò)中斷方式通知 DSP讀取命 令字。3 USB 軟件設(shè)計(jì)USB接口開(kāi)發(fā)中有相當(dāng)大的工作量是關(guān)于USB軟件的開(kāi)發(fā), USB軟件包括三方面的工作:固件( firmware )設(shè)計(jì),驅(qū)動(dòng)程序設(shè)計(jì)和主機(jī)端應(yīng)用程序的設(shè)計(jì)。31 固件設(shè)計(jì)固件是運(yùn)行在 CY7C68013上的程序,可采用匯編語(yǔ)言或 C 語(yǔ)言設(shè)計(jì),其主要功能是 控制 CY7C68013接收并處

17、理 USB驅(qū)動(dòng)程序的請(qǐng)求(如請(qǐng)求設(shè)備描述符、請(qǐng)求或設(shè)置設(shè)備 狀態(tài),請(qǐng)求或設(shè)置設(shè)備接口等 USB2.0 標(biāo)準(zhǔn)請(qǐng)求)、控制 CY7C68013接收應(yīng)用程序的控制 指令、通過(guò) CY7C68013存放數(shù)據(jù)并實(shí)時(shí)上傳至 PC等。本方案中的固件設(shè)計(jì)思路如下: 使 CY7C68013工作于異步從 FIFO(Asynchronous Slave FIFO )模式。相應(yīng)的寄 存器操作為: IFCONFIG=0xCB。CY7C68013具有多種工作方式,除了可以作為能夠產(chǎn)生任意控制波形的主控芯片 外,即使作為從設(shè)備,也可選擇異步還是同步方式。由于DSP的關(guān)系,本方案選擇異步從方式。 將 4KB 的 FIFO 對(duì)應(yīng)

18、兩個(gè)端點(diǎn)( EndPoint ),即 EndPoint2 和 EndPoint6 。相應(yīng)的 寄存器操作為: EP2CFG=0xA0,EP6CFG=0xF。2EndPoint2 與 EndPoint6 分別對(duì)應(yīng) 2KB 的內(nèi)裝中 FIFO(下文分別稱為 FIFO2、 FIFO6),存放 USB需要上傳與接收的數(shù)據(jù)。其中 EndPoint2 為 OUT型,負(fù)責(zé)從主機(jī)接收 數(shù)據(jù); EndPoint6 為 IN 型,負(fù)責(zé)向主機(jī)發(fā)送數(shù)據(jù)。另外, EndPoint2 與 EndPoint6 均采 用批量( BULK)傳輸方式,這種方式相對(duì)于其它USB2.0 定義的傳輸方式具有數(shù)據(jù)可靠、傳輸速率高等特點(diǎn),是

19、最常用的傳輸方式。 對(duì) FIFO 進(jìn)行配置。相應(yīng)的寄存器操作為: EP2FIFOCFG=0x1,1 EP6FIFOCFG=0x0。D 本方案將 FIFO2、FIFO6 設(shè)置成自動(dòng)方式。這里所謂“自動(dòng)”,是指在數(shù)據(jù)的傳輸過(guò) 程中,不需要 CY7C68013的 8051 內(nèi)核參與。如有特殊需要可以設(shè)成手動(dòng)方式,這樣8051就可以對(duì)數(shù)據(jù)進(jìn)行修改,如圖 6所示。另外還將 FIFO配置成 16 位接口。 其它操作。為了完善整個(gè) USB傳輸功能,提高固件的健壯性,還必須配以其它設(shè) 計(jì),這包括 FIFO 的自動(dòng)清空復(fù)位,個(gè)性化命令等功能,在此就不進(jìn)行詳細(xì)討論了。32 驅(qū)動(dòng)程序設(shè)計(jì)USB系統(tǒng)驅(qū)動(dòng)程序采用分層結(jié)

20、構(gòu)模型,分別為較高級(jí)的USB設(shè)備驅(qū)動(dòng)程序和較低級(jí)的 USB函數(shù)層。其中 USB函數(shù)層由兩部分組成:較高級(jí)的通用串行總線驅(qū)動(dòng)程序模塊 ( USBD)和較低級(jí)的主控制器驅(qū)動(dòng)程序模塊(HCD)。在上述 USB分層模塊中, USB函數(shù)層( USBD及HCD)由 Windows提供,負(fù)責(zé)管理 USB設(shè)備驅(qū)動(dòng)程序和 USB控制器之間的通 信;加載及卸載 USB驅(qū)動(dòng)程序;與 USB設(shè)備通用端點(diǎn)( EndPoint )建立通信并執(zhí)行設(shè)備 配置、數(shù)據(jù)與 USB協(xié)議框架和打包格式的雙向轉(zhuǎn)換任務(wù)。目前Windows 提供有多種 USB設(shè)備驅(qū)動(dòng)程序,但并不針對(duì)實(shí)時(shí)數(shù)據(jù)采集設(shè)備,因此USB設(shè)備驅(qū)動(dòng)程序需由開(kāi)發(fā)者自己編寫

21、。開(kāi)發(fā) USB設(shè)備驅(qū)動(dòng)程序,可采用 Numega公司的開(kāi)發(fā)包 Driver Works 和 Microsoft 公司的 2000DDK,并以 VC+6.0作為輔助開(kāi)發(fā)環(huán)境。 Driver Works 提供的驅(qū)動(dòng)向?qū)В?根據(jù)用戶的需要,自動(dòng)生成代碼框架,減少了開(kāi)發(fā)的難度,縮短了開(kāi)發(fā)的周期。但是, Cypress 公司為了方便用戶開(kāi)發(fā) USB接口,在 CY7C68013的開(kāi)發(fā)包中提供了一個(gè)通用驅(qū)動(dòng) 程序,該程序可不加修改,經(jīng) DDK編譯后直接使用。在本設(shè)計(jì)方案中,采用的就是這個(gè) 通用驅(qū)動(dòng)程序。33 應(yīng)用程序設(shè)計(jì)主機(jī)應(yīng)用程序是主要實(shí)現(xiàn)從高速數(shù)據(jù)采集處理板該取處理后的數(shù)據(jù)、存儲(chǔ)、顯示處 理結(jié)構(gòu)以及向數(shù)據(jù)采集處理板發(fā)送控制命令。在Windows 2000 下,我們使用的應(yīng)用程序開(kāi)發(fā)工具是 VC+6.0。4 系統(tǒng)工作原理上電后, ADS5422一直工作,采樣產(chǎn)生的數(shù)據(jù)是否存儲(chǔ)到I

溫馨提示

  • 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)論