畢業(yè)設(shè)計(jì)(論文)-基于labview的串口通訊系統(tǒng)設(shè)計(jì)_第1頁(yè)
已閱讀1頁(yè),還剩45頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p><b>  摘要</b></p><p>  虛擬儀器是現(xiàn)代計(jì)算機(jī)技術(shù)同儀器技術(shù)深層次結(jié)合的全新概念儀器,實(shí)質(zhì)是利用計(jì)算機(jī)顯示器的顯示功能模擬傳統(tǒng)儀器的控制面板,以多種形式表達(dá)輸出測(cè)量結(jié)果,利用計(jì)算機(jī)強(qiáng)大的軟件功能實(shí)現(xiàn)信號(hào)數(shù)據(jù)的運(yùn)算、分析和處理,完成各種測(cè)試功能的一種計(jì)算機(jī)儀器系統(tǒng)。</p><p>  本文介紹了利用LabVIEW語(yǔ)言來(lái)實(shí)現(xiàn)上、下位

2、機(jī)之間通信的方法,并從軟、硬件兩個(gè)方面闡述了設(shè)計(jì)思想。從實(shí)現(xiàn)PC機(jī)PC機(jī)之間的串口通信出發(fā),先實(shí)現(xiàn)雙PC機(jī)之間的數(shù)據(jù)發(fā)送、返還和接收,進(jìn)而設(shè)計(jì)了以PC機(jī)作為上位機(jī),以飛思卡爾8位單片機(jī)作為下位機(jī)的基于labview軟件的串口通信系統(tǒng)。經(jīng)過(guò)實(shí)驗(yàn)調(diào)試,系統(tǒng)達(dá)到了預(yù)期的通信目標(biāo)。</p><p>  應(yīng)用先進(jìn)的虛擬儀器軟件LABVIEW,大大降低了串口通訊復(fù)雜程度,減小了軟件設(shè)計(jì)的工作量,能夠大大降低投資成本。在實(shí)際應(yīng)

3、用中有巨大的使用價(jià)值。</p><p>  關(guān)鍵詞: 虛擬儀器;Labview ;串口通信;單片機(jī)</p><p>  Design of the serial communication system Based on LabVIEW</p><p><b>  Abstract</b></p><p>  Virtu

4、al instrument is the modern computer technology combined with the instrumentation of the new concept of deep-level instruments, in real terms is the use of analog computer monitors display control panel, traditional inst

5、ruments, in various forms to express the output measurements, using computer software features to achieve a strong signal Operation data, analysis and processing, to complete a variety of testing capabilities of a comput

6、er instrument system </p><p>  This article describes the use of LabVIEW to implement the language, the next method of communication between the crew and from the software and hardware are two aspects of t

7、he design. PC-PC, from the implementation of serial communication between the departure, the first to achieve double the data between the PC, send and return, receive, and then designed a PC, as the host computer to Free

8、scale 8-bit microcontroller based on a lower machine LabVIEW software serial communication system. After e</p><p>  The application of advanced virtual instrument software LabVIEW, greatly reduces the comple

9、xity of serial communication, reduce the workload of the software design can greatly reduce the investment cost. In practice, there is tremendous value in use.</p><p>  Keywords: virtual instrument; Labview;

10、 serial communication; microcontroller</p><p><b>  目錄</b></p><p>  第1章 緒論1</p><p>  1.1 課題的背景和意義1</p><p>  1.2 虛擬儀器的概念1</p><p>  1.

11、2.1 虛擬儀器的特點(diǎn)1</p><p>  1.2.2 虛擬儀器和傳統(tǒng)儀器的區(qū)別2</p><p>  1.3 虛擬儀器概述3</p><p>  1.3.1 虛擬儀器方案的組成4</p><p>  1.3.2 虛擬儀器方案的優(yōu)勢(shì)4</p><p>  1.4 虛擬儀器

12、的發(fā)展與現(xiàn)狀5</p><p>  1.5 虛擬儀器的應(yīng)用6</p><p>  1.6 課題實(shí)現(xiàn)內(nèi)容6</p><p>  第2章 虛擬儀器與LabVIEW7</p><p>  2.1 LabVIEW簡(jiǎn)介7</p><p>  2.2 LabVIEW的基本特點(diǎn)7</p&

13、gt;<p>  2.3 LabVIEW創(chuàng)建虛擬儀器過(guò)程8</p><p>  2.4 本章小結(jié)9</p><p>  第3章 串行通信10</p><p>  3.1 串行通信的概念和特點(diǎn)10</p><p>  3.2 串行通信的分類10</p><p>  3.

14、2.1 同步通信11</p><p>  3.2.2 異步通信11</p><p>  3.2.3 異步通信和同步通信的比較11</p><p>  3.3 串行通信的工作模式12</p><p>  3.3.1 單工形式:早期的電流環(huán)12</p><p>  3.3.2

15、半雙工形式:RS-48512</p><p>  3.3.3 全雙工形式:RS-23213</p><p>  3.4 通信參數(shù)13</p><p>  3.4.1 波特率14</p><p>  3.4.2 數(shù)據(jù)位14</p><p>  3.4.3 停止位14</p&

16、gt;<p>  3.4.4 奇偶校驗(yàn)位14</p><p>  3.5 本章小結(jié)15</p><p>  第4章 PC與PC串口通信16</p><p>  4.1 設(shè)計(jì)目的和實(shí)現(xiàn)方案16</p><p>  4.1.1 設(shè)計(jì)目的16</p><p>  4.1.2

17、 實(shí)現(xiàn)方案16</p><p>  4.2 系統(tǒng)硬件結(jié)構(gòu)16</p><p>  4.2.1 RS-232的功能特性描述16</p><p>  4.2.2 硬件線路18</p><p>  4.3 軟件設(shè)計(jì)19</p><p>  4.3.1 VISA簡(jiǎn)介19</

18、p><p>  4.3.3 程序的實(shí)現(xiàn)22</p><p>  4.4 本章小結(jié)25</p><p>  第5章 PC與單片機(jī)串口通信26</p><p>  5.1 設(shè)計(jì)目的和實(shí)現(xiàn)方案26</p><p>  5.1.1 設(shè)計(jì)目的26</p><p>  5.

19、1.2 實(shí)現(xiàn)方案26</p><p>  5.2 系統(tǒng)硬件結(jié)構(gòu)26</p><p>  5.2.1 硬件線路26</p><p>  5.2.2 MC9S08AW60 單片機(jī)介紹27</p><p>  5.3 軟件實(shí)現(xiàn)29</p><p>  5.3.1 上位機(jī)PC機(jī)La

20、bVIEW串口通訊的實(shí)現(xiàn)29</p><p>  5.3.2 下位機(jī)串行通信程序設(shè)計(jì)35</p><p>  5.4 本章小結(jié)37</p><p>  第6章 結(jié)論和展望38</p><p><b>  致謝39</b></p><p><b>  參考文獻(xiàn)4

21、0</b></p><p><b>  附錄41</b></p><p>  附錄1 圖表目錄41</p><p>  附錄2 單片機(jī)程序42</p><p><b>  緒論</b></p><p>  1.1 課題的背景和意義</

22、p><p>  目前以計(jì)算機(jī)為上位機(jī)和以單片機(jī)為下位機(jī)的集散式控制系統(tǒng)被廣泛的應(yīng)用于工業(yè)檢測(cè)和控制系統(tǒng)中。由于PC機(jī)的分析處理能力強(qiáng),處理速度快,而單片機(jī)價(jià)格低廉、體積小、使用靈活方便,所以主機(jī)一般采用PC機(jī),而從機(jī)則采用單片機(jī)。串行通信是一種常用的數(shù)據(jù)傳輸方法,雖然它的傳輸速度慢,但它占用的通信線路少,成本低,在工程的通信方式上仍有重要地位。通過(guò)PC機(jī)的RS-232串行接口與單片機(jī)之間串行通信是主要的通信手段。本文

23、從實(shí)現(xiàn)基于labview的PC機(jī)PC機(jī)之間的串口通信出發(fā),先實(shí)現(xiàn)雙PC機(jī)之間的數(shù)據(jù)發(fā)送和返還、接收,進(jìn)而設(shè)計(jì)了以PC機(jī)作為上位機(jī),以飛思卡爾8位單片機(jī)作為下位機(jī)的串口通信系統(tǒng)。</p><p>  1.2 虛擬儀器的概念</p><p>  1.2.1 虛擬儀器的特點(diǎn)</p><p>  虛擬儀器與傳統(tǒng)儀器技術(shù)不同,虛擬儀器在通用計(jì)算機(jī)平臺(tái)上通過(guò)數(shù)據(jù)采集

