[導(dǎo)讀]本文介紹了一種基于SOPC和USB2.0接口的高速數(shù)據(jù)采集系統(tǒng)及其虛擬儀器的設(shè)計方法。實驗表明,基于本設(shè)計的高速數(shù)據(jù)采集系統(tǒng)具有抗干擾、可靠性高、失碼率低等優(yōu)點。
0 引言
傳統(tǒng)數(shù)據(jù)采集卡多采用PCI或ISA總線接口,這種方式安裝麻煩、價格昂貴,且受計算機插槽數(shù)量、地址、中斷資源限制,有擴展性差等缺點。而USB通用串行總線則具有安裝方便、高帶寬、易擴展等優(yōu)點,其中USB2.0標準具有480Mbps的最高數(shù)據(jù)傳輸率,這使USB成為本系統(tǒng)所選接口的主要類型。控制方面,傳統(tǒng)數(shù)據(jù)采集通常使用單片機或DSP作CPU來進行控制和數(shù)據(jù)處理。其中單片機的時鐘頻率低,無法適應(yīng)高速數(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)對輸入信號的限幅、限壓、濾波,并用增加輸入阻抗的措施來獲取預(yù)期有效信號,同時保護后端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ù)男枰?。CY7C68013可配置成三種不同的接口模式: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)框圖。
3數(shù)據(jù)采集系統(tǒng)軟件設(shè)計
本系統(tǒng)軟件包括SOPC系統(tǒng)程序、USB固件程序、驅(qū)動程序和應(yīng)用程序等4個方面的設(shè)計。其中SOPC系統(tǒng)程序和USB固件程序是整個程序設(shè)計的核心。
3.1 SOPC系統(tǒng)程序設(shè)計
基于QuartusII和Nios的SOPC設(shè)計流程如圖4所示。
本系統(tǒng)中的SOPC系統(tǒng)軟件設(shè)計是指在FPGA中配置ALTERA公司NiosII嵌入式處理器的硬件環(huán)境。其中NiosII處理器的配置可基于QuartusII,它是ALTERA公司的大規(guī)模FPGA/CPLD開發(fā)工具。為了進行Nios處理器的開發(fā),通常要在Quartus里裝入NiosII的軟硬件開發(fā)工具,同時在提供的開發(fā)包中使用軟件SOPC Builder開發(fā)工具加載NiosII核和外圍接口,并定義相應(yīng)的指令,然后對系統(tǒng)進行綜合后,再下載到FPGA中,就可以完成特定功能的處理器設(shè)計。
3.2 USB固件程序設(shè)計
CY68013芯片的固件程序主要負責處理PC機發(fā)來的各種USB設(shè)備請求,并與外圍電路進行數(shù)據(jù)傳輸。CYPRESS公司提供的固件程序框架中的兩個程序分別是FW.C和PERIPH.C。其中FW.C是固件運行的主程序文件,負責處理各種USB設(shè)備請求,包含程序框架的MAIN函數(shù),它可管理整個51內(nèi)核的運行。而對于PERIPH.C,則必須將PERIPH.C實例化,以實現(xiàn)所需的功能。固件程序中最重要的是TD_init()和TD_poll()兩個函數(shù)。TD_Init函數(shù)負責對CY7C68013的初始化,它一般在固件運行開始時調(diào)用;TD_poll函數(shù)是數(shù)據(jù)采集的執(zhí)行子程序,它首先判斷內(nèi)部端點6的緩沖區(qū)和外部FIFO緩沖器是否非空,如滿足條件,則啟動A/D轉(zhuǎn)換,并根據(jù)USB設(shè)備工作在高速和全速的不同來設(shè)置不同的傳輸計數(shù)。本設(shè)計中將接收數(shù)據(jù)端點6設(shè)為SLAVE FIFO模式,并使用AUTO IN模式來接收FPGA發(fā)來的數(shù)據(jù),數(shù)據(jù)流由外部FIFO控制器控制,并直接傳人端點6的FIFO,以等待主機提取。這里,CY7C68013僅作為數(shù)據(jù)通道,CPU不參與此過程。因此,只需在固件的初始化程序中配置好端點6的SLAVE FIFO接口模式,剩下的傳輸控制和其它的工作則可由FPGA來完成。以下是針對本設(shè)計的部分固件程序:
Void TD_Poll(void)//在設(shè)備運行時反復(fù)被調(diào)用,主要完成外部FIFO狀態(tài)檢測和數(shù)據(jù)傳輸
3.3 USB驅(qū)動程序設(shè)計
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)來實現(xiàn)USB外設(shè)之間的信息交換。本設(shè)計采用Jungo公司的Win Driver進行驅(qū)動程序開發(fā),并根據(jù)Win Driver提供的驅(qū)動向?qū)Ш陀脩粜枰瑏碜詣由纱a框架,從而簡化驅(qū)動程序的開發(fā)。
3.4應(yīng)用程序設(shè)計
本設(shè)計采用NI公司的虛擬儀器(VI)開發(fā)平臺Labview來進行應(yīng)用程序的設(shè)計。VI包括三部分:前面板、框圖程序和圖標/連接器。其中前面板用于設(shè)置輸入數(shù)值和觀察輸出量。每一個前面板都對應(yīng)著一段框圖程序??驁D程序可用Labview圖形編程語言—G語言來編寫。圖標/連接器是子VI可被其它Ⅵ調(diào)用的接口。圖標是子VI在其它程序框圖中被調(diào)用的節(jié)點表現(xiàn)形式;而連接器則是節(jié)點數(shù)據(jù)的輸入/輸出口。連接器端口與前面板的控制和顯示一一對應(yīng)。
4結(jié)束語
本文介紹了一種基于SOPC和USB2.0接口的高速數(shù)據(jù)采集系統(tǒng)及其虛擬儀器的設(shè)計方法。實驗表明,基于本設(shè)計的高速數(shù)據(jù)采集系統(tǒng)具有抗干擾、可靠性高、失碼率低等優(yōu)點。
本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
在這篇文章中,小編將對FPGA的相關(guān)內(nèi)容和情況加以介紹以幫助大家增進對它的了解程度,和小編一起來閱讀以下內(nèi)容吧。
關(guān)鍵字:
FPGA
SOPC
芯片
我以德州儀器 (TI) 的UCD3138為例介紹了如何設(shè)計數(shù)字電源 ,并重點介紹了硬件設(shè)計。在本期中,我將解釋如何編寫固件以使其工作。
與模擬電源轉(zhuǎn)換器設(shè)計通過硬件控制一切不同,固件是數(shù)字控制的“靈魂”;幾乎所有主...
關(guān)鍵字:
數(shù)字電源
固件
關(guān)注、星標公眾號,直達精彩內(nèi)容文章來源:網(wǎng)絡(luò)現(xiàn)如今,軟件和硬件之間的界限已經(jīng)越來越模糊了,那么處于這個灰色地帶的,就是固件。于是,這就分成了三類工作者:一是,軟件工程師一般指做圖形界面的程序員,工作內(nèi)容就是寫C、JAVA...
關(guān)鍵字:
固件
工程師
新款 EB zoneo SwitchCore 支持新型的高級“智能”汽車以太網(wǎng)交換機,用于電動汽車、復(fù)雜 ADAS 和自動駕駛汽車所需的高速、高帶寬網(wǎng)絡(luò)。 新款固件可用于行業(yè)領(lǐng)先的車載交換...
關(guān)鍵字:
以太網(wǎng)交換機
固件
汽車
摘要:基于SOPC的在線分析儀器平臺從數(shù)據(jù)采集到顯示已經(jīng)可以完成分析儀器的基本功能。通過添加與上位機的通信來方便數(shù)據(jù)的驗證和平臺與網(wǎng)絡(luò)的鏈接以及數(shù)據(jù)傳輸,從而在非線性驗證和TCP/IP通訊方面實現(xiàn)對上位機的信息管理,同時...
關(guān)鍵字:
SOPC
信息管理
非線性
TCP/IP
.FPGA也能在線升級?以最常用的Xilinx和Altera公司的FPGA為例,這兩家公司的FPGA固件通常保存在外部的一片SPIFlash芯片中,常規(guī)的下載方式是使用專用的下載器,如Xilinx的PlatfomCabl...
關(guān)鍵字:
FPGA
固件
關(guān)注星標公眾號,不錯過精彩內(nèi)容素材來源|?網(wǎng)絡(luò)微信公眾號|嵌入式專欄昨天為大家分享了《單片機產(chǎn)品生產(chǎn)下載程序的常見方法》,有讀者說他們是通過U盤、OTA遠程下載的程序。你通過U盤、OTA遠程等方式下載的程序,其實你還是需...
關(guān)鍵字:
MCU
固件
摘 要:為了更好地實現(xiàn)物聯(lián)網(wǎng)或工業(yè)控制領(lǐng)域中傳感器網(wǎng)絡(luò)設(shè)備的遠程監(jiān)控功能,本文設(shè)計了一種基于FPGA的嵌入式網(wǎng)關(guān)系統(tǒng)的隨機方法。該設(shè)計通過構(gòu)建可編程片上系統(tǒng) (SOPC),并利用Nios II嵌入式系統(tǒng)通過串口通信來實現(xiàn)...
關(guān)鍵字:
嵌入式網(wǎng)關(guān)
FPGA
NIOS
II
COS-II操作系統(tǒng)
SOPC
來源:公眾號【魚鷹談單片機】作者:魚鷹OspreyID??:emOsprey在一些比較嚴格的行業(yè)里面,不是說你的程序能完成必要功能就可以,還需要添加一些額外的功能,比如最常見的看門狗功能,它可以在程序死機時完成重啟,但也...
關(guān)鍵字:
CRC
固件
1、前言嵌入式固件一般分為BootLoader和App,BootLoader用于啟動校驗、App升級、App版本回滾等功能,BootLoader在cpu上電第一階段中運行,之后跳轉(zhuǎn)至App地址執(zhí)行應(yīng)用程序。因此,在發(fā)布固...
關(guān)鍵字:
Loader
固件
前言分享一篇之前寫的文章。趁著前段時間兩家PCB廠家打價格戰(zhàn),一天之內(nèi),多次降價,看著真是熱鬧。捷配降到最低3元一款,而嘉立創(chuàng)降到最低5元一款,都是順豐包郵,不過嘉立創(chuàng)免顏色費,而捷配不免,本著吃瓜群眾的態(tài)度,趕緊薅了一...
關(guān)鍵字:
調(diào)試器
固件
原理圖
點擊上方「嵌入式云IOT技術(shù)圈」,選擇「置頂公眾號」第一時間查看嵌入式筆記!????寫這篇文章之前默認各位的VSCodePlatfromIO以及Marlin的開發(fā)環(huán)境都已搭建成功,如果不懂怎么搭建開發(fā)環(huán)境的,請移步Mar...
關(guān)鍵字:
固件
開發(fā)板
擊上方“嵌入式云IOT技術(shù)圈”,選擇“置頂/星標公眾號”干貨福利,第一時間送達!1、Marlin2.0參數(shù)存儲M命令Marlin2.0的存儲功能主要依靠EEPROM來進行,Marlin也提供了相應(yīng)的M代碼來協(xié)助3D打印愛...
關(guān)鍵字:
固件
源代碼
3D打印
來源:公眾號【魚鷹談單片機】作者:魚鷹OspreyID??:emOsprey在一些比較嚴格的行業(yè)里面,不是說你的程序能完成必要功能就可以,還需要添加一些額外的功能,比如最常見的看門狗功能,它可以在程序死機時完成重啟,但也...
關(guān)鍵字:
CRC
固件
現(xiàn)如今,軟件和硬件之間的界限已經(jīng)越來越模糊了,那么處于這個灰色地帶的,就是固件。于是,這就分成了三類工作者:一是,軟件工程師一般指做圖形界面的程序員,工作內(nèi)容就是寫C、JAVA、Web等。二是,硬件工程師當然是指玩電路板...
關(guān)鍵字:
固件
硬件
軟件
什么是單片機解密?單片機(MCU)一般都有內(nèi)部程序區(qū)和數(shù)據(jù)區(qū)(或者其一)供用戶存放程序和工作數(shù)據(jù)(或者其一)。為了防止未經(jīng)授訪問或拷貝單片機的機內(nèi)程序,大部分單片機都帶有加密鎖定位或者加密字節(jié),以保護片內(nèi)程序。如果在編程...
關(guān)鍵字:
單片機
固件
MCU
摘要:針對工業(yè)控制領(lǐng)域中對多串口通信的需求,采用SOPC技術(shù)并利用FPGA的可編程性,給出了一個基于NiosII的30路串口數(shù)據(jù)轉(zhuǎn)發(fā)通信處理機的設(shè)計方法,同時定義了相應(yīng)的數(shù)據(jù)通信協(xié)議,從而實現(xiàn)了30路下位機與上位機的串口...
關(guān)鍵字:
多串口通信
SOPC
FPGA
NIOS
11月3號,根據(jù)外媒的消息,索尼或?qū)⒃赩2.0版本的固件中,升級4K120P 12Bit RAW外錄能力。
關(guān)鍵字:
索尼
固件
9月10日,外媒在Verizon版三星Galaxy S20固件中發(fā)現(xiàn)了Galaxy S21系列的蹤跡。作為首款商用驍龍875的超大杯,Galaxy S21 Ultra不出意外將是2021年的標桿機皇。
關(guān)鍵字:
三星
固件