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

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

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

基于LPC2142微控制器和EP1C3T100器件實(shí)現(xiàn)高速數(shù)據(jù)采集卡的設(shè)計(jì)

電子設(shè)計(jì) ? 來源:電子設(shè)計(jì)工程 ? 作者:占林松 , 夏應(yīng)清 ? 2020-04-23 07:46 ? 次閱讀

1、 引言

隨著現(xiàn)代工業(yè)生產(chǎn)和科學(xué)研究對(duì)數(shù)據(jù)采集要求的日益提高,在瞬態(tài)信號(hào)測(cè)量、圖像處理等一些高速、高精度的測(cè)量中,需要高速采集數(shù)據(jù)。現(xiàn)在通用的高速數(shù)據(jù)采集卡一般多是PCI卡或ISA卡,存在以下缺點(diǎn):安裝復(fù)雜,價(jià)格昂貴,受計(jì)算機(jī)插槽數(shù)量、地址、中斷資源限制,可擴(kuò)展性差,在一些電磁干擾性強(qiáng)的測(cè)試現(xiàn)場(chǎng),無法專門對(duì)其做電磁屏蔽,導(dǎo)致采集的數(shù)據(jù)失真。

本數(shù)據(jù)采集卡采用Philips公司LPC2142微控制器(基于ARM7內(nèi)核,內(nèi)置了寬范圍的USB 2.0串行通信接口),有效地解決了傳統(tǒng)高速數(shù)據(jù)采集卡的缺陷。

2、 基于ARM的數(shù)據(jù)采集卡原理

本系統(tǒng)主要由雙通道模/數(shù)轉(zhuǎn)換器AD9238、ARM微控制器及FPGA器件EP1C3T100組成。結(jié)構(gòu)框圖如圖1所示。AD9238具有A、B兩個(gè)通道,前端的差分放大器對(duì)模擬信號(hào)放大后送至AD9238,由AD9238將模擬信號(hào)轉(zhuǎn)換成12位的數(shù)字信號(hào),同時(shí)送至FPGA中的FIFO緩存器。由LabVIEW設(shè)件制作的界面向LPC2142發(fā)送控制指令,LPC2142讀取FIFO緩存器中的數(shù)據(jù)并通過USB端口發(fā)送給主機(jī)。主機(jī)還可通過界面菜單選擇采樣頻率、采樣的起始點(diǎn)、模擬信號(hào)調(diào)理及讀取精度測(cè)頻數(shù)據(jù)等。

基于LPC2142微控制器和EP1C3T100器件實(shí)現(xiàn)高速數(shù)據(jù)采集卡的設(shè)計(jì)

3、 數(shù)據(jù)采集卡的硬件結(jié)構(gòu)

3.1 AD9238簡(jiǎn)介

AD9238是美國(guó)模擬器件公司(ADI)推出的12位、雙通道模數(shù)轉(zhuǎn)換器。該轉(zhuǎn)換器分為3種型號(hào),采樣率最高分別可達(dá)20 MS/s,40 MS/s和65 MS/s。它提供與單通道A/D轉(zhuǎn)換器同樣優(yōu)異的動(dòng)態(tài)性能,但是具有比采用2個(gè)單通道A/D轉(zhuǎn)換器更好的抗串?dāng)_性能;采用單3 V供電(2.7 V~3.6 V);Rsn=70 dBc;Rsfd=85 dBc;ENOB=11.3 b;差分輸入時(shí)有500 MHz的3 dB帶寬;帶有片上的參考電壓和SHA;1~2 Vpp的模擬輸入范圍;輸出數(shù)據(jù)格式為偏移一進(jìn)制碼或者一進(jìn)制補(bǔ)碼。

AD9238的兩個(gè)通道分別采用一個(gè)AD8138做為運(yùn)放驅(qū)動(dòng)器。I/O兩路中頻模擬信號(hào)分別經(jīng)過2個(gè)AD8138變?yōu)椴罘中盘?hào)送給A/D轉(zhuǎn)換器(第2,3,14,IS引腳)。

高速ADC對(duì)時(shí)鐘的占空比很敏感,一般來說需要有50%(±5%)的占空比。AD9238給每個(gè)通道單獨(dú)提供時(shí)鐘(引腳CLK_A和CLK_B),當(dāng)2個(gè)通道的采樣時(shí)鐘同頻同相時(shí),性能較好,當(dāng)2個(gè)通道不同步時(shí),性能會(huì)有所下降。