24、設(shè)備,然后根據(jù)用戶的實(shí)際需求就可以構(gòu)建起不同的系統(tǒng)。所以虛擬儀器實(shí)際上是一個(gè)按照用戶的實(shí)際需求組成的數(shù)據(jù)采集系統(tǒng)[1]。虛擬儀器采用了通用的硬件,各種儀器的差異主要是軟件,它主要使用計(jì)算機(jī)顯示器的顯示功能來(lái)顯示模擬傳統(tǒng)儀器的控制面板,這就可以用多種形式輸出檢測(cè)結(jié)果,即實(shí)用又美觀。目前,計(jì)算機(jī)和儀器的密切結(jié)合并且結(jié)合的越來(lái)越緊密是儀器發(fā)展的一個(gè)重要方向[2]。虛擬儀器系統(tǒng)可以歸納為圖1.1。</p><p>  圖

25、1.1 虛擬儀器系統(tǒng)</p><p>  具體來(lái)說(shuō),虛擬儀器有以下特點(diǎn):</p><p>  虛擬儀器利用了計(jì)算機(jī)豐富的軟件資源。這樣就可以使部分儀器的硬件軟件化,增加了系統(tǒng)靈活性,并且節(jié)省了資源。另外,計(jì)算機(jī)還能實(shí)時(shí)、直接地對(duì)測(cè)試數(shù)據(jù)進(jìn)行各種分析與處理[1]。</p><p>  (2) 因?yàn)樘摂M儀器融合了計(jì)算機(jī)的硬件資源,計(jì)算機(jī)來(lái)直接處理這些應(yīng)用,這樣就大大的

26、增強(qiáng)了傳統(tǒng)儀器的功能,突破了傳統(tǒng)儀器在數(shù)據(jù)處理、顯示、傳輸、存儲(chǔ)等方面的限制。</p><p>  (3) 虛擬儀器基于計(jì)算機(jī)總線和模塊化儀器的總線,這樣就使儀器的硬件實(shí)現(xiàn)了模塊化,就可以方便地構(gòu)建模塊化的虛擬儀器[3]。</p><p>  (4) 當(dāng)今世界的計(jì)算機(jī)技術(shù)和相關(guān)的技術(shù)發(fā)展十分迅速,虛擬儀器也是建立在此基礎(chǔ)上的,因此虛擬儀器隨著計(jì)算機(jī)更新的速度快,功能越來(lái)與強(qiáng)大[4]。<

27、;/p><p>  (5) 由于計(jì)算機(jī)的體系是開放式的,所以虛擬儀器的硬件和軟件都具有開放性、可重復(fù)使用的特點(diǎn)。因此,用戶可根據(jù)自己的需要,選用不同廠家的產(chǎn)品,而且硬件還可以互換,這樣就使虛擬儀器系統(tǒng)更為靈活[4]。</p><p>  1.2.2 虛擬儀器和傳統(tǒng)儀器的區(qū)別</p><p>  每一個(gè)虛擬儀器都是由軟件和硬件兩部分夠成。但是由于虛擬儀器具很大的靈活

28、性,功能可以通過(guò)不同的采集卡和程序改變。因此這種靈活的構(gòu)建方式大大節(jié)約了成本[5]。</p><p>  傳統(tǒng)廠商的儀器都是功能由廠商定義,并且已經(jīng)預(yù)封裝好軟件和硬件,所以功能比較單一,使用上也沒有任何的靈活性。而虛擬儀器系統(tǒng)的功能則完全由用戶自己定義,所需要的也僅僅是通用的計(jì)算機(jī)平臺(tái)和數(shù)據(jù)采集卡[6]。所以,利用虛擬儀器可以創(chuàng)造出高效且功能強(qiáng)大的儀器。通過(guò)表1.1我們可以更直觀的看出虛擬儀器與傳統(tǒng)儀器的區(qū)別。&

29、lt;/p><p>  表1.1虛擬儀器與傳統(tǒng)儀器的區(qū)別</p><p>  1.3 虛擬儀器概述</p><p>  虛擬儀器(Virtual Insturment,簡(jiǎn)稱VI),即是在以通用計(jì)算機(jī)(PC)為核心的硬件平臺(tái)上,由用戶設(shè)計(jì)定義、具有虛擬面板、測(cè)試功能由測(cè)試軟件實(shí)現(xiàn)的一種計(jì)算機(jī)儀器系統(tǒng)。虛擬儀器技術(shù)就是利用性能高的模塊化硬件,結(jié)合靈活高效的軟件來(lái)完成各

30、種測(cè)試、測(cè)量和自動(dòng)化的應(yīng)用。靈活高效的軟件能夠開發(fā)出完全符合用戶的自定義界面,模塊化的硬件能方便靈活地提供全面的系統(tǒng)集成,標(biāo)準(zhǔn)的軟硬件平臺(tái)能滿足對(duì)同步和定時(shí)應(yīng)用的需求。因?yàn)橥瑫r(shí)擁有高效的軟件、模塊化I/O硬件和用于集成的軟硬件平臺(tái)這三大組成部分,虛擬儀器技術(shù)性能高、擴(kuò)展性強(qiáng)、開發(fā)時(shí)間少,以及出色的集成這四大優(yōu)勢(shì)就能充分發(fā)揮出來(lái)[7]。</p><p>  虛擬儀器是基于計(jì)算機(jī)的儀器。計(jì)算機(jī)和儀器的密切結(jié)合并且結(jié)合

31、的越來(lái)越緊密是目前儀器發(fā)展的一個(gè)重要方向[7]。粗略地講計(jì)算機(jī)與儀器的結(jié)合有兩種方式:一種是將計(jì)算機(jī)裝入儀器,其典型的例子就是所謂智能化的儀器,像目前的單片機(jī)設(shè)計(jì)。但是儀器的功能較為單一,不具有通用性;另外一種方式就是是將儀器裝入計(jì)算機(jī),以通用的計(jì)算機(jī)(PC)硬件及操作系統(tǒng)為依托,實(shí)現(xiàn)各種儀器的功能[8]。虛擬儀器主要是指這種方式。常見的虛擬儀方案如圖1.2所示。</p><p>  圖1.2 虛擬儀器方案<

32、;/p><p>  1.3.1 虛擬儀器方案的組成</p><p><b>  高效的軟件。</b></p><p>  軟件是虛擬儀器技術(shù)中最重要的部分。使用正確的軟件工具并通過(guò)設(shè)計(jì)或調(diào)用特定的程序模塊,工程師們可以高效地創(chuàng)建自己的應(yīng)用以及友好的人機(jī)交互界面。NI公司提供的行業(yè)標(biāo)準(zhǔn)圖形化編程軟件——LabVIEW,不僅能輕松方便地完成與各種

33、軟硬件的連接,更能提供強(qiáng)大的后續(xù)數(shù)據(jù)處理能力,設(shè)置數(shù)據(jù)處理、轉(zhuǎn)換、存儲(chǔ)的方式,并將結(jié)果顯示給用戶。此外,NI提供了更多交互式的測(cè)量工具和更高層的系統(tǒng)管理軟件工具,滿足客戶對(duì)高性能應(yīng)用的需求。</p><p>  模塊化的I/O硬件。</p><p>  面對(duì)如今日益復(fù)雜的測(cè)試測(cè)量應(yīng)用,NI提供了全方位的軟硬件的解決方案。無(wú)論用戶是使用PCI、PXI、PCMCIA、USB或者是1394總線,

34、NI都能提供相應(yīng)的模塊化的硬件產(chǎn)品,產(chǎn)品種類從數(shù)據(jù)采集、信號(hào)處理、聲音和振動(dòng)測(cè)量、視覺、運(yùn)動(dòng)、儀器控制、分布式I/O到CAN接口等工業(yè)通信,應(yīng)有盡有。NI高性能的硬件產(chǎn)品結(jié)合靈活的開發(fā)軟件,可以為負(fù)責(zé)測(cè)試和設(shè)計(jì)工作的工程師們創(chuàng)建完全自定義的測(cè)量系統(tǒng),滿足各種獨(dú)特的應(yīng)用要求。目前,NI已經(jīng)達(dá)到了每?jī)蓚€(gè)工作日推出一款硬件產(chǎn)品的速度,大大拓寬了用戶的選擇面。</p><p>  用于集成的軟硬件平臺(tái)。</p>

