新聞中心

EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計應(yīng)用 > 基于USB通信的FPGA高速數(shù)據(jù)采集系統(tǒng)

基于USB通信的FPGA高速數(shù)據(jù)采集系統(tǒng)

作者: 時間:2011-06-29 來源:網(wǎng)絡(luò) 收藏

1.3 器件
接口使用方便,連接簡單,但是協(xié)議很復(fù)雜。因此,外設(shè)必須使用控制器芯片,管理數(shù)據(jù)USB控制器采用集成了8051單片機(jī)的CY7C68013A控制器芯片,該芯片遵從USB 2.0規(guī)范,有較快的傳輸速度,是目前比較通用的一種USB控制芯片。
CY7C68013A是Cypress公司EZ-USB FX2LP系列芯片中比較經(jīng)典的一款USB控制器,其內(nèi)部結(jié)構(gòu)如圖2所示。其中,主要包括USB 2.0收發(fā)器、串行引擎(SIE)、增強(qiáng)型8051內(nèi)核、16 KB的RAM、4 KB的FIFO存儲器、I/O接口、數(shù)據(jù)總線、地址總線和通用可編程接口(GPIF)。

本文引用地址:http://butianyuan.cn/article/156123.htm

c.jpg


EZ-USB FX2LP擁有非常獨(dú)特的結(jié)構(gòu),其串行接口引擎(SIE)負(fù)責(zé)完成串行數(shù)據(jù)的解碼、差錯控制、位填充等與USB有關(guān)的功能。串行接口引擎(SIE)能夠?qū)崿F(xiàn)大部分的功能,從而減輕了嵌入式增強(qiáng)型8051的負(fù)擔(dān),簡化了USB固件程序的開發(fā)。

2 軟硬件實(shí)現(xiàn)
2.1 A/D轉(zhuǎn)換
通過PINFET光電轉(zhuǎn)換為單端模擬信號,而A/D轉(zhuǎn)換器AD7356是差分輸入方式,所以需要對輸入方式進(jìn)行轉(zhuǎn)換。AD7356說明書中給出了詳細(xì)的轉(zhuǎn)換電路,按說明連接即可。由于AD7356供電電源為2.5 V,所以和之間的連接需要調(diào)整AD7356的信號電平,使得輸出電平與的3.3 V電平兼容。在電路設(shè)計時,可以通過將AD7356的Vdriver引腳連接到3.3 V,這樣使得輸出信號電平為3.3 V。
采用的AD7356采樣頻率由輸入時鐘信號決定,而采樣通過使能引腳CS控制。在設(shè)定好采樣頻率后,A/D轉(zhuǎn)換程序主要依靠對CS信號控制,并對輸入得兩路信號串并轉(zhuǎn)換即可。
2.2 數(shù)據(jù)緩存
數(shù)據(jù)緩存主要是利用內(nèi)自帶的塊RAM對多路信號進(jìn)行排序、存儲,然后按USB數(shù)據(jù)包大小打包傳輸,因此對于硬件(FPGA)不再多做介紹。
數(shù)據(jù)緩存的軟件實(shí)現(xiàn)主要依靠FPGA內(nèi)的雙口RAM IP核。雙口RAM由于有2個單獨(dú)的數(shù)據(jù)輸入和輸出口,所以可以調(diào)節(jié)輸入輸出端口的速度,使得數(shù)據(jù)讀取與輸入速度可以方便的控制。另外,由于本系統(tǒng)有多路光信號,所以FPGA內(nèi)還需要對各個雙口RAM的讀取進(jìn)行控制,對各路信號讀取順序進(jìn)行,其軟件結(jié)構(gòu)圖如圖3所示。每路A/D都有兩個RAM輪流存儲采集數(shù)據(jù),一方面避免RAM出現(xiàn)數(shù)據(jù)溢出,保證數(shù)據(jù)不丟失;另一方面可以通過將RAM大小設(shè)定與USB數(shù)據(jù)包大小一致,使USB傳輸?shù)目刂坪唵巍?/p>

d.jpg



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