0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Labview控制FPGA實(shí)現(xiàn)SOPC數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)方案

電子設(shè)計(jì) ? 作者:電子設(shè)計(jì) ? 2018-08-30 09:21 ? 次閱讀

引言

傳統(tǒng)數(shù)據(jù)采集卡多采用PCI或ISA總線接口,這種方式安裝麻煩、價(jià)格昂貴,且受計(jì)算機(jī)插槽數(shù)量、地址、中斷資源限制,有擴(kuò)展性差等缺點(diǎn)。而USB通用串行總線則具有安裝方便、高帶寬、易擴(kuò)展等優(yōu)點(diǎn),其中USB2.0標(biāo)準(zhǔn)具有480Mbps的最高數(shù)據(jù)傳輸率,這使USB成為本系統(tǒng)所選接口的主要類型??刂品矫妫瑐鹘y(tǒng)數(shù)據(jù)采集通常使用單片機(jī)DSPCPU來進(jìn)行控制和數(shù)據(jù)處理。其中單片機(jī)的時(shí)鐘頻率低,無法適應(yīng)高速數(shù)據(jù)采集;DSP雖能滿足速度要求,但在速度提高的同時(shí),也提高了成本。而用FPGA實(shí)現(xiàn)的SOPC則具有時(shí)鐘頻率高、內(nèi)部延時(shí)小和配置靈活等優(yōu)勢。數(shù)據(jù)顯示方面,采用虛擬儀器不但可按要求設(shè)計(jì)且變換靈活,還能執(zhí)行傳統(tǒng)儀器無法實(shí)現(xiàn)的許多功能。為此,本系統(tǒng)使用FPGA實(shí)現(xiàn)SOPC數(shù)據(jù)采集系統(tǒng),并利用Labview實(shí)現(xiàn)系統(tǒng)的顯示與控制。

1數(shù)據(jù)采集系統(tǒng)總體設(shè)計(jì)

基于SOPC的高速數(shù)據(jù)采集系統(tǒng)總體框圖如圖1所示。圖中,ADCAnalog t0 Digital Converter)模數(shù)轉(zhuǎn)換器采用的是8位高速模數(shù)轉(zhuǎn)換器TLV5580。調(diào)理電路用于實(shí)現(xiàn)對輸入信號的限幅、限壓、濾波,并用增加輸入阻抗的措施來獲取預(yù)期有效信號,同時(shí)保護(hù)后端AD轉(zhuǎn)換芯片。FPGA采用ALTERA公司的EPIC6Q240芯片來實(shí)現(xiàn)ADC控制及FIFO數(shù)據(jù)緩存;基于FPGA芯片的控制系統(tǒng)可直接用邏輯實(shí)現(xiàn),也可在其基礎(chǔ)上實(shí)現(xiàn)SOPC對數(shù)據(jù)的采集、傳輸?shù)目刂?。USB采用CYPRESS公司可支持USB2.0協(xié)議的高速芯片CY7C68013。FPGA可控制TLV5580的連續(xù)采樣,并將數(shù)據(jù)送到FIFO數(shù)據(jù)緩存。當(dāng)采集到一定量的數(shù)據(jù)后,CY7C68013便采用slave fifo方式將數(shù)據(jù)送給PC端,并由PC端軟件Labview實(shí)現(xiàn)的虛擬儀器進(jìn)行顯示和控制等處理。

Labview控制FPGA實(shí)現(xiàn)SOPC數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)方案

2數(shù)據(jù)采集系統(tǒng)硬件設(shè)計(jì)

2.1 模數(shù)轉(zhuǎn)換器TLV5580及其控制

TLV5580是一款高速8位模擬/數(shù)字轉(zhuǎn)換器,它具有80 Msps采樣速率,是一款3.3 V工作電壓的低功耗6級流水線結(jié)構(gòu)高速A/D芯片。它的采樣信號每1個(gè)時(shí)鐘周期可通過一個(gè)STAGE,完成連續(xù)轉(zhuǎn)換到數(shù)據(jù)輸出共需6個(gè)時(shí)鐘周期。此流水線結(jié)構(gòu)由6個(gè)ADC/DAC級和一個(gè)終極快閃ADC構(gòu)成。采用A/D-D/A兩次變化以及糾錯邏輯的目的在于進(jìn)行差錯校正,以保證流水線上各個(gè)階段在滿操作溫度范圍下,ADC的偏移量能夠得到補(bǔ)償且不丟失代碼。TLV5580的時(shí)序圖如圖2所示??梢钥闯?,該A/D轉(zhuǎn)換器時(shí)序簡單,容易控制。當(dāng)輸出使能(OE)為低電平時(shí),一旦數(shù)據(jù)流水線滿,其數(shù)據(jù)將在每一個(gè)時(shí)鐘周期的上升沿輸出。