35、;<p>  NI首先提出的專為測(cè)試任務(wù)設(shè)計(jì)的PXI硬件平臺(tái),已經(jīng)成為當(dāng)今測(cè)試、測(cè)量和自動(dòng)化應(yīng)用的標(biāo)準(zhǔn)平臺(tái),它的開放式構(gòu)架、靈活性和PC技術(shù)的成本優(yōu)勢(shì),為測(cè)量和自動(dòng)化行業(yè)帶來(lái)了一場(chǎng)翻天覆地的變革。由NI發(fā)起的PXI系統(tǒng)聯(lián)盟現(xiàn)已吸引了68家廠商,聯(lián)盟屬下的產(chǎn)品數(shù)量也已激增至近千種。</p><p>  1.3.2 虛擬儀器方案的優(yōu)勢(shì)</p><p>  虛擬儀器技術(shù)就是利

36、用高性能的模塊化硬件,結(jié)合高效靈活的軟件來(lái)完成各種測(cè)試、測(cè)量和自動(dòng)化的應(yīng)用。只有同時(shí)擁有高效的軟件、模塊化I/O硬件和用于集成的軟硬件平臺(tái)這三大組成部分,才能充分發(fā)揮虛擬儀器技術(shù)性能高、擴(kuò)展性強(qiáng)、開發(fā)時(shí)間少以及出色的集成這四大優(yōu)勢(shì)。</p><p><b>  1、性能高</b></p><p>  虛擬儀器技術(shù)是在現(xiàn)代PC技術(shù)的基礎(chǔ)上發(fā)展起來(lái)的,所以完全“繼承”了現(xiàn)

37、代PC技術(shù)的各種優(yōu)點(diǎn),包括高性能的微處理器和文件I/O,使得在數(shù)據(jù)導(dǎo)入硬盤的同時(shí)就能實(shí)時(shí)地對(duì)數(shù)據(jù)進(jìn)行復(fù)雜的分析處理[9]。另外,目前最新的計(jì)算機(jī)技術(shù)(如多核、PCI Express等)也在不斷的推動(dòng)虛擬儀器技術(shù)的發(fā)展,使虛擬儀器的優(yōu)勢(shì)更大。</p><p><b>  2、擴(kuò)展性強(qiáng)</b></p><p>  虛擬儀器具有強(qiáng)大的靈活性,僅僅需更新計(jì)算機(jī)或者測(cè)量的硬件設(shè)

38、備,就可以方便的改進(jìn)整個(gè)現(xiàn)有系統(tǒng)。</p><p><b>  3、開發(fā)時(shí)間少</b></p><p>  在驅(qū)動(dòng)和應(yīng)用兩個(gè)層面上,虛擬儀器能把計(jì)算機(jī)、儀器儀表和通訊方面的最新技術(shù)結(jié)合在一起。這些新技術(shù)在方便用戶操作的同時(shí),也提供了高靈活性和強(qiáng)大的功能,輕松地配置、創(chuàng)建、發(fā)布、擴(kuò)展、維護(hù)和修改高性能、低成本的測(cè)量和控制解決方案[10]。</p><

39、p><b>  4、出色的集成度</b></p><p>  虛擬儀器技術(shù)從本質(zhì)上說(shuō)是一個(gè)集成的軟硬件概念。隨著產(chǎn)品在功能上不斷地趨于復(fù)雜,常常需要把多個(gè)測(cè)量設(shè)備集成到一起來(lái)滿足完整的測(cè)試需求,但是連接和集成這些不同設(shè)備總是要耗費(fèi)大量的時(shí)間[10]。NI公司的虛擬儀器軟件提供了標(biāo)準(zhǔn)的接口,這樣可以幫助用戶輕松地將多個(gè)測(cè)量設(shè)備集成到一個(gè)系統(tǒng)之中,提高了效率,減少了任務(wù)的復(fù)雜性[11]。&

40、lt;/p><p>  1.4 虛擬儀器的發(fā)展與現(xiàn)狀</p><p>  在虛擬儀器出現(xiàn)之前,傳統(tǒng)儀器設(shè)備就是普通的模擬測(cè)量設(shè)備。每一種儀器就是一種完全封閉的專用系統(tǒng)[12]。如果想存儲(chǔ)或者進(jìn)一步處理數(shù)據(jù),就需要人工繼續(xù)操作。虛擬儀器從最初的概念提出到現(xiàn)在日趨成熟的技術(shù),這些都離不開計(jì)算機(jī)技術(shù)的飛速。簡(jiǎn)單來(lái)說(shuō),隨著計(jì)算機(jī)技術(shù)的發(fā)展,虛擬儀器的發(fā)展大致經(jīng)歷了以下幾個(gè)階段。</p>

41、;<p>  第一階段是使用計(jì)算機(jī)增強(qiáng)傳統(tǒng)儀器的功能。由于計(jì)算機(jī)技術(shù)的長(zhǎng)足發(fā)展和接口的統(tǒng)一,計(jì)算機(jī)和外界通信成為可能,只要把儀器和計(jì)算機(jī)通過(guò)特定的接口相連接,用戶就可以通過(guò)計(jì)算機(jī)控制儀器的功能,這使得用計(jì)算機(jī)控制測(cè)控儀器成為一種趨勢(shì)[13]。</p><p>  第二階段是開放式的通用接口和儀器硬件構(gòu)成。隨著時(shí)代的發(fā)展,儀器的硬件出現(xiàn)了技術(shù)進(jìn)步:插入式的計(jì)算機(jī)數(shù)據(jù)采集卡和儀器總線標(biāo)準(zhǔn)的確立。這些新的

42、技術(shù)使儀器的構(gòu)成和接口得以統(tǒng)一和不斷開放,這樣就慢慢地消除了原來(lái)由用戶定義和供應(yīng)商定義的儀器功能的區(qū)別[14]。</p><p>  第三階段,虛擬儀器構(gòu)架和結(jié)構(gòu)得到了廣泛認(rèn)同和采用。在硬件和軟件領(lǐng)域產(chǎn)生許多行業(yè)標(biāo)準(zhǔn),有幾個(gè)虛擬儀器平臺(tái)已經(jīng)得到廣泛的應(yīng)用并有趨勢(shì)逐漸成為虛擬儀器行業(yè)標(biāo)準(zhǔn)。然后用戶可以把許多儀器的功能通過(guò)軟件編寫的方式封裝起來(lái)用虛擬儀器實(shí)現(xiàn)[14]。</p><p>  第四

43、階段,虛擬儀器編程的行業(yè)標(biāo)準(zhǔn)產(chǎn)生了,接口、總線、傳輸?shù)榷加型ㄟ^(guò)統(tǒng)一的標(biāo)準(zhǔn),虛擬儀器的作者只要把大部分精力放在程序的開發(fā)和儀器功能的設(shè)計(jì)上就可以了,就不需要考慮這些問(wèn)題[15]。</p><p>  在以上階段中,可以看出在虛擬儀器技術(shù)發(fā)展中有兩個(gè)特別突出的標(biāo)志:一個(gè)是各種總線標(biāo)準(zhǔn)的建立和應(yīng)用,它從硬件標(biāo)準(zhǔn)上為虛擬儀器鋪平了道路;另一個(gè)是圖形化編程語(yǔ)言的出現(xiàn),用戶不再面對(duì)枯燥的代碼,這就使用戶把更多的精力放在程序的

44、流程和效率上面。</p><p>  1.5 虛擬儀器的應(yīng)用</p><p><b>  1 監(jiān)控方面</b></p><p>  用虛擬儀器系統(tǒng)可以隨時(shí)采集和記錄從傳感去傳來(lái)的數(shù)據(jù),并對(duì)之進(jìn)行統(tǒng)計(jì)、數(shù)字濾波、頻域分析等處理,從而實(shí)現(xiàn)監(jiān)控功能。</p><p><b>  2 檢測(cè)方面</b&g

45、t;</p><p>  在實(shí)驗(yàn)室中,利用虛擬儀器開發(fā)工具開發(fā)專用虛擬儀器系統(tǒng),可以把一臺(tái)個(gè)人計(jì)算機(jī)編成一組檢測(cè)儀器,用于數(shù)據(jù)/圖像采集、控制與模擬。中國(guó)農(nóng)業(yè)大學(xué)的研究人員利虛擬儀器開發(fā)平臺(tái)開發(fā)了用于精密播種機(jī)性能檢測(cè)的實(shí)驗(yàn)室自動(dòng)化系統(tǒng)。</p><p><b>  3 教育方面</b></p><p>  現(xiàn)在,隨著虛擬儀器系統(tǒng)的廣泛應(yīng)用,

