當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]本文給出了采用PHILIPS公司的一款LPC2142芯片(基于ARM7內(nèi)核,內(nèi)置了寬范圍的USB2.0 Device全速串行通信接口)設(shè)計的數(shù)據(jù)采集卡的設(shè)計方案,從而有效解決了傳統(tǒng)高速數(shù)據(jù)采集卡的上述缺陷。

引言

    在瞬態(tài)信號測量和圖像處理等一些高速、高精度的測量中,往往都需要進(jìn)行高速數(shù)據(jù)采集?,F(xiàn)在通用的高速數(shù)據(jù)采集卡(一般多是PCI卡或ISA卡)存在有安裝麻煩、價格昂貴、受計算機(jī)插槽數(shù)量/地址/中斷資源的限制、可擴(kuò)展性差,而且在一些電磁干擾性強(qiáng)的測試現(xiàn)場無法專門對其進(jìn)行電磁屏蔽,因而會導(dǎo)致采集的數(shù)據(jù)失真等缺點(diǎn)。為此,本文給出了采用PHILIPS公司的一款LPC2142芯片(基于ARM7內(nèi)核,內(nèi)置了寬范圍的USB2.0 Device全速串行通信接口)設(shè)計的數(shù)據(jù)采集卡的設(shè)計方案,從而有效解決了傳統(tǒng)高速數(shù)據(jù)采集卡的上述缺陷。

1 基于ARM的數(shù)據(jù)采集卡系統(tǒng)結(jié)構(gòu)

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

2 基于ARM的數(shù)據(jù)采集卡的硬件設(shè)計

2.1 AD9238模數(shù)轉(zhuǎn)換芯片

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

    AD9238的兩個通道分別采用一個AD8138做為運(yùn)放驅(qū)動芯片。I/Q兩路中頻模擬信號分別經(jīng)過2個AD8138后變?yōu)椴罘中盘査徒oA/D轉(zhuǎn)換器(第2,3,14,15管腳)。

    高速ADC對時鐘的占空比很敏感。一般來說需要有50%(±5%)的占空比。AD9238可給每個通道單獨(dú)提供時鐘(管腳CLK_A和CLK_B),當(dāng)2個通道的采樣時鐘同頻同相時,系統(tǒng)會有比較好的性能,當(dāng)2個通道小同步時,性能會有所下降。

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

2.2 Cyclone系列FPGA器件

    由于高速數(shù)據(jù)采集系統(tǒng)的特殊要求,本設(shè)計在眾多FPGA器件中選擇了ALTERA公司生產(chǎn)的Cyclone系列器件。Cyclone系列的高性能和高密度是基于它先進(jìn)的Stratix的工藝構(gòu)架,可為高速應(yīng)用提供非常高的性價比,此外,Cyclone系列器件內(nèi)部RAM存儲器還可以生成FIFO緩存器以便為高速采樣提供緩存空間。

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

    在這里,F(xiàn)PGA器件主要用于完成數(shù)據(jù)緩存、等精度測頻、采樣頻率分頻及觸發(fā)控制等工作。

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

    由于此數(shù)據(jù)采集卡是高速緩存式的,且緩存空間有限,所以不能采用連續(xù)式采集方式,而是采用觸發(fā)式采集方式。為了提高數(shù)據(jù)采集卡的適用能力,使系統(tǒng)不僅可以采集周期信號,而且要能采集觸發(fā)信號,還要能手動觸發(fā)采集,筆者增加了觸發(fā)點(diǎn)捕捉電路。該電路主要由AD8561電壓比較器、FPGA芯片組成,由于AD8561芯片的轉(zhuǎn)換速度很高,故能滿足判斷速度足夠高的要求??墒紫劝涯M信號送到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)輸入信號高于參考電壓時,AD8561的TOUT被拉高,TOUT的電平可以通過向AD8561的LATCH端輸入高電平來進(jìn)行鎖存。

    在手動采集方式下,TRIEN0為低電平,TRIEN1為高電平,當(dāng)緩存器為空(即FWr_FUL為高電平)時,可通過LabVIEW制作的界面控制QSTART為高電平,并將FWr_EN拉高以進(jìn)行數(shù)據(jù)采集。當(dāng)緩存器滿時,F(xiàn)Wr_FUL被拉低,同時FWr_EN被拉低以停止采集。圖2所示是本系統(tǒng)的觸發(fā)控制電路。

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

    采集周期信號和輸入信號觸發(fā)方式相似,只是要保持TRIEN1為高電平。而在讀取緩存數(shù)據(jù)時。只要觸發(fā)信號到來就可進(jìn)行采集。