2.2 USB芯片CY7C68013(FX2)

為了滿足對USB傳輸速度較高的需要,本設(shè)計(jì)選擇了Cypress公司內(nèi)置USB接口的微控制器芯片EZUSBFX2。FX2系列芯片獨(dú)特的結(jié)構(gòu)使其數(shù)據(jù)傳輸速度最高可達(dá)56Mbps,故可最大限度地滿足USB2.0的帶寬。此外,CY7C68013提供有一個(gè)串行接口引擎(SIE),可負(fù)責(zé)大部分USB2.0協(xié)議的處理工作,從而大大減輕USB協(xié)議處理的工作量,并可提供4KB的FIFO,以保證數(shù)據(jù)高速傳輸?shù)男枰?。CY7C68013可配置成三種不同的接口模式:Ports、GPIF Master和Slave FIFO。本項(xiàng)目采用Slave FIFO模式。在該模式下,外部邏輯或外部處理器直接連接到FX2的端點(diǎn)FIFO,因?yàn)橥獠窟壿嬁梢灾苯涌刂艶IFO,所以,F(xiàn)IFO的基本控制信號(標(biāo)志、片選、使能)均由FX2的引腳引出。其外部控制可以是同步,也可以是異步,可以使用內(nèi)部時(shí)鐘,也可以使用外部時(shí)鐘。

2.3 FPGA器件EPIC60240C6

FPGA (Field Programmable Gate Array)即現(xiàn)場可編程門陣列。本設(shè)計(jì)選用的是ALTERA公司的EPIC60240芯片,該芯片的工作電壓為1.5 V,存儲器密度可達(dá)5980個(gè)邏輯單元,它包含20個(gè)128x36位RAM塊,總的RAM空間達(dá)92160位,此外還內(nèi)嵌了2個(gè)鎖相環(huán)電路和一個(gè)用于連接SDRAM的特定雙數(shù)據(jù)率接口,故可支持多種不同的I/O標(biāo)準(zhǔn)。事實(shí)上,這里的FPGA除了可以直接編程以進(jìn)行邏輯控制外,也可在此基礎(chǔ)上構(gòu)建SOPC系統(tǒng),以便使用軟、硬件協(xié)同方法,與SDRAM構(gòu)成一個(gè)大容量的FIFO來對SDRAM以及MD轉(zhuǎn)換器進(jìn)行控制,同時(shí)完成與USB器件的協(xié)同工作。

2.4 SOPC及其設(shè)計(jì)

SOPC (System on a Programmable Chip)即可編程片上系統(tǒng)。它可以由單個(gè)芯片完成整個(gè)系統(tǒng)的主要邏輯功能;這種可編程系統(tǒng)具有靈活的設(shè)計(jì)方式,而且可裁減、可擴(kuò)充、可升級。本設(shè)計(jì)采用ALTERA公司率先推出的SOPC解決方案,來將處理器、存儲、I/O口等系統(tǒng)所需集成到一個(gè)FPGA器件上,并對其進(jìn)行軟、硬件配置,從而實(shí)現(xiàn)對數(shù)據(jù)的采集、傳輸、顯示控制。圖3所示是其SOPC系統(tǒng)框圖。

Labview控制FPGA實(shí)現(xiàn)SOPC數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)方案

3數(shù)據(jù)采集系統(tǒng)軟件設(shè)計(jì)

本系統(tǒng)軟件包括SOPC系統(tǒng)程序、USB固件程序、驅(qū)動程序和應(yīng)用程序等4個(gè)方面的設(shè)計(jì)。其中SOPC系統(tǒng)程序和USB固件程序是整個(gè)程序設(shè)計(jì)的核心。