46、越來(lái)越多的教學(xué)部門也開始用它來(lái)建立教學(xué)系統(tǒng),不僅大大節(jié)省了開支,而且由于虛擬儀器系統(tǒng)具有靈活、可重用性強(qiáng)等優(yōu)點(diǎn),是的教學(xué)方法也更加靈活。</p><p><b>  4 電信方面</b></p><p>  由于虛擬儀器具有靈活的圖形用戶接口和強(qiáng)大的檢測(cè)功能,同時(shí)又能與GPIB和VXI一起兼容,因此很多工程師和研究人員都把它用于電信檢測(cè)和場(chǎng)測(cè)試。</p>

47、<p>  1.6 課題實(shí)現(xiàn)內(nèi)容</p><p>  本課題研究基于LabVIEW的串口通信系統(tǒng)。包括PC與PC之間串口通信和PC與單片機(jī)之間串口通信兩個(gè)部分。下文從設(shè)計(jì)思想及軟、硬件設(shè)計(jì)方面予以介紹。</p><p>  虛擬儀器與LabVIEW</p><p>  2.1 LabVIEW簡(jiǎn)介</p><p>  

48、LabVIEW是實(shí)驗(yàn)室虛擬儀器集成環(huán)境(Laboratory Virtual Instrument Engineering Workbench)的簡(jiǎn)稱,它是美國(guó)國(guó)家儀器公司(NATIONAI INSTRUMENTS,簡(jiǎn)稱NI)的創(chuàng)新軟件產(chǎn)品。</p><p>  LabVIEW為用戶構(gòu)造自己的儀器系統(tǒng)提供了完美的解決途徑。虛擬儀器通過(guò)軟件將計(jì)算機(jī)硬件資源與儀器硬件有機(jī)地融合為一個(gè)整體,這就把計(jì)算機(jī)中含有的強(qiáng)大的計(jì)

49、算處理能力和儀器硬件的測(cè)量、控制能力結(jié)合在一起,大大縮小了儀器硬件的成本和體積和開發(fā)時(shí)間。虛擬儀器隨著與計(jì)算機(jī)的發(fā)展而發(fā)展,它還與網(wǎng)絡(luò)及其他周邊設(shè)備進(jìn)行互聯(lián),我們只需改變軟件程序就就可以不斷擴(kuò)展增強(qiáng)虛擬儀器的測(cè)量功能,并且這十分簡(jiǎn)單[16]。</p><p>  LabVIEW也是一種通用的編程系統(tǒng),它具有各種各樣、功能強(qiáng)大、簡(jiǎn)單易用的函數(shù)庫(kù),這些函數(shù)庫(kù)里包含著包括數(shù)據(jù)采集、網(wǎng)絡(luò)傳輸、串行儀器控制、數(shù)據(jù)分析、數(shù)據(jù)

50、顯示及數(shù)據(jù)存儲(chǔ)等功能。LabVIEW也有完善的仿真、調(diào)試工具,如設(shè)置斷點(diǎn)、單步等,十分方便用戶調(diào)試。此外LabVIEW有動(dòng)態(tài)連續(xù)的跟蹤方式,利用此功能可以動(dòng)態(tài)、連續(xù)地觀察程序中的數(shù)據(jù)及其變化情況,這比其它語(yǔ)言的開發(fā)環(huán)境更加方便、更加有效。</p><p>  LabVIEW采用圖形化編程語(yǔ)言——G語(yǔ)言,它所產(chǎn)生的程序是框圖的形式,這種形式易學(xué)易用,因?yàn)镚語(yǔ)言可在很短的時(shí)間內(nèi)掌握并應(yīng)用到實(shí)踐中去。圖形化的程序設(shè)計(jì)編

51、程比傳統(tǒng)的編程語(yǔ)言簡(jiǎn)單直觀,并且開發(fā)效率高。隨著虛擬儀器技術(shù)的不斷發(fā)展,這種圖形化的編程語(yǔ)言一定會(huì)通行的標(biāo)準(zhǔn)[17]。</p><p>  2.2 LabVIEW的基本特點(diǎn)</p><p>  1 具有良好的圖形用戶界面。用LabVIEW可以在計(jì)算機(jī)屏幕上產(chǎn)生出類似于傳統(tǒng)儀器的面板,包括按鈕、旋鈕、開關(guān)、圖形顯示組件、控制組件等等。這些組件都具有高仿真度[18]。</p&g

52、t;<p>  2 比起其它的語(yǔ)言來(lái)說(shuō)編程簡(jiǎn)單、由于采用圖形化的語(yǔ)言——G語(yǔ)言,用圖形化的方式編寫程序。</p><p>  3 具有良好的模塊化和層次結(jié)構(gòu)的特點(diǎn)。用LabVIEW編寫的VI即可以作為頂層程序使用,還可以作為其它大型程序的子程序進(jìn)行調(diào)用。</p><p>  4 LabVIEW軟件中提供功能強(qiáng)大程序調(diào)試工具。程序調(diào)試工具可以在源代碼中可以設(shè)置斷點(diǎn),

53、可以單步執(zhí)行,也可以啟動(dòng)。</p><p>  2.3 LabVIEW創(chuàng)建虛擬儀器過(guò)程</p><p>  LabVIEW里包含很多函數(shù)庫(kù)和開發(fā)庫(kù),其中就有專門用于設(shè)計(jì)數(shù)據(jù)采集程序和儀器控制程序的。用LabVIEW進(jìn)行的程序設(shè)計(jì)本質(zhì)上就是設(shè)計(jì)一個(gè)又一個(gè)的小“虛擬儀器”,即“vis”。編程時(shí)在計(jì)算機(jī)顯示屏幕上能看到各種控件的前面版(Front Panel),十分簡(jiǎn)潔和傳統(tǒng)儀器沒有什么區(qū)

54、別;但是在后臺(tái)就是程序框圖,這些框圖都是利用G語(yǔ)言來(lái)編寫出來(lái)的。由于程序的前面板具有與傳統(tǒng)儀器的界面相類似,前面板可以接受鼠標(biāo)和鍵盤命令。程序里每一個(gè)Vl都可以被其他VI調(diào)用,也可以單獨(dú)使用,不受任何限制。在LabVIEW中創(chuàng)建虛擬儀器的過(guò)程主要分為四步:</p><p><b>  1 建立新VI</b></p><p>  啟動(dòng)LabVIEW程序,單機(jī)VI按鈕

55、,建立一個(gè)新VI程序。這是將同時(shí)打開LabVIEW的前面板和后面板(框圖程序面板)。在前面板中顯示控件選板,在后面板中顯示函數(shù)選板。在兩個(gè)面板中都顯示工具選板。</p><p>  2 創(chuàng)建虛擬儀器的前面板。虛擬儀器的前面板類似于普通儀器的面板,它是圖形化的用戶界面,用于設(shè)置輸入數(shù)值和觀察輸出量,是人、機(jī)交互的窗口。它有著各種控件:按鈕、旋鈕、開關(guān)、圖形顯示組件和其它顯示顯示組件等等。前面板對(duì)象按照功能可以分

56、為控制、指示和修飾3種??刂剖怯脩粼O(shè)置和修改VI程序中輸入量的接口:指示則用于顯示VI程序產(chǎn)生或輸出的數(shù)據(jù)。如果將一個(gè)VI程序比作一臺(tái)儀器的話,那么控制就是儀器的數(shù)據(jù)輸入端口和控制開關(guān),而指示則是儀器的顯示窗口,用于顯示測(cè)量結(jié)果。我們通過(guò)鼠標(biāo)和鍵盤輸入數(shù)據(jù)、點(diǎn)擊按鈕,就可以在計(jì)算機(jī)顯示器上直接觀看結(jié)果,十分方便快捷。若想要在數(shù)字控制中輸入或修改數(shù)值,只需要用工具模板的操作工具點(diǎn)擊控制部件和增減按鈕,或者用操作工具或標(biāo)簽工具雙擊數(shù)值欄進(jìn)行

57、輸入數(shù)值修改。</p><p>  3 創(chuàng)建框圖程序。在軟件前面板窗口的主菜單windows窗口中選擇Show Diagram就可以將前面板窗口切換到框圖程序窗口,這時(shí)我們就會(huì)看到與前面板對(duì)應(yīng)的端口和框圖??驁D程序由節(jié)點(diǎn)、端口和連線組成。節(jié)點(diǎn)是VI程序中的執(zhí)行元素,類似于文本編程語(yǔ)言程序中的語(yǔ)句、函數(shù)或者子程序。端口是數(shù)據(jù)在框圖程序部分和前面板之間傳輸?shù)耐ǖ澜涌冢约皵?shù)據(jù)在框圖程序的節(jié)點(diǎn)之間傳輸?shù)慕涌?。端口?/p>

