国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于FPGA與USB2.0的實(shí)時(shí)數(shù)據(jù)采集與處理系統(tǒng)

2011-11-27 01:46:08趙樂森王旭柱
關(guān)鍵詞:固件時(shí)鐘芯片

趙樂森,王旭柱

(中國海洋大學(xué) 信息科學(xué)與工程學(xué)院 電子系,山東 青島 266100)

數(shù)據(jù)采集系統(tǒng)正越來越多地應(yīng)用于控制和測試領(lǐng)域,在某些特定的領(lǐng)域,數(shù)據(jù)采集系統(tǒng)所起的作用也越來越大[1]。傳統(tǒng)的數(shù)據(jù)采集方法通常采用DSP作為核心芯片,DSP雖然運(yùn)行速度快,但是不能完成外圍的硬件邏輯控制。FPGA時(shí)鐘頻率相對較高且延時(shí)小,F(xiàn)PGA采用IP內(nèi)核技術(shù),可以集成外圍控制和接口電路[2]。本文根據(jù)項(xiàng)目需要,設(shè)計(jì)了一種基于FPGA的雙通道、最大采樣率為5 Mb/s的通用數(shù)據(jù)采集與實(shí)時(shí)處理系統(tǒng)。

1 系統(tǒng)方案設(shè)計(jì)

數(shù)據(jù)采集和處理系統(tǒng)主要由信號調(diào)理電路、A/D轉(zhuǎn)換器、FPGA和USB四部分組成,如圖1所示。

信號調(diào)理電路的作用是對所采集的模擬信號進(jìn)行放大、濾波,將單路信號轉(zhuǎn)變?yōu)椴罘中盘?,?qū)動A/D轉(zhuǎn)換器的正常工作。本文選用TI公司的全差動運(yùn)算放大器THS4503,它是模數(shù)轉(zhuǎn)換器ADS1605的數(shù)據(jù)手冊中推薦的運(yùn)算放大器[3]。

A/D轉(zhuǎn)換器在FPGA內(nèi)的控制模塊控制下,將所采集的模擬信號轉(zhuǎn)換為16 bit的數(shù)字信號,傳入FPGA中進(jìn)行處理。本系統(tǒng)所采用的模數(shù)轉(zhuǎn)換器為TI公司的ADS1605。

圖1 實(shí)時(shí)數(shù)據(jù)采集與處理系統(tǒng)框圖

FPGA芯片采用的是Xilinx公司的Spartan 3E系列中的XC3S1200E。FPGA為本系統(tǒng)的核心部分,控制A/D轉(zhuǎn)換器的數(shù)據(jù)轉(zhuǎn)換,并將A/D轉(zhuǎn)換來的數(shù)據(jù)進(jìn)行FFT處理。同時(shí),F(xiàn)PGA的USB接口控制邏輯查詢CY7C68013是否空閑,控制USB將處理完的數(shù)據(jù)傳遞給主機(jī),并在PC機(jī)中顯示出來,實(shí)現(xiàn)數(shù)據(jù)的可視化顯示和人機(jī)接口的互動。

CY7C68013是Cypress公司推出的EZ-USB FX2系列的USB接口芯片,其作用是在FPGA的接口控制邏輯下,把處理完的數(shù)據(jù)傳遞給主機(jī)。

本系統(tǒng)的工作原理為:該系統(tǒng)可以完成兩路中頻信號的采樣處理,單路信號經(jīng)過THS4503后轉(zhuǎn)變?yōu)椴罘中盘?,輸入到模?shù)轉(zhuǎn)換器中,F(xiàn)PGA中的A/D控制模塊向ADS1605發(fā)送采樣控制指令,A/D轉(zhuǎn)換器在控制模塊控制下進(jìn)行數(shù)據(jù)采集,將模擬信號轉(zhuǎn)換成16 bit的數(shù)據(jù)信號,并依次選通兩片A/D通道,實(shí)現(xiàn)由A/D轉(zhuǎn)換器到FPGA的雙通道數(shù)據(jù)傳輸。當(dāng)采集的數(shù)據(jù)達(dá)到處理?xiàng)l件后,相應(yīng)的數(shù)據(jù)在FPGA中進(jìn)行FFT計(jì)算。計(jì)算完成后,將處理過的數(shù)據(jù)在FPGA的USB接口控制邏輯下,經(jīng)過USB接口傳遞給主機(jī),當(dāng)數(shù)據(jù)傳遞完成后,再進(jìn)行下一次的數(shù)據(jù)采集和處理。

