新聞中心

Labview串口的使用

作者: 時(shí)間:2017-01-05 來(lái)源:網(wǎng)絡(luò) 收藏
串行通訊

終端與計(jì)算機(jī)之間或者計(jì)算機(jī)與計(jì)算機(jī)之間進(jìn)行交換信息時(shí),除了采用并行通訊方式之外,還經(jīng)常采用串行通訊方式。并行通訊是指數(shù)據(jù)的各位同時(shí)進(jìn)行傳送,其有點(diǎn)是傳送數(shù)據(jù)速度快,缺點(diǎn)是有多少位數(shù)據(jù)就需要多少根傳輸線,這在數(shù)據(jù)位數(shù)較多,傳送距離較遠(yuǎn)時(shí)就不宜采用。串行通訊是指數(shù)據(jù)一位一位地按順序傳送,其突出優(yōu)點(diǎn)是只需一根傳輸線,特別適應(yīng)于遠(yuǎn)距離傳輸,缺點(diǎn)是傳送速度較慢。

本文引用地址:http://butianyuan.cn/article/201701/336595.htm

在微機(jī)測(cè)量,控制系統(tǒng)中,目前串行數(shù)據(jù)的傳輸大多采用異步通訊的方式。

  1. 同步通訊和異步通訊
  2. 串行通訊分為同步傳送和異步傳送兩種方式。

    • ? 同步傳送方式要求通信雙方以相同的速率進(jìn)行,而且要準(zhǔn)確地協(xié)調(diào)。它通過(guò)共享一個(gè)單個(gè)時(shí)鐘或定時(shí)脈沖源以保證發(fā)送方和接受方準(zhǔn)確同步。其特點(diǎn)是允許連續(xù)發(fā)送一組字符序列(而非單個(gè)字符),每個(gè)字符數(shù)據(jù)位數(shù)相同,沒(méi)有起始位和停止位,效率高。
    • ? 異步傳送方式不要求通信雙方同步,發(fā)送方和接受方可以有各自的時(shí)鐘源。為了能夠?qū)崿F(xiàn)通信,雙方必須都遵循異步通信協(xié)議。在異步通信中,通信雙方必須規(guī)定兩件事:一是字符格式,即規(guī)定字符各部分所占的位數(shù),是否采用奇偶校驗(yàn),以及校驗(yàn)的方式;二是采用的波特率,以及時(shí)鐘率與波特率之間的比例關(guān)系。由此可見(jiàn),異步通信方式的傳輸效率比同步通信方式低,但它對(duì)通信雙方的同步要求大大降低,因而成本也比同步通信方式低。
  3. DTE和DCE
  4. 在串行通訊中,用于發(fā)送和接收數(shù)據(jù)的設(shè)備稱為數(shù)據(jù)終端設(shè)備(Data Terminal Equipment 簡(jiǎn)寫(xiě)為DTE)。DTE既可以是一臺(tái)計(jì)算機(jī),也可以是一臺(tái)只接收數(shù)據(jù)的打印機(jī)。用于連接DTE與數(shù)據(jù)通信網(wǎng)絡(luò)的設(shè)備稱為數(shù)據(jù)通信設(shè)備(Data Communications Equipment 簡(jiǎn)寫(xiě)為DCE),或稱為數(shù)據(jù)電路終接設(shè)備。DCE既可以是一個(gè)調(diào)制解調(diào)器,也可以是簡(jiǎn)單的線路驅(qū)動(dòng)器。

  5. 波特率
  6. 在串行通訊中還有一個(gè)重要的指標(biāo)——波特率(又稱調(diào)制速率)。波特率定義為每秒鐘傳送二進(jìn)制數(shù)碼的位數(shù),以位/秒(bit/s)為單位,亦稱“波特”。在異步通訊中,波特率為每秒傳送的字符數(shù)和每個(gè)字符位數(shù)的乘積,例如每秒傳送的速率為120字符/秒,而每個(gè)字符又包含10位(1位起始位,7位數(shù)據(jù)位,1位奇偶校驗(yàn)位,1位停止位),則波特率為:

    120字符/秒×10位/字符=1200位/秒=1200波特

    注意:波特率與時(shí)鐘頻率不是一回事,時(shí)鐘頻率比波特率要高得多,通常在高16倍或64倍。由于異步通訊雙方各用自己的時(shí)鐘源采用較高頻率的時(shí)鐘,在一位數(shù)據(jù)內(nèi)就有16位或64個(gè)時(shí)鐘,捕捉正確的信號(hào)就可以得到保證,若時(shí)鐘頻率就是波特率,則頻率稍有偏差就會(huì)發(fā)生接收錯(cuò)誤。

LabVIEW中的串行通訊選板

安裝完labVIEW8.2后,還需要安裝VISA的驅(qū)動(dòng)程序才能使用串口,驅(qū)動(dòng)程序的下載地址為:

ftp://ftp.ni.com/support/visa/drivers/win32/4.0/visa400full.exe

LabVIEW中有關(guān)串口的函數(shù)選板如圖,它位于函數(shù)→儀器I/O→串口

下面舉一個(gè)例子來(lái)說(shuō)明串口是如何進(jìn)行通訊的

例:雙機(jī)通訊

1. 功能描述

雙機(jī)通信是在兩臺(tái)計(jì)算機(jī)之間進(jìn)行串口通訊。一臺(tái)計(jì)算機(jī)作為服務(wù)器,通過(guò)RS-232串口向外發(fā)送數(shù)據(jù);另一臺(tái)計(jì)算機(jī)作為客戶機(jī),接收由服務(wù)器發(fā)送來(lái)的數(shù)據(jù)。

2. 串口引腳連接

兩臺(tái)計(jì)算機(jī)的串口之間通過(guò)一根RS-232電纜線連接起來(lái),串口電纜線采用三線制,它只使用發(fā)送數(shù)據(jù)(TxD),接收數(shù)據(jù)(RxD)和信號(hào)地(SG)三根信號(hào)線。

3. 服務(wù)器程序設(shè)計(jì)

其程序設(shè)計(jì)如下:

㈠新建一個(gè)VI,在前面板上放置4個(gè)輸入控件:“端口號(hào)”,“波特率”,“數(shù)據(jù)比特”和“停止位”。另外,放置一個(gè)字符串輸入控件,在其內(nèi)部輸入向外發(fā)送的字符串?dāng)?shù)據(jù)。添加程序文本標(biāo)簽“串口服務(wù)器”。

㈡在程序框圖中放置一個(gè)層疊式順序結(jié)構(gòu),創(chuàng)建兩個(gè)分支。在第0分支中,放置一個(gè)“Serial Port Init.vi”函數(shù),并添加一個(gè)順序局部變量;在第1分支中,放置一個(gè)“Serial Port Write.vi”函數(shù),它們位于labVIEW8.2→vi.lib→Instr→serial。連線如圖:

前面板如圖:

4.客戶機(jī)程序設(shè)計(jì)與服務(wù)器程序類似,其中使用了“Bytes At Serial Port.vi”函數(shù)和“Serial Port Read.vi”它們都在前文所提到的路徑中,客戶機(jī)程序框圖如圖:

前面板如圖:

串口的內(nèi)容就為大家簡(jiǎn)單的介紹這么多,有什么問(wèn)題可上我們的論壇發(fā)帖,我們會(huì)盡力為大家解答。



關(guān)鍵詞: LabVIEW串口編

評(píng)論


技術(shù)專區(qū)

關(guān)閉