58、似于文本程序中的參數(shù)和常數(shù)。連線是端口間的數(shù)據(jù)通道,類似于文本程序中的復(fù)制語(yǔ)句。數(shù)據(jù)時(shí)單向流動(dòng)的,從源端口向一個(gè)或多個(gè)目的端口流動(dòng)。不同的線型代表不同的數(shù)據(jù)類型,每種數(shù)據(jù)類型還以不同的顏色予以強(qiáng)調(diào)。根據(jù)需要在功能模板中找到所需的節(jié)點(diǎn),并將節(jié)點(diǎn)圖標(biāo)放置到框圖程序窗口。用數(shù)據(jù)連線將這些端口和節(jié)點(diǎn)的圖標(biāo)連接起來(lái),就形成了一個(gè)完整的框圖程序。</p><p>  4 運(yùn)行和調(diào)試程序。在LabVIEW中,我們可以通過(guò)運(yùn)

59、行和連續(xù)運(yùn)行這兩種方法來(lái)運(yùn)行程序。如果運(yùn)行時(shí)候一個(gè)VI程序存在語(yǔ)法錯(cuò)誤,那么在面板工具條上的運(yùn)行按鈕將會(huì)變成一個(gè)折斷的箭頭,這就表示程序不能被執(zhí)行需要修改。這時(shí)這個(gè)按鈕就被稱作錯(cuò)誤列表。點(diǎn)擊此按鈕,在LabVIEW中就會(huì)彈出錯(cuò)誤清單的窗口,里面羅列的就是程序中的錯(cuò)誤,選用Find功能,那么出錯(cuò)的對(duì)象或端口就會(huì)變成高亮顯示出來(lái)。在調(diào)試程序時(shí)可以利用單步執(zhí)行、設(shè)置斷點(diǎn)、設(shè)置探針等方法來(lái)顯示數(shù)據(jù)流動(dòng)方向。</p><p&g

60、t;  2.4 本章小結(jié)</p><p>  本章對(duì)LabVIEW軟件進(jìn)行了介紹,包括軟件的發(fā)展歷程,軟件的特點(diǎn)。對(duì)LabVIEW創(chuàng)建虛擬儀器過(guò)程做了大致的描述。</p><p><b>  串行通信</b></p><p>  3.1 串行通信的概念和特點(diǎn)</p><p>  串行通信是指使用一條數(shù)據(jù)線(另

61、外需要地線,可能還需要控制線),將數(shù)據(jù)一位一位地依次傳輸,每一位數(shù)據(jù)占據(jù)一個(gè)固定的時(shí)間長(zhǎng)度。其只需要少數(shù)幾條線就可以在系統(tǒng)間交換信息,特別使用于計(jì)算機(jī)與計(jì)算機(jī)、計(jì)算機(jī)與外設(shè)之間的遠(yuǎn)距離通信。使用串口通信時(shí),發(fā)送和接收到的每一個(gè)字符實(shí)際上都是一次一位的傳送的,每一位為1或者為0。如圖3.1所示。</p><p><b>  圖3.1串行通信</b></p><p>  

62、串行通信的特點(diǎn)是:數(shù)據(jù)傳送按位順序進(jìn)行,最少值只需要一根傳輸線即可完成,節(jié)省傳輸線。與并行通信相比還有較為顯著的優(yōu)點(diǎn),傳輸距離長(zhǎng),可以幾米到幾千米。在長(zhǎng)距離內(nèi)串行數(shù)據(jù)傳送速率比并行數(shù)據(jù)傳送速率快,串行通信的通信時(shí)鐘頻率容易提高,串行通信的干擾能力十分強(qiáng),其信號(hào)間的互相干擾完全可以忽略。但是串行通信傳送速率比并行通信慢很多,并行通信時(shí)間為T,則串行時(shí)間為NT。</p><p>  正是由于串行通信的接線少、成本低,

63、因此它在數(shù)據(jù)采集和控制系統(tǒng)中得到了廣泛的應(yīng)用,產(chǎn)品也多種多樣。RS-232的通信距離一般為15米,波仕電子的RS-232可以達(dá)到500米以上。</p><p>  3.2 串行通信的分類</p><p>  串行傳輸中,數(shù)據(jù)時(shí)一位一位按照到達(dá)的順序依次傳輸?shù)?,每位?shù)據(jù)的發(fā)送的接受都需要時(shí)鐘來(lái)控制,發(fā)送端通過(guò)發(fā)送時(shí)鐘確定數(shù)據(jù)位的開始和結(jié)束,接受端需要在適當(dāng)?shù)臅r(shí)間間隔對(duì)數(shù)據(jù)流進(jìn)行采樣來(lái)正

64、確的識(shí)別數(shù)據(jù)。接收端和發(fā)送端必須保持步調(diào)一致,否則數(shù)據(jù)傳輸就會(huì)出現(xiàn)差錯(cuò)。為了解決以上問(wèn)題,串行通信可采用以下兩種方法:同步通信和異步通信。</p><p>  3.2.1 同步通信</p><p>  同步通信是一種連續(xù)串行傳送數(shù)據(jù)的通信方式,一次通信只傳送一幀信息。這里的信息幀與異步通信中的字符幀不同,通常含有若干個(gè)數(shù)據(jù)字符。</p><p>  它們均由同

65、步字符、數(shù)據(jù)字符和校驗(yàn)字符(CRC)組成。其中同步字符位于幀開頭,用于確認(rèn)數(shù)據(jù)字符的開始。數(shù)據(jù)字符在同步字符之后,個(gè)數(shù)沒有限制,由所需傳輸?shù)臄?shù)據(jù)塊長(zhǎng)度來(lái)決定;校驗(yàn)字符有1到2個(gè),用于接收端對(duì)接收到的字符序列進(jìn)行正確性的校驗(yàn)。同步通信的缺點(diǎn)是要求發(fā)送時(shí)鐘和接收時(shí)鐘保持嚴(yán)格的同步。</p><p>  3.2.2 異步通信</p><p>  串行異步通信即RS232通信,是主機(jī)與外部硬

66、件設(shè)備的常用通訊方式??梢噪p向傳輸。如衛(wèi)星信號(hào)接收版收到的數(shù)據(jù)傳導(dǎo)到計(jì)算機(jī)處理,主要使用串行異步通信處理。</p><p>  異步通信中,有兩個(gè)比較重要的指標(biāo):字符幀格式和波特率。數(shù)據(jù)通常以字符或者字節(jié)為單位組成字符幀傳送。字符幀由發(fā)送端逐幀發(fā)送,通過(guò)傳輸線被接收設(shè)備逐幀接收。發(fā)送端和接收端可以由各自的時(shí)鐘來(lái)控制數(shù)據(jù)的發(fā)送和接收,這兩個(gè)時(shí)鐘源彼此獨(dú)立,互不同步。</p><p>  接收

67、端檢測(cè)到傳輸線上發(fā)送過(guò)來(lái)的低電平邏輯"0"(即字符幀起始位)時(shí),確定發(fā)送端已開始發(fā)送數(shù)據(jù),每當(dāng)接收端收到字符幀中的停止位時(shí),就知道一幀字符已經(jīng)發(fā)送完畢。</p><p>  異步通信中典型的幀格式是:1位起始位,7位(或8位)數(shù)據(jù)位,1位奇偶校驗(yàn)位,2位停止位。</p><p>  3.2.3 異步通信和同步通信的比較</p><p>  

68、(1)異步通信簡(jiǎn)單,雙方時(shí)鐘可允許一定誤差。同步通信較復(fù)雜,雙方時(shí)鐘的允許誤差較小。</p><p>  (2)異步通信只適用于點(diǎn)對(duì)點(diǎn)通信,同步通信可用于點(diǎn)對(duì)多通信。</p><p> ?。?)通信效率:異步通信低,同步通信高。</p><p>  由于本實(shí)驗(yàn)只是完成點(diǎn)對(duì)點(diǎn)的通信,異步通信即可滿足要求,而且傳輸?shù)臄?shù)據(jù)量很小,不需要很高的通信效率,異步通信亦可滿足,考

69、慮到異步通信的方式線路簡(jiǎn)單,容易實(shí)現(xiàn),因此本次設(shè)計(jì)采用異步通信的工作方式。</p><p>  3.3 串行通信的工作模式</p><p>  通過(guò)單線傳輸信息是串行數(shù)據(jù)通信的基礎(chǔ)。數(shù)據(jù)通常是在兩個(gè)站(點(diǎn)對(duì)點(diǎn))之間進(jìn)行傳送,按照數(shù)據(jù)流方向可分成三種傳送模式:?jiǎn)喂?、半雙工、全雙工。</p><p>  3.3.1 單工形式:早期的電流環(huán)</p>