3.1 SOPC系統(tǒng)程序設(shè)計(jì)

基于QuartusII和Nios的SOPC設(shè)計(jì)流程如圖4所示。

Labview控制FPGA實(shí)現(xiàn)SOPC數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)方案

本系統(tǒng)中的SOPC系統(tǒng)軟件設(shè)計(jì)是指在FPGA中配置ALTERA公司NiosII嵌入式處理器的硬件環(huán)境。其中NiosII處理器的配置可基于QuartusII,它是ALTERA公司的大規(guī)模FPGA/CPLD開發(fā)工具。為了進(jìn)行Nios處理器的開發(fā),通常要在Quartus里裝入NiosII的軟硬件開發(fā)工具,同時(shí)在提供的開發(fā)包中使用軟件SOPC Builder開發(fā)工具加載NiosII核和外圍接口,并定義相應(yīng)的指令,然后對系統(tǒng)進(jìn)行綜合后,再下載到FPGA中,就可以完成特定功能的處理器設(shè)計(jì)。

3.2 USB固件程序設(shè)計(jì)

CY68013芯片的固件程序主要負(fù)責(zé)處理PC機(jī)發(fā)來的各種USB設(shè)備請求,并與外圍電路進(jìn)行數(shù)據(jù)傳輸。CYPRESS公司提供的固件程序框架中的兩個(gè)程序分別是FW.C和PERIPH.C。其中FW.C是固件運(yùn)行的主程序文件,負(fù)責(zé)處理各種USB設(shè)備請求,包含程序框架的MAIN函數(shù),它可管理整個(gè)51內(nèi)核的運(yùn)行。而對于PERIPH.C,則必須將PERIPH.C實(shí)例化,以實(shí)現(xiàn)所需的功能。固件程序中最重要的是TD_init()和TD_poll()兩個(gè)函數(shù)。TD_Init函數(shù)負(fù)責(zé)對CY7C68013的初始化,它一般在固件運(yùn)行開始時(shí)調(diào)用;TD_poll函數(shù)是數(shù)據(jù)采集的執(zhí)行子程序,它首先判斷內(nèi)部端點(diǎn)6的緩沖區(qū)和外部FIFO緩沖器是否非空,如滿足條件,則啟動A/D轉(zhuǎn)換,并根據(jù)USB設(shè)備工作在高速和全速的不同來設(shè)置不同的傳輸計(jì)數(shù)。本設(shè)計(jì)中將接收數(shù)據(jù)端點(diǎn)6設(shè)為SLAVE FIFO模式,并使用AUTO IN模式來接收FPGA發(fā)來的數(shù)據(jù),數(shù)據(jù)流由外部FIFO控制器控制,并直接傳人端點(diǎn)6的FIFO,以等待主機(jī)提取。這里,CY7C68013僅作為數(shù)據(jù)通道,CPU不參與此過程。因此,只需在固件的初始化程序中配置好端點(diǎn)6的SLAVE FIFO接口模式,剩下的傳輸控制和其它的工作則可由FPGA來完成。以下是針對本設(shè)計(jì)的部分固件程序:

Labview控制FPGA實(shí)現(xiàn)SOPC數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)方案

Void TD_Poll(void)//在設(shè)備運(yùn)行時(shí)反復(fù)被調(diào)用,主要完成外部FIFO狀態(tài)檢測和數(shù)據(jù)傳輸

Labview控制FPGA實(shí)現(xiàn)SOPC數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)方案

3.3 USB驅(qū)動程序設(shè)計(jì)

Windows下的USB驅(qū)動程序通常由3部分組成:USB設(shè)備驅(qū)動程序、USB總線驅(qū)動程序和USB主控制器驅(qū)動程序。其中,Windows操作系統(tǒng)已經(jīng)提供了處于驅(qū)動程序棧底的USB總線驅(qū)動程序和USB主控制器驅(qū)動程序。而USB設(shè)備驅(qū)動程序則要由設(shè)備開發(fā)者編寫。它應(yīng)能通過向USB總線驅(qū)動程序發(fā)送包含URB(USB Request Block)的IRP(I/O Request Packet)來實(shí)現(xiàn)USB外設(shè)之間的信息交換。本設(shè)計(jì)采用Jungo公司的Win Driver進(jìn)行驅(qū)動程序開發(fā),并根據(jù)Win Driver提供的驅(qū)動向?qū)Ш陀脩粜枰?,來自動生成代碼框架,從而簡化驅(qū)動程序的開發(fā)。