2 系統(tǒng)硬件設(shè)計(jì)

2.1 信號調(diào)理電路

A/D轉(zhuǎn)換器的前端需要運(yùn)放來驅(qū)動,本設(shè)計(jì)中的信號調(diào)理電路采用TI公司的全差動運(yùn)算放大器THS4503。經(jīng)過信號調(diào)理電路后,單路信號轉(zhuǎn)變?yōu)椴罘中盘?,輸入到A/D轉(zhuǎn)換器中。

全差動放大器的特點(diǎn)為:具有高分辨率、高精度以及出色的動態(tài)范圍。THS4503就是一種高精度的全差動運(yùn)放,選擇它作為ADC的緩沖器可以簡化方案的設(shè)計(jì)[4]。

2.2 A/D轉(zhuǎn)換電路

A/D轉(zhuǎn)換電路是系統(tǒng)的重要組成部分,其與FPGA的連接如圖2所示。

圖2 ADS1605與FPGA的接口框圖

ADS1605是TI生產(chǎn)的一款高采樣率、高精度、易使用的16 bit ΔΣ模數(shù)轉(zhuǎn)換器,ADS1605的工作電源為+5 V的模擬電源和+3 V的數(shù)字電源,獨(dú)立的數(shù)字I/O電源設(shè)計(jì)使芯片可靈活與其他邏輯芯片接口[3]。ADS1605需要外接時(shí)鐘源進(jìn)行工作。本系統(tǒng)外接頻率為50 MHz的晶振時(shí)鐘源,經(jīng)過FPGA分頻后,為ADS1605提供正常工作所需的頻率。

ADS1605在FPGA的控制模塊下正常工作。ADS1605的控制模塊對ADS1605的控制進(jìn)程為:

(1)狀 態(tài) 0:CS、RD 置 1,RESET 置 0, 初 始 化ADS1605,進(jìn)入狀態(tài) 1。

(2)狀態(tài) 1:CS 置 0,RD 置 1,RESET 置 1,開始數(shù) 據(jù)轉(zhuǎn)換,進(jìn)入狀態(tài)2。

(3)狀 態(tài) 2:CS 置 0,RD 置 1,RESET 置 1, 檢 測DRDY的狀態(tài),若下降沿來臨,進(jìn)入狀態(tài)3;否則,繼續(xù)等待DRDY下降沿的到來。

(4)狀態(tài) 3:CS 置 0,RD[0]置 0,RESET 置 1,輸出一通道轉(zhuǎn)換好的數(shù)據(jù),進(jìn)入狀態(tài)4。

(5)狀態(tài) 4:CS 置 0,RD[1]置 0,RESET 置 1,輸出兩通道轉(zhuǎn)換好的數(shù)據(jù),進(jìn)入初始狀態(tài)。

2.3 FPGA的設(shè)計(jì)

本系統(tǒng)采用的是Xilinx公司的Spartan 3E系列的XC3S1200E芯片,它更好地利用了90 nm工藝,擁有的系統(tǒng)門數(shù)達(dá)到120萬,28個(gè)乘法器,504 KB的塊 RAM,136 KB的分布式RAM,8個(gè)數(shù)字時(shí)鐘管理模塊,最大可用管腳可達(dá)304個(gè),它性價(jià)比也較高[2]。

XC3S1200E是基于SRAM工藝的查找表結(jié)構(gòu),它不具備非易失特性,因此斷電后將丟失內(nèi)部邏輯配置。在每次上電后,都需要從外部非易失存儲器 (如PROM、Flash存儲器等)中導(dǎo)入配置比特流。本系統(tǒng)選用的是XC F04S芯片,這是FPGA數(shù)據(jù)手冊上提供的配置芯片[5]。