70、<p>  單工形式的數(shù)據(jù)傳送是單向的。通信雙方中,一方固定是發(fā)送端,另一方則固定是接收端,使用一根傳輸線,如圖3.2所示。</p><p><b>  圖3.2單工形式</b></p><p>  3.3.2 半雙工形式:RS-485</p><p>  半雙工通信使用同一根傳輸線,即可發(fā)送數(shù)據(jù)又可接受數(shù)據(jù),但不能同時(shí)發(fā)送

71、和接受。在任何時(shí)刻只能由其中的一方發(fā)送數(shù)據(jù),另一方接受數(shù)據(jù)。因此半雙工形式既可以使用一條數(shù)據(jù)線,也可以使用兩條數(shù)據(jù)線。如圖3.3所示。</p><p><b>  圖3.3半雙工形式</b></p><p>  半雙工通信中每個(gè)端口都需要有一個(gè)收/發(fā)切換電子開關(guān),通過(guò)切換來(lái)決定數(shù)據(jù)向哪個(gè)方向傳輸。因?yàn)橛星袚Q,所以會(huì)產(chǎn)生時(shí)間延遲,信息傳輸效率較低。但是對(duì)于像打印機(jī)這樣單

72、方向傳輸?shù)耐鈬O(shè)備,用半雙工方式就能滿足要求了,不用采用全雙工方式,可節(jié)省一根傳輸線。</p><p>  波仕電子的RS-232/RS-485轉(zhuǎn)換器使用了獨(dú)特的零延時(shí)自動(dòng)收發(fā)轉(zhuǎn)換技術(shù),直接從RS-485信號(hào)中用硬件提取收發(fā)轉(zhuǎn)換控制信號(hào),并具備零延時(shí)的性能。其中零延時(shí)指收發(fā)切換過(guò)程轉(zhuǎn)變時(shí)間為0。在使用時(shí)與RS-232通信一樣。</p><p>  3.3.3 全雙工形式:RS-232

73、</p><p>  全雙工數(shù)據(jù)通信分別由兩根可以在兩個(gè)不同的端點(diǎn)同時(shí)發(fā)送和接收的傳輸線進(jìn)行傳送,通信雙方都能在同一時(shí)刻進(jìn)行發(fā)送和接收操作。如圖3.4所示。</p><p><b>  圖3.4全雙工形式</b></p><p>  在全雙工形式中,每一端都有發(fā)送器和接收器,有兩條傳送線,可在交互式應(yīng)用和遠(yuǎn)程監(jiān)控系統(tǒng)中使用,信息傳輸效率較高。&

74、lt;/p><p>  鑒于全雙工工作模式可以通信雙方同時(shí)同時(shí)發(fā)送數(shù)據(jù)的優(yōu)勢(shì),本次設(shè)計(jì)采用全雙工的工作模式。 </p><p>  3.4 通信參數(shù)</p><p>  串行端口的通信方式是將字節(jié)拆分成一個(gè)接著一個(gè)的位再傳送出去。接到此信號(hào)的一方在將此一個(gè)一個(gè)的位組合成原來(lái)的字節(jié),如此形成一個(gè)字節(jié)的完整傳送。</p><p>  在傳輸進(jìn)行

75、的過(guò)程中,雙方明確傳送的具體方式,否則雙方就沒有一套共同的譯碼方式,從而無(wú)法了解對(duì)方所傳過(guò)來(lái)的信息的意義。因此雙方為了進(jìn)行通信,必須遵守一定的通信規(guī)則,這個(gè)共同的規(guī)則就是通信端口的初始化。</p><p>  通信端口的初始化必須對(duì)以下參數(shù)進(jìn)行設(shè)置。</p><p>  3.4.1 波特率</p><p>  這是一個(gè)衡量通信速度的參數(shù)。它表示每秒鐘傳送的bi

76、t的個(gè)數(shù)。例如300波特表示每秒鐘發(fā)送300個(gè)bit。當(dāng)我們提到時(shí)鐘周期時(shí),我們就是指波特率例如如果協(xié)議需要4800波特率,那么時(shí)鐘是4800Hz。這意味著串口通信在數(shù)據(jù)線上的采樣率為4800Hz。通常電話線的波特率為14400,28800和36600。波特率可以遠(yuǎn)遠(yuǎn)大于這些值,但是波特率和距離成反比。高波特率常常用于放置的很近的儀器間的通信,典型的例子就是GPIB設(shè)備的通信。</p><p>  3.4.2

77、 數(shù)據(jù)位</p><p>  這是衡量通信中實(shí)際數(shù)據(jù)位的參數(shù)。當(dāng)計(jì)算機(jī)發(fā)送一個(gè)信息包,實(shí)際的數(shù)據(jù)不會(huì)是8位的,標(biāo)準(zhǔn)的值是5、7和8位。如何設(shè)置取決于你想傳送的信息。比如,標(biāo)準(zhǔn)的ASCII碼是0~127(7位)。擴(kuò)展的ASCII碼是0~255(8位)。如果數(shù)據(jù)使用簡(jiǎn)單的文本(標(biāo)準(zhǔn) ASCII碼),那么每個(gè)數(shù)據(jù)包使用7位數(shù)據(jù)。每個(gè)包是指一個(gè)字節(jié),包括開始/停止位,數(shù)據(jù)位和奇偶校驗(yàn)位。由于實(shí)際數(shù)據(jù)位取決于通信協(xié)議的選

78、取,術(shù)語(yǔ)“包”指任何通信的情況。</p><p>  3.4.3 停止位</p><p>  用于表示單個(gè)包的最后一位。典型的值為1,1.5和2位。由于數(shù)據(jù)是在傳輸線上定時(shí)的,并且每一個(gè)設(shè)備有其自己的時(shí)鐘,很可能在通信中兩臺(tái)設(shè)備間出現(xiàn)了小小的不同步。因此停止位不僅僅是表示傳輸?shù)慕Y(jié)束,并且提供計(jì)算機(jī)校正時(shí)鐘同步的機(jī)會(huì)。適用于停止位的位數(shù)越多,不同時(shí)鐘同步的容忍程度越大,但是數(shù)據(jù)傳輸率同

79、時(shí)也越慢。 </p><p>  3.4.4 奇偶校驗(yàn)位</p><p>  在串口通信中一種簡(jiǎn)單的檢錯(cuò)方式。有四種檢錯(cuò)方式:偶、奇、高和低。當(dāng)然沒有校驗(yàn)位也是可以的。對(duì)于偶和奇校驗(yàn)的情況,串口會(huì)設(shè)置校驗(yàn)位(數(shù)據(jù)位后面的一位),用一個(gè)值確保傳輸?shù)臄?shù)據(jù)有偶個(gè)或者奇?zhèn)€邏輯高位。例如,如果數(shù)據(jù)是011,那么對(duì)于偶校驗(yàn),校驗(yàn)位為0,保證邏輯高的位數(shù)是偶數(shù)個(gè)。如果是奇校驗(yàn),校驗(yàn)位位1,這樣就有

80、3個(gè)邏輯高位。高位和低位不真正的檢查數(shù)據(jù),簡(jiǎn)單置位邏輯高或者邏輯低校驗(yàn)。這樣使得接收設(shè)備能夠知道一個(gè)位的狀態(tài),有機(jī)會(huì)判斷是否有噪聲干擾了通信或者是否傳輸和接收數(shù)據(jù)是否不同步。</p><p>  3.5 本章小結(jié)</p><p>  本章介紹了串行通信傳輸距離長(zhǎng),接線少,成本低的特點(diǎn)。串行通信分為同步通信、異步通信兩種方式。工作模式分為單工、半雙工和全雙工??紤]到本次設(shè)計(jì)的要求,這里

81、選擇全雙工異步通信的工作方式來(lái)實(shí)現(xiàn)。最后,介紹了串口初始化需要設(shè)置的通信參數(shù)。</p><p><b>  PC與PC串口通信</b></p><p>  4.1 設(shè)計(jì)目的和實(shí)現(xiàn)方案</p><p>  4.1.1 設(shè)計(jì)目的</p><p>  利用PC的串口進(jìn)行數(shù)據(jù)通訊在當(dāng)今的通信領(lǐng)域中占有著重要的地位,用

