基于SOPC的高速數(shù)據(jù)采集系統(tǒng)的分析與設(shè)計
傳統(tǒng)數(shù)據(jù)采集卡多采用PCI或ISA總線接口,這種方式安裝麻煩、價格昂貴,且受計算機插槽數(shù)量、地址、中斷資源限制,有擴展性差等缺點。而USB通用串行總線則具有安裝方便、高帶寬、易擴展等優(yōu)點,其中USB2.0標準具有480Mbps的最高數(shù)據(jù)傳輸率,這使USB成為本系統(tǒng)所選接口的主要類型??刂品矫妫瑐鹘y(tǒng)數(shù)據(jù)采集通常使用單片機或DSP作CPU來進行控制和數(shù)據(jù)處理。其中單片機的時鐘頻率低,無法適應高速數(shù)據(jù)采集;DSP雖能滿足速度要求,但在速度提高的同時,也提高了成本。而用FPGA實現(xiàn)的SOPC則具有時鐘頻率高、內(nèi)部延時小和配置靈活等優(yōu)勢。數(shù)據(jù)顯示方面,采用虛擬儀器不但可按要求設(shè)計且變換靈活,還能執(zhí)行傳統(tǒng)儀器無法實現(xiàn)的許多功能。為此,本系統(tǒng)使用FPGA實現(xiàn)SOPC數(shù)據(jù)采集系統(tǒng),并利用Labview實現(xiàn)系統(tǒng)的顯示與控制。
1數(shù)據(jù)采集系統(tǒng)總體設(shè)計
基于SOPC的高速數(shù)據(jù)采集系統(tǒng)總體框圖如圖1所示。圖中,ADC(Analog t0 Digital Converter)模數(shù)轉(zhuǎn)換器采用的是8位高速模數(shù)轉(zhuǎn)換器TLV5580。調(diào)理電路用于實現(xiàn)對輸入信號的限幅、限壓、濾波,并用增加輸入阻抗的措施來獲取預期有效信號,同時保護后端AD轉(zhuǎn)換芯片。FPGA采用ALTERA公司的EPIC6Q240芯片來實現(xiàn)ADC控制及FIFO數(shù)據(jù)緩存;基于FPGA芯片的控制系統(tǒng)可直接用邏輯實現(xiàn),也可在其基礎(chǔ)上實現(xiàn)SOPC對數(shù)據(jù)的采集、傳輸?shù)目刂?。USB采用CYPRESS公司可支持USB2.0協(xié)議的高速芯片CY7C68013。FPGA可控制TLV5580的連續(xù)采樣,并將數(shù)據(jù)送到FIFO數(shù)據(jù)緩存。當采集到一定量的數(shù)據(jù)后,CY7C68013便采用slave fifo方式將數(shù)據(jù)送給PC端,并由PC端軟件Labview實現(xiàn)的虛擬儀器進行顯示和控制等處理。
2數(shù)據(jù)采集系統(tǒng)硬件設(shè)計
2.1 模數(shù)轉(zhuǎn)換器TLV5580及其控制
TLV5580是一款高速8位模擬/數(shù)字轉(zhuǎn)換器,它具有80 Msps采樣速率,是一款3.3 V工作電壓的低功耗6級流水線結(jié)構(gòu)高速A/D芯片。它的采樣信號每1個時鐘周期可通過一個STAGE,完成連續(xù)轉(zhuǎn)換到數(shù)據(jù)輸出共需6個時鐘周期。此流水線結(jié)構(gòu)由6個ADC/DAC級和一個終極快閃ADC構(gòu)成。采用A/D-D/A兩次變化以及糾錯邏輯的目的在于進行差錯校正,以保證流水線上各個階段在滿操作溫度范圍下,ADC的偏移量能夠得到補償且不丟失代碼。TLV5580的時序圖如圖2所示??梢钥闯觯揂/D轉(zhuǎn)換器時序簡單,容易控制。當輸出使能(OE)為低電平時,一旦數(shù)據(jù)流水線滿,其數(shù)據(jù)將在每一個時鐘周期的上升沿輸出。
2.2 USB芯片CY7C68013(FX2)
為了滿足對USB傳輸速度較高的需要,本設(shè)計選擇了Cypress公司內(nèi)置USB接口的微控制器芯片EZUSBFX2。FX2系列芯片獨特的結(jié)構(gòu)使其數(shù)據(jù)傳輸速度最高可達56Mbps,故可最大限度地滿足USB2.0的帶寬。此外,CY7C68013提供有一個串行接口引擎(SIE),可負責大部分USB2.0協(xié)議的處理工作,從而大大減輕USB協(xié)議處理的工作量,并可提供4KB的FIFO,以保證數(shù)據(jù)高速傳輸?shù)男枰Y7C68013可配置成三種不同的接口模式:Ports、GPIF Master和Slave FIFO。本項目采用Slave FIFO模式。在該模式下,外部邏輯或外部處理器直接連接到FX2的端點FIFO,因為外部邏輯可以直接控制FIFO,所以,F(xiàn)IFO的基本控制信號(標志、片選、使能)均由FX2的引腳引出。其外部控制可以是同步,也可以是異步,可以使用內(nèi)部時鐘,也可以使用外部時鐘。
2.3 FPGA器件EPIC60240C6
FPGA (Field Programmable Gate Array)即現(xiàn)場可編程門陣列。本設(shè)計選用的是ALTERA公司的EPIC60240芯片,該芯片的工作電壓為1.5 V,存儲器密度可達5980個邏輯單元,它包含20個128x36位RAM塊,總的RAM空間達92160位,此外還內(nèi)嵌了2個鎖相環(huán)電路和一個用于連接SDRAM的特定雙數(shù)據(jù)率接口,故可支持多種不同的I/O標準。事實上,這里的FPGA除了可以直接編程以進行邏輯控制外,也可在此基礎(chǔ)上構(gòu)建SOPC系統(tǒng),以便使用軟、硬件協(xié)同方法,與SDRAM構(gòu)成一個大容量的FIFO來對SDRAM以及MD轉(zhuǎn)換器進行控制,同時完成與USB器件的協(xié)同工作。
2.4 SOPC及其設(shè)計
SOPC (System on a Programmable Chip)即可編程片上系統(tǒng)。它可以由單個芯片完成整個系統(tǒng)的主要邏輯功能;這種可編程系統(tǒng)具有靈活的設(shè)計方式,而且可裁減、可擴充、可升級。本設(shè)計采用ALTERA公司率先推出的SOPC解決方案,來將處理器、存儲、I/O口等系統(tǒng)所需集成到一個FPGA器件上,并對其進行軟、硬件配置,從而實現(xiàn)對數(shù)據(jù)的采集、傳輸、顯示控制。圖3所示是其SOPC系統(tǒng)框圖。
評論