FPGA是本系統(tǒng)的核心部分,構(gòu)成了數(shù)據(jù)采集系統(tǒng)和數(shù)據(jù)傳輸系統(tǒng)的“橋梁”,完成了對 ADS的控制,并對采集到的數(shù)據(jù)進(jìn)行存儲和處理,同時(shí)也完成了對CY7C68013的控制。使用FPGA使電路得到了簡化,不需要額外的分立器件來存儲數(shù)據(jù)。在FPGA內(nèi)部構(gòu)成了以下幾個(gè)模塊。

FIFO數(shù)據(jù)存儲模塊主要用來存儲A/D轉(zhuǎn)換的數(shù)據(jù)。由于需要同時(shí)采集兩路信號(一路熒光信號,一路多普勒信號),因此需要兩個(gè)FIFO模塊,這樣易于對數(shù)據(jù)的存儲和控制。

(2)數(shù)據(jù)處理模塊

本系統(tǒng)需要把采集到的數(shù)據(jù)進(jìn)行處理,所以數(shù)據(jù)處理模塊是很重要的組成部分。

在數(shù)據(jù)處理模塊中,首先將一路通道采集到的熒光信號數(shù)據(jù)進(jìn)行32個(gè)數(shù)據(jù)的求平均操作,以預(yù)觸發(fā)兩個(gè)通道的信號,然后再對一路通道的數(shù)據(jù)進(jìn)行最大值和最小值計(jì)算,通過這兩個(gè)數(shù)據(jù)求出熒光信號的寬度。對另一通道中的多普勒信號進(jìn)行FFT計(jì)算。通過兩通道得到的數(shù)據(jù)計(jì)算出所求粒子的直徑。

(3)控制模塊

控制模塊主要完成對ADS1605、FIFO存儲模塊和CY7C68013的控制,這是整個(gè)系統(tǒng)的關(guān)鍵。控制模塊將產(chǎn)生控制信號,實(shí)現(xiàn)系統(tǒng)的數(shù)據(jù)采集、處理和傳輸功能。

(4)分頻倍頻模塊

系統(tǒng)提供的FPGA外部時(shí)鐘頻率為50 MHz,經(jīng)過分頻倍頻模塊將外部時(shí)鐘轉(zhuǎn)換成各個(gè)芯片工作所需的頻率。

京津冀協(xié)同發(fā)展戰(zhàn)略是河北省實(shí)現(xiàn)跨越式發(fā)展的歷史機(jī)遇。河北省只有立足現(xiàn)實(shí)、抓住機(jī)遇,才能構(gòu)建起有效的人才支撐體系,為河北省經(jīng)濟(jì)社會發(fā)展服務(wù)。

2.4 USB的設(shè)計(jì)

2.4.1 USB與FPGA的接口設(shè)計(jì)

在USB設(shè)計(jì)中,為了保持較高的傳輸速度,使用不經(jīng)過CPU的SLAVEFIFO控制模式。

接口方式如圖3所示:

圖3 USB與FPGA的接口框圖

本系統(tǒng)選用的芯片是Cypress公司的CY7C68013芯片。該模塊的工作過程為:當(dāng)采集的數(shù)據(jù)在FPGA中處理完后,F(xiàn)PGA根據(jù)SLAVEFIFO的控制時(shí)序產(chǎn)生相應(yīng)的控制信號,將在FPGA中的數(shù)據(jù)傳輸給EZ-IJSB FX2的內(nèi)部端點(diǎn)FIFO,而當(dāng)內(nèi)部端點(diǎn)存儲滿后,F(xiàn)X2自動將數(shù)據(jù)傳輸?shù)絇C機(jī)上[6]。外部控制器FPGA對FX2的控制進(jìn)程如下:

(1)IDLE:空閑狀態(tài),此時(shí)如果寫事件發(fā)生,將轉(zhuǎn)向狀態(tài) 1。

(2)狀態(tài) 1:指向 IN FIFO,觸發(fā) FIFOADR[1:0],轉(zhuǎn)向狀態(tài) 2。

(3)狀態(tài)2:如果 FIFO滿標(biāo)志為假,則轉(zhuǎn)向狀態(tài) 3;否則,保持在狀態(tài)2。

(4)狀態(tài)3:驅(qū)動數(shù)據(jù)到總線上,通過觸發(fā) SLWR來寫數(shù)據(jù)到FIFO,并增加FIFO指針,然后轉(zhuǎn)向狀態(tài)4。

