Labview串口的使用
終端與計算機之間或者計算機與計算機之間進(jìn)行交換信息時(shí),除了采用并行通訊方式之外,還經(jīng)常采用串行通訊方式。并行通訊是指數據的各位同時(shí)進(jìn)行傳送,其有點(diǎn)是傳送數據速度快,缺點(diǎn)是有多少位數據就需要多少根傳輸線(xiàn),這在數據位數較多,傳送距離較遠時(shí)就不宜采用。串行通訊是指數據一位一位地按順序傳送,其突出優(yōu)點(diǎn)是只需一根傳輸線(xiàn),特別適應于遠距離傳輸,缺點(diǎn)是傳送速度較慢。
本文引用地址:http://dyxdggzs.com/article/201701/336595.htm在微機測量,控制系統中,目前串行數據的傳輸大多采用異步通訊的方式。
- 同步通訊和異步通訊
串行通訊分為同步傳送和異步傳送兩種方式。
- ? 同步傳送方式要求通信雙方以相同的速率進(jìn)行,而且要準確地協(xié)調。它通過(guò)共享一個(gè)單個(gè)時(shí)鐘或定時(shí)脈沖源以保證發(fā)送方和接受方準確同步。其特點(diǎn)是允許連續發(fā)送一組字符序列(而非單個(gè)字符),每個(gè)字符數據位數相同,沒(méi)有起始位和停止位,效率高。
- ? 異步傳送方式不要求通信雙方同步,發(fā)送方和接受方可以有各自的時(shí)鐘源。為了能夠實(shí)現通信,雙方必須都遵循異步通信協(xié)議。在異步通信中,通信雙方必須規定兩件事:一是字符格式,即規定字符各部分所占的位數,是否采用奇偶校驗,以及校驗的方式;二是采用的波特率,以及時(shí)鐘率與波特率之間的比例關(guān)系。由此可見(jiàn),異步通信方式的傳輸效率比同步通信方式低,但它對通信雙方的同步要求大大降低,因而成本也比同步通信方式低。
- DTE和DCE
在串行通訊中,用于發(fā)送和接收數據的設備稱(chēng)為數據終端設備(Data Terminal Equipment 簡(jiǎn)寫(xiě)為DTE)。DTE既可以是一臺計算機,也可以是一臺只接收數據的打印機。用于連接DTE與數據通信網(wǎng)絡(luò )的設備稱(chēng)為數據通信設備(Data Communications Equipment 簡(jiǎn)寫(xiě)為DCE),或稱(chēng)為數據電路終接設備。DCE既可以是一個(gè)調制解調器,也可以是簡(jiǎn)單的線(xiàn)路驅動(dòng)器。
- 波特率
在串行通訊中還有一個(gè)重要的指標——波特率(又稱(chēng)調制速率)。波特率定義為每秒鐘傳送二進(jìn)制數碼的位數,以位/秒(bit/s)為單位,亦稱(chēng)“波特”。在異步通訊中,波特率為每秒傳送的字符數和每個(gè)字符位數的乘積,例如每秒傳送的速率為120字符/秒,而每個(gè)字符又包含10位(1位起始位,7位數據位,1位奇偶校驗位,1位停止位),則波特率為:
120字符/秒×10位/字符=1200位/秒=1200波特
注意:波特率與時(shí)鐘頻率不是一回事,時(shí)鐘頻率比波特率要高得多,通常在高16倍或64倍。由于異步通訊雙方各用自己的時(shí)鐘源采用較高頻率的時(shí)鐘,在一位數據內就有16位或64個(gè)時(shí)鐘,捕捉正確的信號就可以得到保證,若時(shí)鐘頻率就是波特率,則頻率稍有偏差就會(huì )發(fā)生接收錯誤。
LabVIEW中的串行通訊選板
安裝完labVIEW8.2后,還需要安裝VISA的驅動(dòng)程序才能使用串口,驅動(dòng)程序的下載地址為:
ftp://ftp.ni.com/support/visa/drivers/win32/4.0/visa400full.exe
LabVIEW中有關(guān)串口的函數選板如圖,它位于函數→儀器I/O→串口
下面舉一個(gè)例子來(lái)說(shuō)明串口是如何進(jìn)行通訊的
例:雙機通訊
1. 功能描述
雙機通信是在兩臺計算機之間進(jìn)行串口通訊。一臺計算機作為服務(wù)器,通過(guò)RS-232串口向外發(fā)送數據;另一臺計算機作為客戶(hù)機,接收由服務(wù)器發(fā)送來(lái)的數據。
2. 串口引腳連接
兩臺計算機的串口之間通過(guò)一根RS-232電纜線(xiàn)連接起來(lái),串口電纜線(xiàn)采用三線(xiàn)制,它只使用發(fā)送數據(TxD),接收數據(RxD)和信號地(SG)三根信號線(xiàn)。
3. 服務(wù)器程序設計
其程序設計如下:
㈠新建一個(gè)VI,在前面板上放置4個(gè)輸入控件:“端口號”,“波特率”,“數據比特”和“停止位”。另外,放置一個(gè)字符串輸入控件,在其內部輸入向外發(fā)送的字符串數據。添加程序文本標簽“串口服務(wù)器”。
㈡在程序框圖中放置一個(gè)層疊式順序結構,創(chuàng )建兩個(gè)分支。在第0分支中,放置一個(gè)“Serial Port Init.vi”函數,并添加一個(gè)順序局部變量;在第1分支中,放置一個(gè)“Serial Port Write.vi”函數,它們位于labVIEW8.2→vi.lib→Instr→serial。連線(xiàn)如圖:
前面板如圖:
4.客戶(hù)機程序設計與服務(wù)器程序類(lèi)似,其中使用了“Bytes At Serial Port.vi”函數和“Serial Port Read.vi”它們都在前文所提到的路徑中,客戶(hù)機程序框圖如圖:
前面板如圖:
串口的內容就為大家簡(jiǎn)單的介紹這么多,有什么問(wèn)題可上我們的論壇發(fā)帖,我們會(huì )盡力為大家解答。
評論