82、RS-232串行口直接對(duì)接兩臺(tái)機(jī)器,以此來(lái)實(shí)現(xiàn)通信、數(shù)據(jù)和文件傳輸。采用串行端口連接雙機(jī)進(jìn)行數(shù)據(jù)傳輸,是通信和數(shù)據(jù)傳輸?shù)囊环N簡(jiǎn)單易行的好方法。而采用圖形化界面的Labview軟件編寫通信程序,可以大大的簡(jiǎn)化編程的復(fù)雜程度,在生產(chǎn)和生活中具有使用重大的應(yīng)用價(jià)值。</p><p>  4.1.2 實(shí)現(xiàn)方案</p><p>  兩臺(tái)計(jì)算機(jī)進(jìn)行通信,一臺(tái)通過(guò)串口發(fā)送數(shù)據(jù),另一臺(tái)計(jì)算機(jī)接收發(fā)送

83、來(lái)的數(shù)據(jù),并返還數(shù)據(jù)。兩臺(tái)計(jì)算機(jī)之間利用一條串口數(shù)據(jù)線連接起來(lái)。當(dāng)兩臺(tái)串口設(shè)備通信距離較近時(shí),可以直接連接,最簡(jiǎn)單的情況,在通信中只需要三根線(發(fā)送線、接收線、信號(hào)地線)便可實(shí)現(xiàn)雙全工異步串行通信。</p><p>  4.2 系統(tǒng)硬件結(jié)構(gòu)</p><p>  4.2.1 RS-232的功能特性描述</p><p>  通常RS-232接口以9個(gè)引腳(D

84、B-9)或是25個(gè)引腳(DB-25)的型態(tài)出現(xiàn),一般個(gè)人計(jì)算機(jī)上會(huì)有兩組RS-232接口,分別稱為COM1和COM2。RS-232標(biāo)準(zhǔn)規(guī)定的數(shù)據(jù)傳輸速率為每秒150、300、600、1200、2400、4800、9600、19200波特。</p><p>  RS-232標(biāo)準(zhǔn)規(guī)定,驅(qū)動(dòng)器允許有2500pF的電容負(fù)載,通信距離將受此電容限制,例如,采用150pF/m的通信電纜時(shí),最大通信距離為15m;若每米電纜的電

85、容量減小,通信距離可以增加。傳輸距離短的另一原因是RS-232屬單端信號(hào)傳送,存在共地噪聲和不能抑制共模干擾等問(wèn)題,因此一般用于20m以內(nèi)的通信。</p><p>  EIA-RS-232C對(duì)電器特性、邏輯電平和各種信號(hào)線功能都作了規(guī)定。</p><p> ?。?)在TxD和RxD上:</p><p>  邏輯1(MARK)=-3V~-15V</p>

86、<p>  邏輯0(SPACE)=+3~+15V</p><p>  (2)在RTS、CTS、DSR、DTR和DCD等控制線上:</p><p>  信號(hào)有效(接通,ON狀態(tài),正電壓)=+3V~+15V</p><p>  信號(hào)無(wú)效(斷開,OFF狀態(tài),負(fù)電壓) =-3V~-15V</p><p>  以上規(guī)定說(shuō)明了RS-323C標(biāo)準(zhǔn)

87、對(duì)邏輯電平的定義。對(duì)于數(shù)據(jù)(信息碼):邏輯“1”(傳號(hào))的電平低于-3V,邏輯“0”(空號(hào))的電平高于+3V;對(duì)于控制信號(hào);接通狀態(tài)(ON)即信號(hào)有效的電平高于+3V,斷開狀態(tài)(OFF)即信號(hào)無(wú)效的電平低于-3V,也就是當(dāng)傳輸電平的絕對(duì)值大于3V時(shí),電路可以有效地檢查出來(lái),介于-3~+3V之間的電壓無(wú)意義,低于-15V或高于+15V的電壓也認(rèn)為無(wú)意義,因此,實(shí)際工作時(shí),應(yīng)保證電平在±(3~15)V之間[19]。</p&g

88、t;<p>  RS-232C的功能特性定義了25芯標(biāo)準(zhǔn)連接器中的20根信號(hào)線,其中2條地線、4條數(shù)據(jù)線、11條控制線、3條定時(shí)信號(hào)線,剩下的5根線作備用或未定義。常用的只有10根:</p><p> ?。?)數(shù)據(jù)發(fā)送準(zhǔn)備好(Data set ready-DSR)——有效時(shí)(ON)狀態(tài),表明MODEM處于可以使用的狀態(tài)。</p><p> ?。?)數(shù)據(jù)終端準(zhǔn)備好(Data t

89、erminal ready-DTR)——有效時(shí)(ON)狀態(tài),表明數(shù)據(jù)終端可以使用。</p><p>  (3)請(qǐng)求發(fā)送(Request to send-RTS)——用來(lái)表示DTE請(qǐng)求DCE發(fā)送數(shù)據(jù),它用來(lái)控制MODEM是否要進(jìn)入發(fā)送狀態(tài)。</p><p> ?。?)允許發(fā)送(Clear to send-CTS)——用來(lái)表示DCE準(zhǔn)備好接收DTE發(fā)來(lái)的數(shù)據(jù),是對(duì)請(qǐng)求發(fā)送信號(hào)RTS的響應(yīng)信號(hào)。

90、</p><p>  (5)接收線信號(hào)檢出(Received Line detection-RLSD)——用來(lái)表示DCE已接通通信鏈路,告知DTE準(zhǔn)備接收數(shù)據(jù)。</p><p>  (6)振鈴指示(Ringing-RI)——當(dāng)MODEM收到交換臺(tái)送來(lái)的振鈴呼叫信號(hào)時(shí),使該信號(hào)有效(ON狀態(tài)),通知終端,已被呼叫。</p><p>  (7)發(fā)送數(shù)據(jù)(Transmit

91、ted data-TxD)——通過(guò)TxD終端將串行數(shù)據(jù)發(fā)送到MODEM,(DTE→DCE)。 </p><p> ?。?)接收數(shù)據(jù)(Received data-RxD)——通過(guò)RxD線終端接收從MODEM發(fā)來(lái)的串行數(shù)據(jù),(DCE→DTE )。</p><p> ?。?)GND、Sig.GND——保護(hù)地和信號(hào)地,無(wú)方向。</p><p>  由于RS-232接口標(biāo)準(zhǔn)出

92、現(xiàn)較早,難免有不足之處,主要有以下四點(diǎn): </p><p>  (1)接口的信號(hào)電平值較高,易損壞接口電路的芯片,又因?yàn)榕cTTL電平不兼容故需使用電平轉(zhuǎn)換電路方能與TTL電路連接。 </p><p>  (2)傳輸速率較低,在異步傳輸時(shí),波特率≤20Kbps。 </p><p>  (3)接口使用一根信號(hào)線和一根信號(hào)返回線而構(gòu)成共地的傳輸形式,這種共地傳輸容易產(chǎn)生共

93、模干擾,所以抗噪聲干擾性弱。 </p><p> ?。?)傳輸距離有限,最大傳輸距離標(biāo)準(zhǔn)值為50英尺(實(shí)際≤15米)。</p><p>  雖然RS-232不會(huì)是在串行通信中最理想的應(yīng)用元件,但在本次設(shè)計(jì)中,RS-232完全可以完成設(shè)計(jì)的基本要求。</p><p>  4.2.2 硬件線路</p><p>  當(dāng)兩臺(tái)RS-232串口設(shè)備

94、通信距離較近時(shí)(<15m),可以用電纜線直接將兩臺(tái)設(shè)備的RS-232端口連接;若通信距離較遠(yuǎn)(>15m)時(shí),需附加調(diào)制解調(diào)器(Modem)。</p><p>  在RS-232的應(yīng)用中,很少嚴(yán)格按照RS-232標(biāo)準(zhǔn)。其主要原因是因?yàn)樵S多定義的信號(hào)在大多數(shù)的應(yīng)用中并沒有用上。在許多應(yīng)用中,例如Modem,只用了9個(gè)信號(hào)(兩條數(shù)據(jù)線、6條控制線、一條地線);在其他一些應(yīng)用中,可能只需要5個(gè)信號(hào)(兩條數(shù)據(jù)線

95、、兩條握手線、一條地線);還有一些應(yīng)用,可能只需要數(shù)據(jù)線,而不需要握手線,即只需要3個(gè)信號(hào)線。因?yàn)樵诳刂祁I(lǐng)域,在近距離通信時(shí)常采用RS-232,所以這里只對(duì)近距離通信的線路連接進(jìn)行討論。</p><p>  當(dāng)通信距離較近時(shí),通信雙方不需要Modem,可以直接連接,這種情況下,只需使用少數(shù)幾根信號(hào)線。最簡(jiǎn)單的情況,在通信中根本不需要RS-232C的控制聯(lián)絡(luò)信號(hào),只需三根線(發(fā)送線、接收線、信號(hào)地線)便可實(shí)現(xiàn)全雙工