(5)狀態(tài) 4:如果還有數(shù)據(jù)寫,轉(zhuǎn)向狀態(tài) 2,否則,轉(zhuǎn)向IDLE。

2.4.2 USB接口芯片固件程序

固件程序是指運(yùn)行設(shè)備CPU中的程序,只有在運(yùn)行該程序的時(shí)候,外設(shè)才能稱為具有給定功能的外圍設(shè)備。在該系統(tǒng)中,CY7C68013芯片的固件程序的主要功能就是輔助硬件系統(tǒng)工作,完成對設(shè)備的初始化,處理應(yīng)用程序和驅(qū)動程序發(fā)送的各種命令和數(shù)據(jù)交換。

Cypress公司為使用FX2芯片的用戶提供了一個(gè)完整的固件開發(fā)框架,用戶只需要在框架的基礎(chǔ)上提供一個(gè)USB描述符表,添加其他端點(diǎn)接收和發(fā)送數(shù)據(jù)的通信代碼以及控制外圍電路的程序代碼,即可完成固件的開發(fā)。該固件所使用的編程工具是Keil公司的C51編譯器[6]。

本文主要介紹了基于Xilinx公司XC3S1200E FPGA的數(shù)據(jù)采集與實(shí)時(shí)處理系統(tǒng),采用計(jì)算機(jī)的USB接口作為數(shù)據(jù)傳輸接口。本系統(tǒng)利用FPGA內(nèi)部模塊來實(shí)現(xiàn)數(shù)據(jù)處理,采用Verilog生成的狀態(tài)機(jī)來控制各個(gè)模塊的連接,實(shí)現(xiàn)數(shù)據(jù)的采集、轉(zhuǎn)換、處理和傳輸。本文的創(chuàng)新點(diǎn)在于:利用FPGA生成了各個(gè)接口的控制模塊,并利用FPGA內(nèi)部的IP核完成了對數(shù)據(jù)的FFT計(jì)算,簡化了硬件的設(shè)計(jì),使系統(tǒng)變的簡潔。在應(yīng)用中可以根據(jù)任務(wù)的不同改換內(nèi)部的數(shù)據(jù)處理模塊,使系統(tǒng)可以靈活地處理各種數(shù)據(jù)采集處理任務(wù)。

[1]沈蘭蓀.數(shù)據(jù)采集技術(shù)[M].北京:中國科學(xué)技術(shù)大學(xué)出版社,1990.

[2]田耘,徐文波,胡彬.Xilinx ISE design suite 10.x FPGA開發(fā)指南[M].北京:人民郵電出版社,2008.

[3]Texas Instruments.ADS1605 data book.2007.5.

[4]Texas Instruments.THS4503 data book.2004.

[5]Xilinx.Xilinx Spartan-3E FPGA family data sheet,2009.8.

[6]薛園園.USB應(yīng)用開發(fā)技術(shù)大全[M].北京:人民郵電出版社,2007.

猜你喜歡
固件時(shí)鐘芯片
別樣的“時(shí)鐘”
古代的時(shí)鐘
有趣的時(shí)鐘
芯片測試
基于固件的遠(yuǎn)程身份認(rèn)證
時(shí)鐘會開“花”
多通道采樣芯片ADS8556在光伏并網(wǎng)中的應(yīng)用
提取ROM固件中的APP
電腦愛好者(2015年7期)2015-04-09 08:54:02
一種通過USB接口的可靠固件升級技術(shù)
74HC164芯片的應(yīng)用
河南科技(2014年10期)2014-02-27 14:09:18
图木舒克市| 会理县| 全南县| 弋阳县| 海门市| 通江县| 汉寿县| 正定县| 太和县| 察隅县| 关岭| 永新县| 年辖:市辖区| 乌拉特前旗| 湖北省| 彭州市| 浦城县| 开阳县| 贵德县| 贡嘎县| 合山市| 长岛县| 杨浦区| 商洛市| 涟源市| 玉环县| SHOW| 独山县| 余江县| 门头沟区| 义马市| 南涧| 富锦市| 哈巴河县| 长顺县| 元江| 武川县| 金溪县| 砀山县| 繁峙县| 微博|