本數(shù)據(jù)采集卡采用40 MHz的AD9238,單雙通道選擇和轉(zhuǎn)換頻率可由軟件控制。

3.2 Cyclone系列FPGA器件

由于高速數(shù)據(jù)采集系統(tǒng)的特殊要求,在眾多FPGA器件中選擇了Altera公司的Cyclone系列器件。Cyclone系列基于先進(jìn)的Stratix的工藝構(gòu)架,為高速應(yīng)用提供了極高的性價(jià)比,此外Cyelone系列器件內(nèi)部RAM存儲(chǔ)器可以生成FIFO緩存器,為高速采樣提供緩存空間。

Altera公司的Quartus II軟件是一款易于使用的綜合開發(fā)工具,它集成了Altera的FPGA/CPLD開發(fā)流程中所涉及的所有工具和第三方軟件接口,界面友好,為設(shè)計(jì)提供了便利條件。

這里FPGA器件主要完成數(shù)據(jù)緩存、等精度測(cè)頻、采樣頻率分頻及觸發(fā)控制等工作。

3.3 FPGA在觸發(fā)控制中的應(yīng)用

由于此數(shù)據(jù)采集卡是高速緩存式的,緩存空間有限,所以不能采用連續(xù)式采集方式,而采用觸發(fā)式采集方式。為了提高數(shù)據(jù)采集卡的適用能力,不僅可以采集周期信號(hào),而且可以采集觸發(fā)信號(hào),還可手動(dòng)觸發(fā)采集,筆者增加了觸發(fā)點(diǎn)捕捉電路。系統(tǒng)主要由AD8561電壓比較器和FPGA器件組成,AD8561轉(zhuǎn)換速度很高,可滿足判斷速度足夠高的要求。首先模擬信號(hào)送到AD8561比較器的正輸入端,負(fù)輸入端連接至LPC2142的D/A轉(zhuǎn)換器輸出端,LPC2142的D/A轉(zhuǎn)換器輸出電壓作為AD8561比較器的參考電壓,此參考電壓可以通過向LPC2142的D/A轉(zhuǎn)換器的寄存器寫入不同值進(jìn)行調(diào)節(jié),此調(diào)節(jié)最終通過由LabVIEW制作的界面控制。當(dāng)輸人信號(hào)電壓高于參考電壓時(shí),AD8561的輸出端TOUT拉高,TOUT的電平可以通過向AD8561的LATCH端輸入高電平進(jìn)行鎖存。觸發(fā)控制電路圖如圖2所示。

在手動(dòng)采集方式下,TRIENO為低電平,TRIEN1高電平,當(dāng)緩存器為空即FWr_FUL為高電平,通過LabVIEW制作的界面控制QSTART為高電平時(shí),F(xiàn)Wr_EN被拉高進(jìn)行數(shù)據(jù)采集。當(dāng)緩存器滿時(shí)FWr_FUL被拉低,停止采集數(shù)據(jù)。

在輸入信號(hào)觸發(fā)方式下,TRIEN0和QSTART為低電平,當(dāng)緩存器為空即FWr_FUL為高電平,輸入信號(hào)電壓高于比較器的參考電壓時(shí),TOUT被拉高,F(xiàn)Wr_EN被拉高進(jìn)行數(shù)據(jù)采集。當(dāng)緩存器滿時(shí)FWr_FUL被拉低,停止采集數(shù)據(jù)。拉高TRIEN1后讀取緩存數(shù)據(jù)。

采集周期信號(hào)和輸入信號(hào)觸發(fā)方式相似,只是保持TRIEN1為高電平。在讀取緩存數(shù)據(jù)時(shí).觸發(fā)信號(hào)到來后采集數(shù)據(jù)。

4、 高速數(shù)據(jù)采集卡的軟件設(shè)計(jì)

4.1 基于μC/OS-II的USB驅(qū)動(dòng)編程

