2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論