3 基于ARM的高速數(shù)據(jù)采集卡軟件設(shè)計

3.1 基于uC/OS-II的USB驅(qū)動編程

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

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

    主任務(wù)會不斷地讀取端點(diǎn)1,如接收到PC機(jī)發(fā)來的讀命令,就激活高優(yōu)先級讀任務(wù)的就緒信號量,以喚醒讀任務(wù)并進(jìn)入讀中斷服務(wù)程序,同時把緩存器數(shù)據(jù)通過USB總線發(fā)給PC機(jī),發(fā)送完畢關(guān)閉讀任務(wù)的就緒信號量并同到主循環(huán),以等待PC機(jī)發(fā)來下一個命令。寫任務(wù)則與此相似。

3.2 LabWindows/CVI工具簡介

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

3.3 基于LabWindow/CVI的主體軟件設(shè)計

    整個主機(jī)運(yùn)用程序包括面板設(shè)計、初始化、數(shù)據(jù)采集、數(shù)據(jù)處理和結(jié)果顯示等幾部分。

(1) 面板設(shè)計

    主要是提供友好的操作界面,設(shè)計要求能符合常規(guī)測量儀器的操作習(xí)慣。

(2) 初始化

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

(3) 數(shù)據(jù)采集

    由于LabVIEW不能直接訪問用戶自己設(shè)計的硬件,因此,作為一個開放式開發(fā)平臺,Lab-VIEW提供了DLL接口,以使用戶在LabVIEW平臺上能調(diào)用其它軟件平臺編譯的模塊,并提供對對象連接和嵌入技術(shù)(簡稱OLE)的支持。筆者利用VC++6.0編寫了一個DLL文件,并在LabVIEW環(huán)境下調(diào)用該文件,從而實(shí)現(xiàn)了LabVIEW程序與數(shù)據(jù)采集卡的數(shù)據(jù)通信。下面是為讀寫USB設(shè)備所創(chuàng)建的DLL編譯項目的相關(guān)文件:

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

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

DLLBulk.cpp:該文件為DLL主要代碼文件;

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

(4) 數(shù)據(jù)處理及顯示

    將采集并保存在內(nèi)存中的采樣數(shù)據(jù)進(jìn)行各種處理以用于不同測量目的。包括信號波形實(shí)時顯示、自動測量信號幅度和時間、圖形存盤、刪除圖形及回放等。限于篇幅,程序清單此處略。

4 結(jié)束語

    本文給出的整個虛擬測量系統(tǒng)完全可在人機(jī)交互操作下運(yùn)行,并可隨時更改測量參數(shù)及進(jìn)行各種信號處理。系統(tǒng)各項指標(biāo)如下:

(1) 最高采樣率40 MHz,并可按1/2、1/4、1/8、…、1/128程控分頻采樣,雙路模擬輸入;ADC精度為12 bit;模擬輸入范圍為0~2 V;在板數(shù)據(jù)緩存4 K字節(jié)/路,傳輸方式為塊傳輸。

(2) 系統(tǒng)可對信號波形進(jìn)行實(shí)時、最大值、最小值、或峰峰值顯示。

(3) 系統(tǒng)可提供顯示圖形的存盤、回放、刪除圖形文件等處理功能。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