μC/OS-II提供了多任務(wù)實(shí)時(shí)操作系統(tǒng)的內(nèi)核。在應(yīng)用該操作系統(tǒng)時(shí),通常需要用戶自己編寫基于μC/OS-II的外圍器件驅(qū)動(dòng)程序,以使外圍器件能在操作系統(tǒng)的協(xié)調(diào)下更好地為用戶服務(wù)。為了使軟件可移植性強(qiáng)、易維護(hù),筆者在編寫LPC2142 USB固件時(shí)綜合考慮USB協(xié)議、LPC2142 USB硬件條件,把驅(qū)動(dòng)程序分為5層,如圖3所示。圖中的雙向線表示用戶軟件與USB固件之間存在著數(shù)據(jù)交換,單向線表示上層軟件對(duì)下層軟件的調(diào)用,這樣使得固件結(jié)構(gòu)分明。

擁有了USB驅(qū)動(dòng)程序,用戶可在此平臺(tái)上完成用戶軟件所要實(shí)現(xiàn)的任務(wù),如圖4所示。單向線表示主任務(wù)對(duì)讀寫任務(wù)的控制。主任務(wù)通過信號(hào)量控制讀/寫任務(wù)的運(yùn)行狀態(tài),從而實(shí)現(xiàn)對(duì)FIFO緩存器的讀和寫;雙向線表示各個(gè)模塊之間存在著數(shù)據(jù)交換。為了加快大量數(shù)據(jù)的收發(fā),本程序把LPC2142USB的邏輯端點(diǎn)1作為控制命令的傳輸通道,把端點(diǎn)2作為數(shù)據(jù)的傳輸通道。

主任務(wù)不斷的讀取端點(diǎn)1,當(dāng)接收到PC機(jī)發(fā)來的讀命令時(shí),就激活高優(yōu)先級(jí)讀任務(wù)的準(zhǔn)備就緒信號(hào)量。讀任務(wù)被喚醒進(jìn)入讀中斷服務(wù)程序,將緩存器的數(shù)據(jù)通過USB總線發(fā)送給PC機(jī),發(fā)送完畢后就關(guān)閉讀任務(wù)的就緒信號(hào)量,返回到主任務(wù)的循環(huán)中,等待PC機(jī)發(fā)來的下一個(gè)命令。寫任務(wù)與此相似,不再敘述。

4.2 基于LabWindow/CVI的主機(jī)軟件編程

4.2.1 LabWindows/CVI簡(jiǎn)介

作為虛擬測(cè)量?jī)x器,關(guān)鍵是要具有易于生成良好操作界面和強(qiáng)大數(shù)據(jù)處理能力的工具軟件。本系統(tǒng)的程序設(shè)計(jì)是用LabVIEW開發(fā)的。LabVIEW是美國(guó)NI公司開發(fā)的基于C/C++的專門用于虛擬儀表及過程控制的可視化編程語言,采用LabVIEW提供的控制件庫(包括開關(guān)、旋鈕、圖表等)很容易地設(shè)計(jì)出符合實(shí)際要求、新穎美觀的操作界面。此外LabVIEW具有很強(qiáng)的數(shù)據(jù)處理功能,它提供了豐富的庫函數(shù)用于數(shù)據(jù)輸入接口、數(shù)據(jù)處理(FFT等)和圖形顯示等功能,為開發(fā)應(yīng)用軟件帶來極大方便。圖5為L(zhǎng)abVIEW開發(fā)的系統(tǒng)操作界面。

4.2.2 程序設(shè)計(jì)

整個(gè)設(shè)計(jì)程序包括四個(gè)部分:面板設(shè)計(jì)、初始化、數(shù)據(jù)采集、數(shù)據(jù)處理和結(jié)果顯示,通過精心設(shè)計(jì)程序,基本完成了預(yù)定的各項(xiàng)測(cè)量功能。并保證了系統(tǒng)的運(yùn)行速度。各部分功能介紹如下。

(1) 面板設(shè)計(jì):提供友好的操作界面,符合常規(guī)測(cè)量?jī)x器的操作習(xí)慣。

(2) 初始化:完成系統(tǒng)初始化功能,包括復(fù)位、送工作方式字、設(shè)置程序運(yùn)行參數(shù)等。

(3) 數(shù)據(jù)采集:LabVIEW不能直接訪問用戶自己設(shè)計(jì)的硬件,作為一個(gè)開放式開發(fā)平臺(tái),LabVIEW提供了DLL接口,使用戶在LabVIEW平臺(tái)上能調(diào)用其他軟件平臺(tái)編譯的模塊。并提供對(duì)象連接和嵌入技術(shù)(簡(jiǎn)稱OLE)的支持。筆者利用VC++6.0編寫了DLL文件,并在LabVIEW環(huán)境下調(diào)用該文件,實(shí)現(xiàn)了LabVIEW程序與數(shù)據(jù)采集卡的數(shù)據(jù)通信。