3.4應(yīng)用程序設(shè)計(jì)

本設(shè)計(jì)采用NI公司的虛擬儀器(VI)開發(fā)平臺Labview來進(jìn)行應(yīng)用程序的設(shè)計(jì)。VI包括三部分:前面板、框圖程序和圖標(biāo)/連接器。其中前面板用于設(shè)置輸入數(shù)值和觀察輸出量。每一個(gè)前面板都對應(yīng)著一段框圖程序??驁D程序可用Labview圖形編程語言—G語言來編寫。圖標(biāo)/連接器是子VI可被其它Ⅵ調(diào)用的接口。圖標(biāo)是子VI在其它程序框圖中被調(diào)用的節(jié)點(diǎn)表現(xiàn)形式;而連接器則是節(jié)點(diǎn)數(shù)據(jù)的輸入/輸出口。連接器端口與前面板的控制和顯示一一對應(yīng)。

4結(jié)束語

本文介紹了一種基于SOPC和USB2.0接口的高速數(shù)據(jù)采集系統(tǒng)及其虛擬儀器的設(shè)計(jì)方法。實(shí)驗(yàn)表明,基于本設(shè)計(jì)的高速數(shù)據(jù)采集系統(tǒng)具有抗干擾、可靠性高、失碼率低等優(yōu)點(diǎn)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1624

    文章

    21538

    瀏覽量

    600465
  • LabVIEW
    +關(guān)注

    關(guān)注

    1957

    文章

    3651

    瀏覽量

    321425
  • 虛擬儀器
    +關(guān)注

    關(guān)注

    22

    文章

    775

    瀏覽量

    87255
  • 數(shù)據(jù)采集
    +關(guān)注

    關(guān)注

    38

    文章

    5697

    瀏覽量

    113317
  • PCI
    PCI
    +關(guān)注

    關(guān)注

    4

    文章

    655

    瀏覽量

    130057
