版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> 基于LabVIEW的數(shù)據(jù)采集系統(tǒng)的設(shè)計與實現(xiàn)</p><p> [摘要]:利用圖形化編程工具LabVIEW和EDA工具Proteus設(shè)計了一個溫度數(shù)據(jù)采集仿真系統(tǒng)。該系統(tǒng)中上位機與下位機通過虛擬串口進行通信,下位機將采集到的現(xiàn)場數(shù)據(jù)傳送到上位機后,上位機即可顯示并判斷是否超限報警。設(shè)計表明,基于該兩種軟件建立一個仿真系統(tǒng)可以有效驗證項目設(shè)計的正確性,從而縮短項目開發(fā)時間,降低項目開發(fā)成本。
2、</p><p> [關(guān)鍵詞]:LabVIEW;Proteus;單片機;數(shù)據(jù)采集;仿真 </p><p> The Design and Realization of Data Acquisition</p><p> System Based on LabVIEW</p><p> Abstract:Use of LabVIEW
3、graphical programming tools and EDA tools Proteus designed a data acquisition simulation system. The system of upper computer and lower computer through a virtual serial communication, the next crew will be collected on-
4、site data to the host computer, the host computer to display and to determine whether the limit alarm. Design showed that the two software based on a simulation system can verify the correctness of the project design to
5、reduce project development time, red</p><p> Key words:LabVIEW; Proteus; MCU; data collection; Simulation</p><p><b> 目錄</b></p><p><b> 0 引言3</b></p>
6、;<p> 1 相關(guān)軟件簡介3</p><p> 1.1 LabVIEW簡介3</p><p> 1.2 LabVIEW的開發(fā)環(huán)境3</p><p> 1.3 Proteus簡介3</p><p> 1.4 VISA 簡介4</p><p> 1.5 LabVIEW及其調(diào)用VISA的
7、條件4</p><p> 2 數(shù)據(jù)采集系統(tǒng)的設(shè)計方案4</p><p> 2.1 數(shù)據(jù)采集系統(tǒng)設(shè)計方案概述4</p><p> 2.1.1 接口技術(shù)發(fā)展現(xiàn)狀5</p><p> 2.1.2 USB接口技術(shù)及傳感器技術(shù)原理簡介5</p><p> 2.1.2.1 USB接口發(fā)展史5</p>
8、;<p> 2.1.2.2 USB接口技術(shù)簡介6</p><p> 2.1.2.3 傳感器技術(shù)簡介6</p><p> 2.2 數(shù)據(jù)采集系統(tǒng)設(shè)計方案論證7</p><p> 2.3 單片機程序流圖7</p><p> 3 數(shù)據(jù)采集系統(tǒng)的設(shè)計與實現(xiàn)8</p><p> 3.1 基于La
9、bVIEW的上位機虛擬儀器界面設(shè)計8</p><p> 3.2 基于Proteus的下位機單片機系統(tǒng)設(shè)計9</p><p> 3.3 聯(lián)調(diào)演示9</p><p><b> 4 總結(jié)11</b></p><p><b> 參考文獻12</b></p><p>
10、<b> 附錄13</b></p><p><b> 0 引言</b></p><p> 隨著計算機技術(shù)的迅速發(fā)展,虛擬儀器正逐漸成為測試領(lǐng)域的發(fā)展方向。虛擬儀器的概念是由美國NI公司提出來的,是指在通用的計算機平臺上,用戶根據(jù)自己的需求定義和設(shè)計具有測試功能的儀器系統(tǒng),即虛擬儀器是由用戶利用一些基本硬件及軟件編程技術(shù)組成的各種各樣的儀器
11、系統(tǒng)。虛擬儀器的三大主要功能是:數(shù)據(jù)采集;數(shù)據(jù)測試和分析;結(jié)果輸出顯示。數(shù)據(jù)采集是一切測試測量過程的第一步。</p><p><b> 1 相關(guān)軟件簡介</b></p><p> 1.1 LabVIEW簡介</p><p> LabVIEW是目前較為成功、應(yīng)用廣泛的虛擬儀器軟件開發(fā)環(huán)境,LabVIEW[1](Laboratory Virt
12、ual Instrument Engineering Workbench,實驗室虛擬儀器工作平臺)是NI公司在1986年首次推出的,最新版本為LabVIEW8.6。它是一個高效的圖形化程序設(shè)計環(huán)境,結(jié)合了簡單易用的圖形式開發(fā)環(huán)境與靈活強大的G編程語言;提供了一個直覺式的環(huán)境,與測量緊密結(jié)合,在這個平臺上,各種領(lǐng)域的專業(yè)工程師和科學(xué)家們通過定義和連接代表各種功能模塊的圖標(biāo)來方便迅速地建立高水平的應(yīng)用程序;支持多種系統(tǒng)平臺,在任何一個平臺上
13、開發(fā)的LabVIEW應(yīng)用程序可直接移植到其它平臺上。</p><p> 實驗室虛擬儀器開發(fā)平臺的簡稱LabVIEW,是一種業(yè)界領(lǐng)先的工業(yè)標(biāo)準(zhǔn)圖形化編程工具,它是專門為工程師和科學(xué)家而設(shè)計的直觀圖形化編程語言。它將軟件和各種不同的測量儀器硬件及計算機集成在一起,建立虛擬儀器系統(tǒng),形成用戶自定義的解決方案,成為專門數(shù)據(jù)采集與儀器控制,數(shù)據(jù)分析和數(shù)據(jù)表達而設(shè)計的圖形化編程軟件,使創(chuàng)建的程序模塊化,易于調(diào)試,理解和維護
14、,而且程序編程簡單、直觀,因此特別適用于數(shù)據(jù)采集處理系統(tǒng)。</p><p> 1.2 LabVIEW的開發(fā)環(huán)境</p><p> LabVIEW的開發(fā)環(huán)境分為三部分:前面板(panel)、框圖程序(Diagram Programme)和圖標(biāo)/連接端口(Icol/rerminal)。前面板就是圖形化用戶界面,用于設(shè)置輸入數(shù)值和輸出觀察量。在前面板中,輸入量被稱為控制(Control),輸
15、出量被稱為指示(Indicator),他們通過各種圖標(biāo)如按鈕、旋鈕、開關(guān)、圖標(biāo)等出現(xiàn)在前面板上,模擬真實儀器??驁D程序由節(jié)點(Node)和數(shù)據(jù)連線(Wire)組成,它利用圖形語言對前面板上的控制對象即輸入量和輸出量進行控制,節(jié)點用來實現(xiàn)函數(shù)和功能調(diào)用,數(shù)據(jù)連線表示程序執(zhí)行過程中的數(shù)據(jù)流,它定義了程序框圖內(nèi)的數(shù)據(jù)流向。圖標(biāo)/連接端口用于把LabVIEW程序定義為一個子程序,從而實現(xiàn)模塊化編程,圖標(biāo)是子程序在其他程序框圖中被調(diào)用的節(jié)點表示形
16、式,連接端口則表示節(jié)點數(shù)據(jù)的輸入、輸出口。</p><p> LabVIEW具有3個可移動的圖形化工具模板:工具模板(Tool Palette)、控件模板(Controls Palette)和功能模板(Function Palette)。工具模板提供了用于圖形操作的各種工具,比如定位、標(biāo)注、斷電、連線、文字注釋等;控件模板提供了前面編輯所需要的圖像圖標(biāo)、一些特殊的圖形;功能模板則提供了一些基本的數(shù)學(xué)函數(shù)和其他功
17、能函數(shù)。這三個模板是LabVIEW編程的主要工具。</p><p> 1.3 Proteus簡介</p><p> Proteus[2]是由英國LabcenterElectronics公司開發(fā)的EDA工具軟件,是目前世界上較先進完整的嵌入式系統(tǒng)設(shè)計和仿真平臺。Proteus與其他單片機仿真軟件不同,它不僅能仿真單片機CPU的工作情況,也能仿真單片機外圍電路或沒有單片機參與的其他電路的工
18、作情況??梢灾苯釉诨谠韴D的虛擬原型上編程,并實現(xiàn)軟件源碼級得實時調(diào)試,實時觀察運行效果,真正實現(xiàn)了在沒有目標(biāo)原型時就可對系統(tǒng)進行調(diào)試、測試和驗證,因此在仿真和程序調(diào)試時,關(guān)心的不再是某些語句執(zhí)行時單片機寄存器和存儲器內(nèi)容的改變,而是從工程的角度直接看程序運行和電路工作的過程和結(jié)果。這種仿真是將實驗和實際工程應(yīng)用練習(xí)在一起,因而大大提高了企業(yè)的開發(fā)效率,降低了開發(fā)風(fēng)險。</p><p> 1.4 VISA 簡
19、介</p><p> NI-VISA(Virtual Instrument Software Architecture,以下簡稱為"VISA")是美國國家儀器NI(National1nstrLlrnent)公司開發(fā)的一種用來與各種儀器總線進行通信的高級應(yīng)用編程接口。VISA軟件是一個綜合軟件包,不受平臺、總線和環(huán)境的限制,可用來對USB、GPIB、串口、VXI、PXI和以太網(wǎng)系統(tǒng)進行配置、編
20、程和調(diào)試。VISA是虛擬儀器系統(tǒng)I/O接口軟件?;谧缘紫蛏辖Y(jié)構(gòu)模型的VISA創(chuàng)造了一個統(tǒng)一形式的I/O控制函數(shù)集。一方面,對初學(xué)者或是簡單任務(wù)的設(shè)計者來說, VISA提供了簡單易用的控制函數(shù)集,在應(yīng)用形式上相當(dāng)簡單;另一方面,對復(fù)雜系統(tǒng)的組建者來說,VISA提供了非常強大的儀器控制功能與資源管理。</p><p> 1.5 LabVIEW及其調(diào)用VISA的條件</p><p> La
21、bVIEW(Laboratory Virtual Instrument Engineering Workbench)是NI公司開發(fā)的一種基于圖形程序的編程語言。用戶利用創(chuàng)建和調(diào)用子程序的方法編寫程序,使創(chuàng)建的程序模塊化,而且程序編制簡單、直觀。一個LabVIEW程序分為3部分:前面板、框圖程序和圖標(biāo)/接線端口。前面板用于模擬真實儀器的前面板;框圖程序是利用圖形語言對前面板上的控件對象(分為控制量和指示量兩種)進行控制;圖標(biāo)/接線端口用于
22、把LabVlEW程序定義成一個子程序,從而實現(xiàn)模塊化編程。當(dāng)進行USB通信時,VISA提供了兩類函數(shù)供LabVIEW調(diào)用,USBINSTR設(shè)備與USB RAW設(shè)備。USBINSTR設(shè)備是符合USBTMC協(xié)議的USB設(shè)備,可以通過使用USB INSTR類函數(shù)控制,通信時無需配置NI-VISA;而USB RAW設(shè)備是指除了明確符合USBTMC規(guī)格的儀器之外的任何USB設(shè)備,通信時要配置NI-VISA。</p><p>
23、; (1)配置NI-VISA的步驟:</p><p> 1)使用Driver Development wizard(驅(qū)動程序開發(fā)向?qū)?創(chuàng)建INF文檔。</p><p> 2)安裝INF文檔,并安裝使用INF文檔的USB設(shè)備。</p><p> 3)使用NI-VISA Interaction Control(NI-VISA互動控制工具)對設(shè)備進行測試,以證實U
24、SB設(shè)備已正確安裝,并獲得USB設(shè)備的各屬性值。</p><p> (2)與NI-VISA相配合的LabVIEW模板中的VI子節(jié)點</p><p> ViOpen,打開并指定VISA resource name的設(shè)備的連接。</p><p> ViProperty,VISA設(shè)備的屬性子節(jié)點,可以設(shè)置端點或傳輸方式。</p><p>
25、ViWrite,向VISA resource name指定的設(shè)備寫入數(shù)據(jù)。</p><p> Viread,從VISA resource name指定的設(shè)備讀出數(shù)據(jù)。</p><p> Viclose,結(jié)束設(shè)備讀寫并關(guān)閉與指定設(shè)備的連接。</p><p> (3)USB RAW設(shè)備讀寫的操作次序</p><p> USB RAW設(shè)備的
26、讀寫次序為:打開VISA設(shè)備、設(shè)定VISA設(shè)備的屬性節(jié)點參數(shù)、讀寫USB RAW、關(guān)閉VISA。</p><p> 2 數(shù)據(jù)采集系統(tǒng)的設(shè)計方案</p><p> 2.1 數(shù)據(jù)采集系統(tǒng)設(shè)計方案概述</p><p> 信號采集是控制過程的關(guān)鍵環(huán)節(jié),是系統(tǒng)控制的根本出發(fā)點和最終衡量系統(tǒng)控制性能的重要依據(jù)。在一個完善的閉環(huán)控制系統(tǒng)當(dāng)中,首先要檢測當(dāng)前被控對象的狀態(tài),就
27、必須對被控對象的狀態(tài)信息(比如常見的溫度,流量,速度,液位等信息)進行采集,并能夠?qū)⒋诵畔⑦€原為實際的溫度,流量等信息,并以此作為控制的根本出發(fā)點??刂平Y(jié)果與目標(biāo)的一致性也必須通過信號采集來衡量,只有采集當(dāng)前的狀態(tài)信息,并對該信息進行分析才能了解控制過程的好壞,做出進一步的優(yōu)化。所以說信號采集在系統(tǒng)控制中起著至關(guān)重要的作用。</p><p> 隨著數(shù)字化的普及和控制技術(shù)水平的不斷進步,數(shù)字化控制已成為現(xiàn)代控制的
28、主流,數(shù)字信號的采集成為數(shù)字控制系統(tǒng)的重要單元。</p><p> 2.1.1 接口技術(shù)發(fā)展現(xiàn)狀</p><p> 隨著現(xiàn)代電子技術(shù)的飛速發(fā)展和廣泛應(yīng)用,數(shù)據(jù)傳輸接口器件發(fā)展也十分迅速,以至于外部接口規(guī)格十分“繁華”。例如鍵盤要AT接口或PS/2的接口,鼠標(biāo)要接COM口或PS/2接口,Modem要接另一個COM接口、打印機要接Parallel Port(并口),而搖桿則要跟MIDI裝置
29、共搶Game/MIDI口。每種接口類型都是外設(shè)通過各自獨有的傳輸方式,根據(jù)一定的數(shù)據(jù)傳輸協(xié)議單獨地與PC機進行通訊。當(dāng)然,由于每種接口類型都有其不可替代的優(yōu)越性,所以無論電子技術(shù)如何發(fā)展,在某些特定的場合,各類接口仍在繼續(xù)使用。目前常見的接口類型:有并口(也有稱之為IEEE 1284,Centronics)、串口(也有稱之為RS-232接口的)和USB接口。</p><p> 并口又稱為并行接口。目前,并行接口
30、主要作為打印機端口,采用的是25針D形接頭。所謂“并行”,是指8位數(shù)據(jù)同時通過并行線進行傳送,這樣數(shù)據(jù)傳送速度大大提高,但并行傳送的線路長度受到限制,因為長度增加,干擾就會增加,數(shù)據(jù)也就容易出錯。目前計算機基本上都配有并口。</p><p> 串口叫做串行接口,現(xiàn)在的PC機一般有兩個串行口COM1和COM2。串行口不同于并行口之處在于它的數(shù)據(jù)和控制信息是一位接一位地傳送出去的。雖然這樣速度會慢一些,但傳送距離較
31、并行口更長,因此若要進行較長距離的通信時,應(yīng)使用串行口。通常COM1使用的是9 針D 形連接器,也稱之為RS-232接口,而COM2 有的使用的是老式的DB25 針連接器,也稱之為RS-422接口,不過目前已經(jīng)很少使用。</p><p> USB接口即“Universal Serial Bus ”,中文名稱為通用串行總線。這是近幾年逐步在PC 領(lǐng)域廣為應(yīng)用的新型接口技術(shù)。由于USB接口與串型接口相比具有連接方便
32、,無需外接電源,即插即用,支持熱插拔,動態(tài)加載驅(qū)動程序等特有優(yōu)點,目前已經(jīng)在各類外部設(shè)備中廣泛的被采用。目前USB接口有兩種:USB1.1和USB2.0。理論上USB1.1的傳輸速度可以達到12Mbps/秒,而USB2.0則可以達到速度480Mbps/秒,并且可以向下兼容USB1.1。</p><p> 通過上述對比發(fā)現(xiàn),USB作為一種新的PC機互連協(xié)議,使外設(shè)到計算機的連接更加高效、便利。這種接口適合于多種設(shè)
33、備,不僅具有快速、即插即用、支持熱插拔的特點,還能同時連接多達127個設(shè)備,解決了如資源沖突、中斷請求(IRQs)和直接數(shù)據(jù)通道(DMAs)等問題。也是計算機外設(shè)接口的發(fā)展趨勢,將逐漸取代PC機上的RS232協(xié)議串口,因此很多傳統(tǒng)的RS232接口設(shè)備都將面臨一個向USB 接口轉(zhuǎn)換的問題,此次基于USB總線的溫度采集系統(tǒng)的設(shè)計也是一種非常實用的數(shù)據(jù)采集方式。</p><p> 2.1.2 USB接口技術(shù)及傳感器技
34、術(shù)原理簡介</p><p> 2.1.2.1 USB接口發(fā)展史</p><p> USB的發(fā)展歷史,要從1994年說起,當(dāng)時由英特爾、康柏、IBM、Microsoft等多家公司聯(lián)合提出,并于當(dāng)年11月11日發(fā)表USB V0.7版本,經(jīng)歷了多年的發(fā)展,到現(xiàn)在已經(jīng)發(fā)展為3.0版本。</p><p> USB1.0在1996年推出,礙于水平的限制,這個版本的速度只有
35、1.5Mb/s,后來升級為USB1.1,速度也跟著提升到12Mb/s。也正是1.1版本的出現(xiàn),使得USB接口的使用范圍逐漸普及。大部分的MP3產(chǎn)品為此類接口類型。</p><p> 作為更高級的版本,USB2.0的規(guī)范是從USB1.1規(guī)范演變而來的。它的最顯著優(yōu)點是480Mbps,折算為MB為60MB/s,足以滿足大多數(shù)外設(shè)的速率要求。人們使用USB2.0產(chǎn)品傳輸文件,尤其是傳說超大文件的用時大大縮短。進幾年出
36、現(xiàn)的比較熱門的USB轉(zhuǎn)網(wǎng)卡接口、USB無線網(wǎng)卡基本上都是使用2.0,就目前來說,USB2.0接口還是電腦配件里應(yīng)用最廣泛的USB版本接口。</p><p> 隨著技術(shù)的發(fā)展,Vsita、高清、DX10正在逐漸普及,USB2.0遭遇到了與USB1.1時代后期相同的問題,480mbps的傳輸速度對于現(xiàn)在的應(yīng)用環(huán)境來說已經(jīng)不足以滿足我們的要求了,于是,由Intel、微軟、惠普、德州儀器、NEC、ST-NXP等業(yè)界巨頭
37、組成的USB3.0推廣組宣布制定新的USB標(biāo)準(zhǔn),并于2010年推出消費級的USB3.0產(chǎn)品。USB3.0的傳輸速度可達到USB2.0的10倍,即理論傳輸速度高達625MB/s,也就是官方號稱的5Gb/s,這種超高速的傳輸速度使得傳輸一部15GB的電影只要24秒。不過,就目前的設(shè)備發(fā)展水平來說,硬盤設(shè)備還無法提供如此超高的傳輸速度與之匹配。</p><p> 2.1.2.2 USB接口技術(shù)簡介</p>
38、<p> USB規(guī)范描述了總線特性、協(xié)議定義、編程接口以及其它設(shè)計和構(gòu)建系統(tǒng)時所要求的特性。USB是一種主從總線,工作時USB主機處于主模式,設(shè)備處于從模式。USB系統(tǒng)所需要的唯一的系統(tǒng)資源是,USB系統(tǒng)軟件所使用的內(nèi)存空間、USB主控制器所使用的內(nèi)存地址空間(I/O地址空間)和中斷請求(IRQ)線。USB設(shè)備可以是功能性的,如顯示器、鼠標(biāo)或者集線器之類。它們可以作低速或者高速設(shè)備實現(xiàn)。低速設(shè)備最大速率限制在1.5 Mb
39、/s,每一個設(shè)備有一些專有寄存器,也就是端點(endpoint)。在進行數(shù)據(jù)交換時,可以通過設(shè)備驅(qū)動間接訪問它。每一個端點支持幾種特殊的傳輸類型,并且有一個唯一的地址和傳輸方向。不同的是端點0 僅用作控制傳輸,并且其傳輸可以是雙向的。</p><p> 系統(tǒng)上電后,USB主機負責(zé)檢測設(shè)備的連接與拆除、初始化設(shè)備的列舉過程,并根據(jù)設(shè)備描述表安裝設(shè)備驅(qū)動后自動重新配置系統(tǒng),收集每個設(shè)備的狀態(tài)信息。設(shè)備描述表標(biāo)識了設(shè)
40、備的屬性、特征并描述了設(shè)備的通信要求。USB主機根據(jù)這些信息配置設(shè)備、查找驅(qū)動,并且與設(shè)備通信。</p><p> 典型的USB數(shù)據(jù)傳輸是由設(shè)備驅(qū)動開始的,當(dāng)它需要與設(shè)備通信時,設(shè)備驅(qū)動提供內(nèi)存緩沖區(qū),用來存放設(shè)備收到或者即將發(fā)送的數(shù)據(jù)。USB驅(qū)動提供USB設(shè)備驅(qū)動和USB主控制器之間的接口,并將傳輸請求轉(zhuǎn)化為USB事務(wù),轉(zhuǎn)化時需要與帶寬要求及協(xié)議結(jié)構(gòu)保持一致。某些傳輸是由大塊數(shù)據(jù)構(gòu)成的,這時需要先將它劃分為幾
41、個事物再進行傳輸。</p><p> 具有相似功能的設(shè)備可以組成一類,這樣便于分享共有的特性和使用共同的設(shè)備驅(qū)動程序。每個類可以定義其自己的描述符,如:HID類描述符和 Report描述符。HID類是由人控制計算機系統(tǒng)的設(shè)備組成的,它定義了一個描述HID設(shè)備的結(jié)構(gòu),并且表明了設(shè)備的通信要求。HID設(shè)備描述符必須支持端點輸入中斷,固件也必須包括一個報告描述符,表明接收和發(fā)送數(shù)據(jù)的格式。</p>&l
42、t;p> 目前,由于USB移動存儲設(shè)備的使用已經(jīng)非常普遍,因此在一些需要轉(zhuǎn)存數(shù)據(jù)的設(shè)備、儀器上使用USB移動存儲設(shè)備接口的芯片便相繼產(chǎn)生了。為了縮短開發(fā)周期,各大廠商紛紛研制出了愈來愈智能化的USB接口芯片。如Philips公司的PDIUSBD12、ISP1581以及National公司的USBN9602、南京沁恒公司的CH372、CH375等。這類USB接口芯片價格較低、接口方便、靈活性高,針對不同的硬件環(huán)境可以配合多種MCU
43、使用,如單片機、DSP、FPGA都可以。</p><p> 2.1.2.3 傳感器技術(shù)簡介</p><p> 智能傳感器(smartsensor)利用微計算機技術(shù)使傳感器智能化。它是一個或多個敏感元件與信號處理電路集成在同一硅片或GaAs片上的器件,具有一種或多種敏感功能,能夠完成信號探測、變換處理、邏輯判斷、功能計算、雙向通信內(nèi)部可實現(xiàn)自檢、自校、自補償、自診斷的器件。</p&
44、gt;<p> 智能傳感器系統(tǒng)的主要特點:把計算機技術(shù)和現(xiàn)代通信技術(shù)融人傳感器系統(tǒng)中,其目的是為了適應(yīng)計算機測控系統(tǒng)的發(fā)展,滿足系統(tǒng)對傳感器提出的更高要求,因此認為智能傳感器是指傳感器與微處理器賦予智能的結(jié)合,兼有信息檢測、信息處理及通信功能的傳感器系統(tǒng)。在結(jié)構(gòu)上,智能傳感器系統(tǒng)將傳感器、信號調(diào)理電路、微控制器及數(shù)字信號接口組合為一整體。傳感元件將被測非電量轉(zhuǎn)換為電信號,信號調(diào)理電路對傳感器輸出的電信號進行調(diào)理并轉(zhuǎn)換為數(shù)
45、字信號后送人微控制器,由微控制器處理后的測量結(jié)果經(jīng)數(shù)字信號接口輸出。在智能傳感器系統(tǒng)中不僅有硬件作為實現(xiàn)測量的基礎(chǔ),還有強大的軟件支持來保證測量結(jié)果的正確性和高精度。以數(shù)字信號形式作為輸出易于和計算機測控系統(tǒng)接口,并具有很好的傳輸特性和很強的抗干擾能力。</p><p> 智能傳感器的功能是通過模擬人的感官和大腦的協(xié)調(diào)動作,結(jié)合長期以來測試技術(shù)的研究和實際經(jīng)驗而提出來的,是一個相對獨立的智能單元,它出現(xiàn)對原來硬
46、件性能的苛刻要求有所減輕,而靠軟件幫助可以使傳感器的性能大幅度提高。其功能主要包括:數(shù)據(jù)處理功能、自診斷功能、組態(tài)功能、存儲功能、數(shù)字通訊接口功能、復(fù)合敏感功能、自適應(yīng)功能、人機對話功能、顯示和報普功能和掉電保護功能等。</p><p> 2.2 數(shù)據(jù)采集系統(tǒng)設(shè)計方案論證</p><p> 傳統(tǒng)的數(shù)據(jù)采集系統(tǒng)大多數(shù)是以單片機作為控制核心再加上一些常用外圍電路來構(gòu)建系統(tǒng)的, 數(shù)據(jù)顯示也多
47、是應(yīng)用數(shù)碼管瞬時記錄或近距離范圍內(nèi)應(yīng)用RS232/485等通信方式直接上傳PC機上供用戶參考。然而隨著用戶對數(shù)據(jù)監(jiān)控的距離、數(shù)據(jù)采集的速率及人機交互界面的要求越來越高,傳統(tǒng)的系統(tǒng)己不能滿足更多用戶的需要.目前,美國國家儀器公司(NI)開發(fā)的LabVIEW技術(shù)在數(shù)據(jù)采集技術(shù)領(lǐng)域中由于其高速采集性能、豐富的圖像化編程語言等諸多顯著特性無疑己處于遙遙領(lǐng)先的地位,但此類技術(shù)大都是建立在LabVIEW支持的價格昂貴的數(shù)據(jù)采集硬件基礎(chǔ)之上的,因此在
48、普及應(yīng)用方面受到很大的制約。</p><p> 但是,基于LabVIEW和Proteus兩種軟件共同設(shè)計的數(shù)據(jù)采集系統(tǒng)可以有效的解決此類問題。本次數(shù)據(jù)采集系統(tǒng)的設(shè)計分為下位機數(shù)據(jù)采集部分和上位機數(shù)據(jù)實時監(jiān)測部分。下位機部分主要完成溫度信息的采集功能,上位機部分通過利用LabVIEW軟件設(shè)計界面,完成將接收的數(shù)據(jù)進行簡單處理后實時顯示,并且可以實現(xiàn)串口調(diào)試,溫度上下限設(shè)置以及超限報警等功能,這樣在下位機中就可以省
49、去很多單元電路,比如報警電路、按鍵設(shè)置電路,顯示電路等。通過監(jiān)測歷史描述曲線等信息有效地提高事故的預(yù)見性和工作效率。以AT89C52單片機和DS18B20數(shù)字溫度傳感器為核心的下位機,實現(xiàn)了對溫度的采集和發(fā)送,通過虛擬串口軟件VSPDXP5產(chǎn)生一對虛擬串口COM3、COM4,這樣就可以將上位機和下位機連接起來實現(xiàn)對溫度的采集并且在上位機中通過虛擬儀器顯示出來。設(shè)計中采用LabVIEW實驗室虛擬儀器開發(fā)平臺,它是一個高效的圖形化程序設(shè)計環(huán)
50、境,結(jié)合了簡單易用的圖形式開發(fā)環(huán)境與靈活強大的G編程語言,提供了一個直覺式的環(huán)境,與測量緊密結(jié)合。</p><p> 2.3 單片機程序流圖</p><p> 單片機程序流圖如圖2.1所示</p><p> 圖2.1 單片機程序流圖</p><p> 3 數(shù)據(jù)采集系統(tǒng)的設(shè)計與實現(xiàn)</p><p> 3.1 基
51、于LabVIEW的上位機虛擬儀器界面設(shè)計</p><p> 在LabVIEW中開發(fā)程序包括前面板和程序框圖兩部分。前面板是圖形用戶界面,該界面上有交互式的輸入和輸出兩類控件。輸入控件包括按鈕、數(shù)值、文本和輸入設(shè)備等輸入對象 ,輸出控件包括圖形、數(shù)值、文本、LED和其他顯示輸出對象。程序框圖是實現(xiàn)虛擬儀器邏輯功能的圖形化源代碼,框圖中的編程元素除了包括與前面板的控件對應(yīng)的連線端子外,還有函數(shù)、常數(shù)、結(jié)構(gòu)和連線等。
52、</p><p> 串口通信程序通過VISA來設(shè)計,它是美國NI公司開發(fā)的一種用來與各種儀器總線進行通信的高級應(yīng)用編程接口。LabVIEW8.2以上版本中自帶VISA,裝完VISA驅(qū)動后就可以利用它對USB、GPIB、VXI、PXI、串口和以太網(wǎng)等系統(tǒng)進行配置、編程和調(diào)試。VISA提供了簡單易用的控制函數(shù)集,具有強大的儀器控制與資源管理功能,在應(yīng)用形式上也非常簡單。</p><p>
53、本系統(tǒng)設(shè)計了一個溫度虛擬儀器系統(tǒng),前面板如圖3.1所示,程序框圖如圖3.2所示 </p><p> 圖3.1 溫度采集系統(tǒng)上位機的前面板</p><p> 圖3.2 溫度采集系統(tǒng)上位機的程序框圖</p><p> 前面板具有串口測試、波形顯示、數(shù)據(jù)設(shè)置以及報警等功能。程序框圖中通過VISA來配置、讀寫以及關(guān)閉串口。串口測試按鈕和數(shù)據(jù)采集按鈕通過
54、與非門和與門來實現(xiàn)互鎖,在波形圖表前添加當(dāng)前時間設(shè)置功能。</p><p> 3.2 基于Proteus的下位機單片機系統(tǒng)設(shè)計</p><p> 利用Proteus設(shè)計了一個簡單的單片機仿真系統(tǒng),如圖3.3所示。</p><p> 圖3.3 溫度采集系統(tǒng)下位機仿真系統(tǒng)</p><p> P2口通過一個上拉電阻與溫度傳感器相連,這可以模
55、擬從A/D轉(zhuǎn)換器中讀入現(xiàn)場數(shù)據(jù)。串口部分在仿真時可以省略TTL電平向RS-232電平轉(zhuǎn)換的電路,通過虛擬串口設(shè)置與上位機進行通信,可接受上位機發(fā)送的數(shù)據(jù),并將P2口采集的數(shù)據(jù)不加任何處理直接傳送到上位機,再由上位機進行顯示和處理,這樣可以利用上位機強大的數(shù)據(jù)處理功能來完成相關(guān)運算。</p><p><b> 3.3 聯(lián)調(diào)演示</b></p><p> 要將上位機與
56、下位機通信需要配置一下串口,由于一般PC機只有COM1一個串口,不便于仿真測試,所以通過虛擬串口軟件VSPD XP5來生成一對虛擬串口COM3、COM4,打開該軟件如圖3.4所示</p><p> 圖3.4 虛擬串口設(shè)置</p><p> 它的左上方COM1、COM2是PC機實際的物理串口,下面的是虛擬串口,在未設(shè)置前是空的。點擊Add pair按鈕,在下面就會出現(xiàn)COM3、COM4,
57、這兩個串口是一對虛擬串口,而且符合RS-232標(biāo)準(zhǔn),設(shè)置完成后COM3、COM4就虛擬的連接起來了,功能定義與使用方法完全與PC機自帶物理串口相同,這些功能都是有虛擬串口軟件VSPD XP5來支持的,并不需要人為管理,這在仿真時非常有用,但在做實物時將COM3、COM4分別換成COM1數(shù)據(jù)線的兩端接插頭就可以了。</p><p> 在這里介紹下VSPD的使用方法:</p><p> (
58、1)首先在KEIL里編譯寫好的程序。</p><p> ?。?)打開VSPD,界面如圖3.4所示。</p><p> ?。?)把KEIL和虛擬出來的串口綁定,現(xiàn)在把COM3和KEIL綁定。在KEIL中進入DEBUG模式,在下面的COMMAND命令行中輸入MODE COM3 4800,0,8,1,(設(shè)置串口3的波特率,奇偶校驗位,數(shù)據(jù)位,停止位,打開COM3串口,這里設(shè)置的波特率要和程序中設(shè)
59、置的波特率應(yīng)該一樣),ASSIGN COM3 <SIN> SOUT(把單片機的串口和COM3綁定到一起)。</p><p> (4)打開串口調(diào)試助手,可以看到虛擬出來的串口COM3、COM4,選擇COM4,設(shè)置為波特率4800,無校驗位,8位數(shù)據(jù)位,1位停止位,打開COM4。</p><p> 在上位機中選擇COM4、波特率、數(shù)據(jù)位、停止位等參數(shù)見圖3.1.在下位機中,打開
60、串口COMPIM的屬性,選擇串口COM3,其他配置如圖3.5所示。</p><p> 圖3.5 C0MPIM屬性配置</p><p> 打開單片機的屬性,將單片機晶振設(shè)置為11.0592MHz,以便獲得準(zhǔn)確的4800bps的波特率。將以下源程序用編譯軟件生成HEX文件并下載到單片機,如圖3.6所示</p><p> 圖3.6 單片機屬性配置</p>
61、<p> 單片機源程序見附錄。 </p><p> 運行Proteus,正常后再運行LabVIEW,同時觀察運行效果。在上位機中關(guān)閉數(shù)據(jù)采集按鈕,打開串口調(diào)試助手,下位機將溫度傳感器上的溫度傳至上位機,如圖3.7所示</p><p> 圖3.7 系統(tǒng)仿真結(jié)果</p><p> 從圖3.7虛擬示波器的數(shù)據(jù)可以看到,下位機發(fā)送的數(shù)據(jù)已經(jīng)傳至上位機中
62、。在上位機界面中,選擇串口COM4,波特率設(shè)置為4800bps,選定開始采集按鈕,運行LabVIEW軟件,就可以看到由下位機發(fā)送的溫度數(shù)據(jù)。設(shè)置合適的溫度上下限,當(dāng)溫度超過/低于此溫度時會報警,并且上位機界面中的相應(yīng)指示燈會點亮。在下位機單片系統(tǒng)中,通過手動改變DS18B20上的溫度,可以在上位機界面中看到溫度隨之改變。到此,該仿真系統(tǒng)的功能已經(jīng)實現(xiàn)并且仿真成功。</p><p><b> 4 總結(jié)&
63、lt;/b></p><p> 利用LabVIEW開發(fā)上位機界面操作簡單、快捷,并且功能強大,使用者可以集中時間和精力用于實驗的執(zhí)行,數(shù)據(jù)的分析及結(jié)論的總結(jié)上,而不用將大量的時間花費在實驗系統(tǒng)設(shè)備的搭建上。因此LabVIEW既適合于科學(xué)研究,又適合于工程應(yīng)用。利用Proteus建立單片機仿真系統(tǒng)快速、方便,可以直觀運行結(jié)果,在沒有目標(biāo)原型時就可以對系統(tǒng)進行調(diào)試、測試和驗證,和實際工程應(yīng)用相接近。由此可以看
64、出,在實際的項目開發(fā)中,先基于該兩種軟件建立一個數(shù)據(jù)采集仿真系統(tǒng),可以有效驗證項目設(shè)計的正確性,從而大大縮短開發(fā)時間,降低設(shè)計成本。</p><p><b> 參考文獻</b></p><p> [1] 蔡春麗.虛擬儀器技術(shù)及其軟件開發(fā)平臺LabVIEW.重慶職業(yè)技術(shù)學(xué)院學(xué)報,2004</p><p> [2] 周潤景,張麗娜.基于Pro
65、teus的電路及單片機系統(tǒng)設(shè)計與仿真[M].北京:北京航空航天大學(xué)出版社,2006.185-193.</p><p> [3] 杜玉玲.基于LabVIEW和PCI-7422的數(shù)據(jù)采集系統(tǒng)設(shè)計.淮海工學(xué)院學(xué)報,2004.</p><p> [4] 候國屏,王坤,葉齊鑫.LabVIEW8.5編程與虛擬儀器設(shè)計.清華大學(xué)出版社,2005.</p><p> [5]
66、周林,殷俠等.數(shù)據(jù)采集與分析技術(shù).西安電子科技大學(xué)出版社, 2005.</p><p> [6] 石博,強編著. LabVIEW6.1編程技術(shù)實用教程[M].北京:中國鐵道出版社,2002.50-62.</p><p> [7] 王建群,基于LabVIEW的虛擬儀器開發(fā)[J].計算機工程與應(yīng)用,2003.</p><p> [8] 陳錫輝,張銀鴻.LabVIE
67、W8.5程序設(shè)計從入門到精通[M].北京:清華大學(xué)出版社,2007.</p><p> [9] 金陽.LabVIEW在數(shù)據(jù)采集中的應(yīng)用.湖北汽車工業(yè)學(xué)院學(xué)報,2002</p><p> [10] 王文海.基于Proteus的PC機與單片機串口通信的仿真[J].科技咨詢導(dǎo)報,2007(26):1-3.</p><p> [11] 楊樂平,李海濤,楊磊.LabVI
68、EW程序設(shè)計與應(yīng)用[M].2版.北京:電子工業(yè)出版社,2005.</p><p> [12] 劉軍華.基于LabVIEW的虛擬儀器設(shè)計[M].北京:電子工業(yè)出版社,2003.</p><p> [13] 林正盛.虛擬儀器技術(shù)及其應(yīng)用[J].電子技術(shù)應(yīng)用,1997,(3):12-15.</p><p> [14] 楊樂平,李海濤.LabVIEW的高級程序設(shè)計[M
69、].北京:清華大學(xué)出版社,2003.390-399.</p><p> [15] 雷振山.LabVIEWExpress使用技術(shù)教程[M].北京:中國鐵道出版社,2004.260-265.</p><p> [16] Robert H. Bishop LabVIEW 6i實用教程[M].北京:電子工業(yè)出版社,2003.185-196.</p><p> [17]
70、 M K Hu.Pattem Recognition by Moment Invariants[J].Proc IRE.Trans Information Theory.1962.179-187.</p><p><b> 附錄:</b></p><p><b> 單片機源程序</b></p><p> #inclu
71、de <reg52.h></p><p> #include <intrins.h></p><p> #defineINT8Uunsigned char</p><p> #defineINT16Uunsigned int</p><p> sbit DQ = P2^5; </p&g
72、t;<p> bit presence;</p><p> float f_temp;</p><p> unsigned int tempds = 0;</p><p> unsigned char temp_value[4] = {0,0,0,0};</p><p> unsigned char temp_dat
73、a[2] = {0,0};</p><p> unsigned char T_flag;</p><p> void delay1(INT16U i)</p><p><b> {</b></p><p> for(;i>0;i--); </p><p><b>
74、}</b></p><p> void Delay(unsigned char time) //12M晶振,延時時間30us * time</p><p><b> {</b></p><p> unsigned char m,n;</p><p> for(n=0;n<time;n++)&
75、lt;/p><p> for(m=0;m<2;m++)</p><p><b> {}</b></p><p><b> }</b></p><p> /*初始化ds1820 */</p><p&
76、gt; bit DS18B20_Init(void)</p><p><b> { </b></p><p><b> EA = 0;</b></p><p> DQ = 1 ; //DQ復(fù)位</p><p> Delay(1) ; //稍做延時</p>
77、<p> DQ = 0 ; //單片機將DQ拉低</p><p> Delay(30) ; //精確延時 大于 480us</p><p> DQ = 1 ; //拉高總線</p><p> Delay(3) ;</p><p> presence = DQ ; //如果=0則初始化成功 =
78、1則初始化失敗</p><p> Delay(28) ;</p><p><b> DQ = 1 ; </b></p><p><b> EA = 1;</b></p><p> return presence ; //返回信號,0=presence,1= no presence</
79、p><p><b> } </b></p><p> /* 讀一個字節(jié) */</p><p> unsigned char ReadOneChar(void)</p><p><b> {</b></p><p> unsign
80、ed char i = 0 ;</p><p> unsigned char dat = 0 ;</p><p><b> EA = 0;</b></p><p> for (i = 8 ; i > 0 ; i--)</p><p><b> {</b></p><
81、p> DQ = 0 ; // 給脈沖信號</p><p> dat >>= 1 ;</p><p> DQ = 1 ; // 給脈沖信號 </p><p><b> if(DQ)</b></p><p> dat |= 0x80 ;</p><p> Delay(7)
82、 ;</p><p><b> }</b></p><p><b> EA = 1;</b></p><p> return (dat) ;</p><p><b> }</b></p><p> /* 寫一個字節(jié)
83、 */</p><p> void WriteOneChar(unsigned char dat)</p><p><b> {</b></p><p> unsigned char i = 0 ;</p><p><b> EA = 0;</b&
84、gt;</p><p> for (i = 8 ; i > 0 ; i--)</p><p><b> {</b></p><p><b> DQ = 0 ;</b></p><p> DQ = dat&0x01 ;</p><p> Delay(7)
85、 ;</p><p><b> DQ = 1 ;</b></p><p><b> dat>>=1 ;</b></p><p><b> }</b></p><p><b> EA = 1;</b></p><p&g
86、t;<b> }</b></p><p> /* 讀取溫度 */</p><p> void Read_Temperature()</p><p><b> {</b></p><p><b> do</b><
87、;/p><p><b> {</b></p><p> DS18B20_Init() ;</p><p><b> }</b></p><p> while(presence != 0);</p><p> WriteOneChar(0xCC) ; // 跳過讀序號
88、列號的操作</p><p> WriteOneChar(0x44) ; // 啟動溫度轉(zhuǎn)換</p><p><b> Delay(6);</b></p><p><b> do</b></p><p><b> {</b></p><p>
89、DS18B20_Init() ;</p><p><b> }</b></p><p> while(presence != 0);</p><p> WriteOneChar(0xCC) ; //跳過讀序號列號的操作</p><p> WriteOneChar(0xBE) ; //讀取溫度寄存器</p
90、><p><b> Delay(6);</b></p><p> temp_data[0] = ReadOneChar() ; //溫度低8位</p><p> temp_data[1] = ReadOneChar() ; //溫度高8位 </p><p> if(temp_data[1] & 0x8
91、0)</p><p> T_flag = 1; //溫度為負</p><p> else T_flag = 0; //溫度為正 </p><p><b> }</b></p><p> void Temp_Change() //溫度轉(zhuǎn)化函數(shù)</p><p&
92、gt;<b> {</b></p><p><b> EA = 0;</b></p><p> if(!T_flag)</p><p> f_temp = (temp_data[1] * 256 + temp_data[0]) * 0.0625;</p><p><b> els
93、e </b></p><p> f_temp = ((~(temp_data[1] * 256 + temp_data[0]) + 1)) * 0.0625;</p><p> tempds = f_temp * 100;</p><p> temp_value[0] = tempds / 1000;</p><p> t
94、emp_value[1] = tempds % 1000 / 100;</p><p> temp_value[2] = tempds % 100 / 10;</p><p> temp_value[3] = tempds % 10;</p><p><b> EA = 1;</b></p><p><b&g
95、t; }</b></p><p> void StartUART( void )</p><p> { //波特率4800</p><p> SCON = 0x50;</p><p> TMOD = 0x20;</p><p> TH1 = 0xFA;</p>&l
96、t;p> TL1 = 0xFA;</p><p> PCON = 0x00;</p><p><b> TR1 = 1;</b></p><p><b> }</b></p><p> void R_S_Byte(INT8U R_Byte)</p><p>&
97、lt;b> {</b></p><p> SBUF = R_Byte; </p><p> while( TI == 0 );//查詢法</p><p><b> TI = 0;</b></p><p><b> }</b></p><p&
98、gt; void main(void)</p><p><b> {</b></p><p> INT8U i =0;</p><p> Read_Temperature();</p><p> Temp_Change();</p><p> StartUART();</p>
99、;<p><b> while(1)</b></p><p><b> {</b></p><p> Read_Temperature();</p><p> Temp_Change(); </p><p> R_S_Byte(temp_value[0]);</p>
100、;<p> Delay(100);</p><p> R_S_Byte('+');</p><p> Delay(100);</p><p> R_S_Byte(temp_value[1]);</p><p> Delay(100);</p><p> R_S_Byte(
101、9;-');</p><p> Delay(100);</p><p> R_S_Byte(temp_value[2]);</p><p> Delay(100);</p><p> R_S_Byte('*');</p><p> Delay(100);</p><
102、p> R_S_Byte(temp_value[3]);</p><p> Delay(100);</p><p> R_S_Byte('/');</p><p> Delay(100); </p><p><b> }</b></p><p><b>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設(shè)計(論文)+基于labview的數(shù)據(jù)采集系統(tǒng)的設(shè)計與實現(xiàn)
- 基于labview的數(shù)據(jù)采集系統(tǒng)設(shè)計【畢業(yè)設(shè)計】
- 基于labview的數(shù)據(jù)采集系統(tǒng)設(shè)計【畢業(yè)設(shè)計】
- 基于labview的聲卡數(shù)據(jù)采集系統(tǒng)設(shè)計畢業(yè)設(shè)計論文
- 畢業(yè)設(shè)計基于labview的溫度采集系統(tǒng)
- labview數(shù)據(jù)采集系統(tǒng)設(shè)計與實現(xiàn)
- 基于LabVIEW的USB數(shù)據(jù)采集系統(tǒng)的設(shè)計與實現(xiàn).pdf
- 基于LabVIEW的浪高數(shù)據(jù)采集系統(tǒng)設(shè)計與實現(xiàn).pdf
- 基于LabVIEW數(shù)據(jù)采集系統(tǒng)的設(shè)計.pdf
- 基于usb總線數(shù)據(jù)采集系統(tǒng)設(shè)計與實現(xiàn)畢業(yè)設(shè)計
- 基于labview的遠程數(shù)據(jù)采集系統(tǒng)設(shè)計 畢業(yè)論文
- 畢業(yè)設(shè)計(論文)+基于can總線數(shù)據(jù)采集系統(tǒng)的設(shè)計與實現(xiàn)
- 基于USB接口的LabVIEW數(shù)據(jù)采集與傳輸系統(tǒng)的設(shè)計與實現(xiàn).pdf
- 基于labview的數(shù)據(jù)采集與處理系統(tǒng)設(shè)計
- 畢業(yè)設(shè)計---基于labview和數(shù)據(jù)采集卡的船舶機艙監(jiān)控系統(tǒng)
- 基于labview的數(shù)據(jù)采集系統(tǒng)設(shè)計-文獻綜述
- 基于LabVIEW的通用數(shù)據(jù)采集系統(tǒng)的設(shè)計.pdf
- 基于labview與usb2.0的dsp數(shù)據(jù)采集與處理系統(tǒng)的設(shè)計實現(xiàn)
- 畢業(yè)設(shè)計---基于無線傳輸?shù)臄?shù)據(jù)采集系統(tǒng)設(shè)計
- 畢業(yè)設(shè)計---基于無線傳輸?shù)臄?shù)據(jù)采集系統(tǒng)設(shè)計
評論
0/150
提交評論