下面即為讀寫USB設(shè)備所創(chuàng)建的DLL編譯項(xiàng)目的相關(guān)文件:

DLLBulk.h:聲明變量或功能函數(shù)的頭文件。

DLLBulk.def:模塊定義文件,是由若干個(gè)描述DLL模塊參數(shù)的語句組成的文本文件。

DLLBulk.cpp:是DLL的主要代碼文件。

對(duì)DLLBulk.dsw下的各個(gè)文件進(jìn)行編譯之后,在菜單欄中選擇Build-》Build DLLBulk.dll就生成了可以被LabVIEW調(diào)用的DLL文件。

(4) 數(shù)據(jù)處理及顯示:對(duì)內(nèi)存中的采樣數(shù)據(jù)進(jìn)行各種處理用于不同測(cè)量目的。包括信號(hào)波形實(shí)時(shí)顯示、自動(dòng)測(cè)量信號(hào)幅度和時(shí)間、圖盤、刪除圖形以及回放等附加功能。限于篇幅,程序清單此處略。

5、 結(jié)束語

文中所述的整個(gè)虛擬測(cè)量系統(tǒng)完全在人機(jī)交操作下運(yùn)行,并隨時(shí)可更改測(cè)量參數(shù)及進(jìn)行各種信號(hào)處理。系統(tǒng)各項(xiàng)指標(biāo)為:最高采樣率為40 MHz,并可按1/2、1/4、1/8…1/128程控分頻采樣,雙路模擬輸入;ADC精度為12位;模擬輸入范圍為0 V~2V;在板數(shù)據(jù)緩存4 KB字節(jié)/路,傳輸方式為塊傳輸。該系統(tǒng)可進(jìn)行實(shí)時(shí)信號(hào)波形、信號(hào)最大值、最小值、峰峰值顯示,同時(shí)提供了顯示圖形文件存盤、回放、刪除處理功能。