收藏 人收藏

    評論

    相關(guān)推薦

    多路模擬數(shù)據(jù)采集接口設(shè)計(jì)

    該文檔為基于FPGA的多路模擬數(shù)據(jù)采集接口設(shè)計(jì)講解文檔,介紹一種基于 8,RQ 的多路模擬數(shù)據(jù)采集接口的設(shè)計(jì)方案。該方案使用Max1281
    發(fā)表于 09-21 14:37

    一種基于SOPC和USB2.0接口的高速數(shù)據(jù)采集系統(tǒng)及虛擬儀器設(shè)計(jì)

    顯示方面,采用虛擬儀器不但可按要求設(shè)計(jì)且變換靈活,還能執(zhí)行傳統(tǒng)儀器無法實(shí)現(xiàn)的許多功能。為此,本系統(tǒng)使用FPGA實(shí)現(xiàn)SOPC
    發(fā)表于 07-05 08:23

    基于FPGA數(shù)據(jù)采集控制器IP核的設(shè)計(jì)方案實(shí)現(xiàn)方法研究

    此提供了新的解決方案。IP核(IP Core)是具有特定電路功能的硬件描述語言程序,可較方便地進(jìn)行修改和定制,以提高設(shè)計(jì)效率[3]。本文研究了基于FPGA數(shù)據(jù)采集控制器IP 核的
    發(fā)表于 07-09 07:23

    基于FPGA的高速數(shù)據(jù)采集系統(tǒng)該怎么設(shè)計(jì)?

    目前,在數(shù)據(jù)采集系統(tǒng)的硬件設(shè)計(jì)方案中,有采用通用單片機(jī)和USB相結(jié)合的方案,也有采用DSP和USB相結(jié)合的方案,前者雖然硬件成本低,但是時(shí)鐘
    發(fā)表于 09-05 07:22

    基于LABVIEW與DSP串口的數(shù)據(jù)采集系統(tǒng)

    介紹一種利用TMS320F240數(shù)字處理芯片(DSP)集成的片內(nèi)A/D轉(zhuǎn)換器實(shí)現(xiàn)數(shù)據(jù)采集,LABVIEW作為開發(fā)平臺,兩者之間通過串口實(shí)現(xiàn)數(shù)據(jù)
    發(fā)表于 07-31 08:26 ?489次下載

    基于聲卡的LabVIEW數(shù)據(jù)采集與分析系統(tǒng)設(shè)計(jì)

    利用聲卡DSP技術(shù)和LabVIEW多線程技術(shù),提出了一種基于聲卡的數(shù)據(jù)采集與分析的廉價(jià)設(shè)計(jì)方案,具有實(shí)現(xiàn)簡單、界面友好、性能穩(wěn)定可靠等優(yōu)點(diǎn)。在Lab
    發(fā)表于 08-21 11:41 ?137次下載

    基于SOPC的高速數(shù)據(jù)采集系統(tǒng)研究與設(shè)計(jì)

    本文提出一種基于SOPC(可編程片上系統(tǒng))和USB2.0的高速數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)方案,并利用Labview
    發(fā)表于 07-17 17:10 ?22次下載

    SOPC基礎(chǔ)上的數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)

    本中提出一種基于SOPC技術(shù)的多路數(shù)據(jù)采集與存儲系統(tǒng)的設(shè)計(jì)方法,利用硬件描述語言設(shè)計(jì)用戶IP核,實(shí)現(xiàn)硬件控制
    發(fā)表于 07-04 11:04 ?1071次閱讀
    <b class='flag-5'>SOPC</b>基礎(chǔ)上的<b class='flag-5'>數(shù)據(jù)采集</b><b class='flag-5'>系統(tǒng)</b>設(shè)計(jì)

    基于SOPC數(shù)據(jù)采集與處理系統(tǒng)設(shè)計(jì)

    基于礦井地震勘探中對數(shù)據(jù)采集與處理的高性能要求,本文采用SOPC (可編程片上系統(tǒng))技術(shù)設(shè)計(jì)了多通道數(shù)據(jù)采集與處理系統(tǒng)。
    發(fā)表于 05-23 10:50 ?1446次閱讀
    基于<b class='flag-5'>SOPC</b>的<b class='flag-5'>數(shù)據(jù)采集</b>與處理<b class='flag-5'>系統(tǒng)</b>設(shè)計(jì)

    基于SOPC數(shù)據(jù)采集控制系統(tǒng)的設(shè)計(jì)

    基于SOPC技術(shù)設(shè)計(jì)了一個(gè)綜合應(yīng)用系統(tǒng)實(shí)現(xiàn)了鍵值數(shù)據(jù)采集、顯示,并將采集到的數(shù)據(jù)通過串口送給上
    發(fā)表于 07-12 14:27 ?0次下載
    基于<b class='flag-5'>SOPC</b><b class='flag-5'>數(shù)據(jù)采集</b>與<b class='flag-5'>控制系統(tǒng)</b>的設(shè)計(jì)

    基于SOPC數(shù)據(jù)采集控制系統(tǒng)

    基于SOPC技術(shù)設(shè)計(jì)了一個(gè)綜合應(yīng)用系統(tǒng)實(shí)現(xiàn)了鍵值數(shù)據(jù)采集、顯示,并將采集到的數(shù)據(jù)通過串口送給上
    發(fā)表于 07-16 16:54 ?35次下載

    基于LabVIEW數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)

    基于LabVIEW數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)參考下。
    發(fā)表于 01-20 16:05 ?139次下載

    基于SOPC技術(shù)的數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)

    基于SOPC技術(shù)的數(shù)據(jù)采集系統(tǒng)設(shè)計(jì),有需要的下來看看。
    發(fā)表于 02-17 10:01 ?15次下載

    基于軟核Nios_Ⅱ的SOPC數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)

    基于軟核Nios_Ⅱ的SOPC數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)
    發(fā)表于 02-17 10:07 ?36次下載

    研華數(shù)據(jù)采集/控制卡+LabVIEW ——便捷的量測與控制系統(tǒng)解決方案

    研華數(shù)據(jù)采集/控制卡+LabVIEW ——便捷的量測與控制系統(tǒng)解決方案
    發(fā)表于 04-28 11:51 ?61次下載