96、異步串行通信。</p><p>  在實(shí)際使用中常使用串口通信線將兩個(gè)串口設(shè)備連接起來(lái)。串口線的制作方法非常簡(jiǎn)單:準(zhǔn)備兩個(gè)9針的串口接線端子(因?yàn)橛?jì)算機(jī)上的串口為公頭,因此連接線為母頭),準(zhǔn)備3根導(dǎo)線(最好采用3芯屏蔽線),按圖4.1所示將導(dǎo)線焊接到接線端子上。</p><p>  圖4.1 串口通信線的制作 圖4.2 PC與PC串口通信線路</p>

97、<p>  圖4.2所示中的2號(hào)接收腳與3號(hào)發(fā)送腳交叉連接是因?yàn)樵谥边B方式時(shí),把通信雙方都當(dāng)作數(shù)據(jù)終端設(shè)備看待,雙方都可發(fā)也可收。在這種方式下,通信雙方的任何一方,只要請(qǐng)求發(fā)送RTS有效和數(shù)據(jù)終端準(zhǔn)備好DTR有效就能開始發(fā)送和接收。</p><p>  在計(jì)算機(jī)通電前,按圖4.2所示將兩臺(tái)PC的COM1口用串口線連接起來(lái)。</p><p>  4.3 軟件設(shè)計(jì)</

98、p><p>  4.3.1 VISA簡(jiǎn)介</p><p>  本設(shè)計(jì)采用了VISA的串行通訊子VI來(lái)開發(fā)串行通信軟件。NI-VISA(Virtual Instrument Software Architecture,以下簡(jiǎn)稱為"VISA")是美國(guó)國(guó)家儀器NI(National1nstrLlrnent)公司開發(fā)的一種用來(lái)與各種儀器總線進(jìn)行通信的高級(jí)應(yīng)用編程接口。VISA

99、總線軟件是一個(gè)綜合軟件包,不受平臺(tái)、總線和環(huán)境的限制,可用來(lái)對(duì)USB、GPIB、串口、VXI、PXI和以太網(wǎng)系統(tǒng)進(jìn)行配置、編程和調(diào)試。VISA是虛擬儀器系統(tǒng)I/O接口軟件?;谧缘紫蛏辖Y(jié)構(gòu)模型的VISA創(chuàng)造了一個(gè)統(tǒng)一形式的I/O控制函數(shù)集。一方面,對(duì)初學(xué)者或是簡(jiǎn)單任務(wù)的設(shè)計(jì)者來(lái)說(shuō),VISA提供了簡(jiǎn)單易用的控制函數(shù)集,在應(yīng)用形式上相當(dāng)簡(jiǎn)單;另一方面,對(duì)復(fù)雜系統(tǒng)的組建者來(lái)說(shuō),VISA提供了非常強(qiáng)大的儀器控制功能與資源管理。</p>

100、;<p>  VISA(Virtual In-strument Software Archiecture)作為一種虛擬儀器軟件規(guī)范,是用于儀器編程的標(biāo)準(zhǔn)I/O函數(shù)庫(kù)及其相關(guān)規(guī)范的總稱。VISA庫(kù)駐留在計(jì)算機(jī)系統(tǒng)中,完成計(jì)算機(jī)與儀器之間的連接,用以實(shí)現(xiàn)對(duì)儀器的程序控制。</p><p>  作為儀器I/O函數(shù)庫(kù),VISA編程與傳統(tǒng)的I/0軟件編程基本相同,主要是通過(guò)設(shè)備的端口讀寫操作和屬性控制,實(shí)現(xiàn)與

101、儀器的命令與數(shù)據(jù)交換。VISA函數(shù)按照功能基本上可以分為基本I/0、格式化I/O、內(nèi)存I/O、資源管理、共享內(nèi)存管理、事件處理和屬性控制等幾大類。用戶可以在VISA中利用SCPI命令來(lái)控制基于消息基的儀器和帶有SCPI命令翻譯節(jié)點(diǎn)的基于寄存器級(jí)的儀器,對(duì)于不接收SCPI命令的儀器,也可以通過(guò)使用VISA的寄存器讀寫節(jié)點(diǎn)直接訪問(wèn)儀器的底層寄存器的方法來(lái)實(shí)現(xiàn)對(duì)儀器的控制。VISA函數(shù)庫(kù)中的函數(shù)以VISA節(jié)點(diǎn)的形式出現(xiàn)。VISA節(jié)點(diǎn)位于All

102、Function>>Instrument I/O>>VISA目錄下, 基本的VISA節(jié)點(diǎn)有:VISA Write、VISA Read、VISA Clear、VISA Read STB.VISA Asserlt Trigger。</p><p>  4.3.2 通信模塊的引入</p><p>  在LabVIEW中,對(duì)串行口進(jìn)行控制的方式通常有兩種:一是利用La

103、bVIEW功能模塊的Instrument I/O-〉VISA子模塊;二是直接利用LabVIEW功能模塊Instrument I/O-〉Serial子模塊,該程序庫(kù)中包含進(jìn)行串行通信操作的一些功能模塊。這正符合本軟件開發(fā)的需要。通過(guò)這些功能控件可以方便地實(shí)現(xiàn)對(duì)串口參數(shù)的設(shè)置和對(duì)串口進(jìn)行操作。其方法是在LabVIEW中選擇Serial串口操作子模板,找到VISA Configure Serial Port.Vi(初始化串口)模塊,在該模塊下

104、設(shè)置串口的baud rate(波特率)、data bits(數(shù)據(jù)位數(shù))、parity(奇偶校驗(yàn)位)、stop bits(停止位)等。而讀寫串口則使用VISA Read和VISA Write來(lái)實(shí)現(xiàn),數(shù)據(jù)都會(huì)先緩存到數(shù)據(jù)緩沖區(qū),并且可以對(duì)讀寫的數(shù)據(jù)長(zhǎng)度進(jìn)行操作;另外還有VISA Close、VISA Byte at Serial Port 以及VISA Serial Break.vi,分別是關(guān)閉串口、讀取輸入緩沖區(qū)中數(shù)據(jù)位的序號(hào)以及對(duì)串口設(shè)

105、置斷點(diǎn);這些模塊均根據(jù)輸入的端口號(hào)對(duì)串口進(jìn)行相應(yīng)操作。</p><p>  表4.1 通信模塊的屬性</p><p>  圖4.3給出了VISA串口通信函數(shù)的界面。</p><p>  圖4.3 VISA串口通信函數(shù)</p><p>  首先需要調(diào)用VISA Configure Serial Port完成串口參數(shù)的設(shè)置,包括波特率、數(shù)據(jù)位、停

106、止位、校驗(yàn)位等等。本次設(shè)計(jì)統(tǒng)一設(shè)計(jì)為波特率為9600、數(shù)據(jù)位為8、校驗(yàn)位無(wú),為0、停止位為1。如圖4.4所示。</p><p>  如果初始化沒有問(wèn)題,就可以使用這個(gè)串口進(jìn)行數(shù)據(jù)收發(fā)。發(fā)送數(shù)據(jù)使用VISA Write,如圖4.5所示。</p><p>  圖4.4串口初始化 圖4.5從串口發(fā)送數(shù)據(jù)</p><p> 

107、 接收數(shù)據(jù)使用VISA Read。在接收數(shù)據(jù)之前需要使用VISA Bytes at Serial Port查詢當(dāng)前串口接收緩沖區(qū)中的數(shù)據(jù)字節(jié)數(shù),如果VISA Read要讀取的字節(jié)數(shù)大于緩沖區(qū)中的數(shù)據(jù)字節(jié)數(shù),VISA Read操作將一直等待,直至Timeout或者緩沖區(qū)中的數(shù)據(jù)字節(jié)數(shù)達(dá)到要求的字節(jié)數(shù)。當(dāng)然也可以分批讀取接收緩沖區(qū)或者只從中讀取一定字節(jié)的數(shù)據(jù)。如圖4.6所示。 </p>&l

108、t;p>  圖4.6 從串口接收數(shù)據(jù)</p><p>  在某些特殊情況下,需要設(shè)置串口接收/發(fā)送緩沖區(qū)的大小,此時(shí)可以使用VISA Set I/O Buffer Size;而使用VISA Flush I/O Buffer則可以清空接收與發(fā)送緩沖區(qū)。如圖4.7,圖4.8.在串口使用結(jié)束后,使用VISA Close結(jié)束與VISA resource name指定的串口之間的會(huì)話。如圖4.9。</p>

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論