責(zé)任編輯:gt


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

    關(guān)注

    48

    文章

    7336

    瀏覽量

    150110
  • FPGA
    +關(guān)注

    關(guān)注

    1620

    文章

    21510

    瀏覽量

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

    關(guān)注

    38

    文章

    5512

    瀏覽量

    113114
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    高速數(shù)據(jù)采集卡的中子檢測(cè)解決方案

    高速數(shù)據(jù)采集卡,單塊板卡可實(shí)現(xiàn)2通道、14bit、1GS/s的快速、高精度脈沖數(shù)據(jù)采集,整個(gè)系統(tǒng)可實(shí)現(xiàn)
    發(fā)表于 03-28 15:11

    如何選擇數(shù)據(jù)采集卡

    IO接口的數(shù)量是否夠用,以及IO接口的電平標(biāo)準(zhǔn)是否合適。 (3)選擇數(shù)據(jù)采集卡的其它功能。除了上述功能外,有些數(shù)據(jù)采集卡還有DA輸出,PWM輸出,計(jì)數(shù)等功能。如果執(zhí)行
    發(fā)表于 01-14 09:13

    數(shù)據(jù)采集卡的功能

    `(1數(shù)據(jù)采集卡可以連接外部傳感。比如溫度傳感、壓力傳感、旋轉(zhuǎn)編碼等等。因此,使用
    發(fā)表于 01-15 10:53

    請(qǐng)問怎樣去設(shè)計(jì)高速數(shù)據(jù)采集卡

    高速數(shù)據(jù)采集卡系統(tǒng)的硬件怎樣去設(shè)計(jì)?高速數(shù)據(jù)采集卡系統(tǒng)的軟件怎樣去設(shè)計(jì)?
    發(fā)表于 04-28 06:16

    LPC2142單芯片微控制器相關(guān)資料推薦

    概述:LPC2142是飛利浦半導(dǎo)體公司生產(chǎn)的一款控制器,它為64腳封裝。
    發(fā)表于 05-19 06:03

    基于ARM處理LPC2142高速數(shù)據(jù)采集卡設(shè)計(jì)

    提出了一種基于LPC2142且具有USB (通用串行總線) 接口的高速數(shù)據(jù)采集卡的設(shè)計(jì)方案,給出了基于ARM7處理LPC2142和FPGA
    發(fā)表于 03-07 10:05 ?9次下載

    EP1C3T100引腳功能說明,Pin Informatio

    EP1C3T100引腳功能說明 Pin Information for the Cyclone™ EP1C3T100 Device Bank Number VREFB Group
    發(fā)表于 05-14 10:53 ?142次下載

    基于PCI總線的高速數(shù)據(jù)采集卡系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

    基于PCI總線的高速數(shù)據(jù)采集卡系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn):本文介紹一種基于PCI總線的高速數(shù)據(jù)采集卡系統(tǒng)的設(shè)計(jì)方法,討論了設(shè)計(jì)
    發(fā)表于 06-22 19:04 ?55次下載

    基于PCI總線的高速數(shù)據(jù)采集卡的設(shè)計(jì)

    本文介紹了一種基于PCI 總線的高速數(shù)據(jù)采集卡的設(shè)計(jì)方案,該方案具有高速度、低成本的優(yōu)點(diǎn)。并給出了PCI 總線控制器實(shí)現(xiàn)和具體的硬件電路設(shè)
    發(fā)表于 08-31 11:51 ?19次下載

    基于ARM的高速數(shù)據(jù)采集卡

    隨著現(xiàn)代工業(yè)生產(chǎn)和科學(xué)研究對(duì)數(shù)據(jù)采集要求的日益提高,在瞬態(tài)信號(hào)測(cè)量、圖像處理等一些高速、高精度的測(cè)量中,需要高速采集數(shù)據(jù)?,F(xiàn)在通用的高速
    發(fā)表于 11-26 15:26 ?56次下載

    基于PCI Express總線高速數(shù)據(jù)采集卡的設(shè)計(jì)與實(shí)現(xiàn)

    本文介紹一種基于PCI Express 總線的高速數(shù)據(jù)采集卡的設(shè)計(jì)方案及功能實(shí)現(xiàn)。給出系統(tǒng)的基本結(jié)構(gòu)及單元組成,重點(diǎn)闡述系統(tǒng)硬件設(shè)計(jì)的關(guān)鍵技術(shù)和本地總線的控制邏輯,詳細(xì)探
    發(fā)表于 09-22 08:15 ?62次下載

    高速數(shù)據(jù)采集卡的虛擬示波器開發(fā)設(shè)計(jì)

    高速數(shù)據(jù)采集卡的虛擬示波器開發(fā)設(shè)計(jì) 本文基于PCI接口的CS 82G高速數(shù)據(jù)采集卡和Visual C++編程工具,開發(fā)了一種快速的虛擬示波
    發(fā)表于 03-11 15:53 ?1482次閱讀
    <b class='flag-5'>高速</b><b class='flag-5'>數(shù)據(jù)采集卡</b>的虛擬示波器開發(fā)設(shè)計(jì)

    USB的高精度多通道數(shù)據(jù)采集卡設(shè)計(jì)

    USB的高精度多通道數(shù)據(jù)采集卡設(shè)計(jì) 摘要:詳細(xì)敘述了用USB控制器CY7C68013與A/D轉(zhuǎn)換ADS8364,構(gòu)成高精度多路同步數(shù)據(jù)采集卡
    發(fā)表于 04-13 13:28 ?1636次閱讀
    USB的高精度多通道<b class='flag-5'>數(shù)據(jù)采集卡</b>設(shè)計(jì)

    數(shù)據(jù)采集卡的功能

    1數(shù)據(jù)采集卡可以連接外部傳感。比如溫度傳感、壓力傳感、旋轉(zhuǎn)編碼等等。因此,使用
    發(fā)表于 01-15 15:02 ?6171次閱讀

    AD采集卡設(shè)計(jì)方案:630-基于PCIe的高速模擬AD采集卡

    AD采集卡 , 高速數(shù)據(jù)采集系統(tǒng) , 實(shí)驗(yàn)室數(shù)據(jù)采集 , 高速模擬AD采集卡
    的頭像 發(fā)表于 12-25 10:21 ?615次閱讀
    AD<b class='flag-5'>采集卡</b>設(shè)計(jì)方案:630-基于PCIe的<b class='flag-5'>高速</b>模擬AD<b class='flag-5'>采集卡</b>