新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 淺談RS-485通信卡及其應(yīng)用

淺談RS-485通信卡及其應(yīng)用

作者: 時(shí)間:2013-11-30 來源:網(wǎng)絡(luò) 收藏
  本文介紹了RS-485方式的特點(diǎn)、使用方法以及在實(shí)際中求用VB5編程實(shí)現(xiàn)微機(jī)與單片機(jī)通信的方法和應(yīng)注意的問題。

  在領(lǐng)域,數(shù)據(jù)采集與傳輸是經(jīng)常性的工作,協(xié)議通信由于采用差分方式接收,對(duì)共模干擾抑制能力強(qiáng),故廣泛應(yīng)用于領(lǐng)域。

  實(shí)現(xiàn)通信的兩種方法

  智能儀表是隨著80年代初單片機(jī)技術(shù)的成熟而發(fā)展起來的,現(xiàn)在世界儀表市場(chǎng)基本被智能儀表所壟斷。究其原因就是企業(yè)信息化的需要,企業(yè)在儀表選型時(shí)其中的一個(gè)必要條件就是要具有聯(lián)網(wǎng)通信接口。最初是數(shù)據(jù)模擬信號(hào)輸出簡(jiǎn)單過程量,后來儀表接口是RS232接口,這種接口可以實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)的通信方式,但這種方式不能實(shí)現(xiàn)聯(lián)網(wǎng)功能。隨后出現(xiàn)的RS485解決了這個(gè)問題。

  微機(jī)標(biāo)準(zhǔn)通信適配器滿足RS-232C協(xié)議標(biāo)準(zhǔn),在波形畸變小于10%的條件下,最大傳輸距離為50英尺(約15.24米),最高傳輸速率小于20kbps,無法滿足工業(yè)現(xiàn)場(chǎng)數(shù)據(jù)較遠(yuǎn)距離和較高速率傳輸?shù)囊?。微機(jī)要實(shí)現(xiàn)協(xié)議通信可以采用兩種方法:第一種是采用RS-232C與RS-485轉(zhuǎn)換接口裝置;第二種是采用RS-485,插在微機(jī)主板擴(kuò)展槽上。采用第一種方法的優(yōu)點(diǎn)是硬件裝置安裝簡(jiǎn)單,軟件編程相對(duì)簡(jiǎn)單;缺點(diǎn)中通信速率仍然限制在20kbps以內(nèi)(RS-232C協(xié)議的限制)。第二種方法的優(yōu)點(diǎn)是通信速率較高,可達(dá)921.6kbps;缺點(diǎn)是需安裝在微機(jī)擴(kuò)展槽上,軟件需安裝通信卡的驅(qū)動(dòng)程序及進(jìn)行必要的設(shè)置。

  RS-485通信卡的特點(diǎn)和連接方式

  RS-485通信卡的通信波特率由50bps至921.6kbps可選;通常每卡有兩個(gè)通信口,各支持32個(gè)節(jié)點(diǎn),共64個(gè)節(jié)點(diǎn);軟件環(huán)境支持DOS、WINDOWS95、WINDOWS NT。通信聯(lián)接方式可以采用點(diǎn)對(duì)點(diǎn)半雙工方式、點(diǎn)對(duì)點(diǎn)全雙工方式、多點(diǎn)半雙工方式和多點(diǎn)全雙工方式。

  RS-485通信卡的應(yīng)用

  安裝驅(qū)動(dòng)程序

  RS-485通信卡隨卡帶有驅(qū)動(dòng)程序,第一次使用通信卡時(shí)須首選安裝驅(qū)動(dòng)程序,設(shè)置通信卡的I/O地址、中斷號(hào)、通信口號(hào)等內(nèi)容,以后系統(tǒng)運(yùn)行時(shí)無需再次設(shè)置。

  VB通信軟件的特性

  本例通信軟件是采用VB5.0在WINDOWS95平臺(tái)下實(shí)現(xiàn)的,數(shù)據(jù)以隨機(jī)文件的形式存放。由于WINDOWS不支持對(duì)系統(tǒng)I/O端口的直接訪問,因此在WINDOWS下實(shí)現(xiàn)串行通信的簡(jiǎn)便方法就是利用VB提供的通信軟件MSComm。MSComm軟件中幾個(gè)最重要和最常用的屬性是:CommPort 設(shè)置或返回通信端口的編號(hào);其格式為:MSComm.Comm Port=n,其中no 1~99中的任何整數(shù)值。若這個(gè)端口不存在,當(dāng)用PortOpen屬性打開端口時(shí),就會(huì)產(chǎn)生錯(cuò)誤。

  Settings設(shè)置或返回波特率、數(shù)據(jù)位、停止位等參數(shù)。例如:MSComm1.Settings="9600,N,8,1"

  其中等號(hào)右邊的參數(shù)中,每一部分表示通信波特率。第二部分為校驗(yàn)方式,N表示不校驗(yàn);E表示偶校檢;O表示奇校驗(yàn);S表示空格校驗(yàn);M表示符號(hào)校驗(yàn)。第三部分為數(shù)據(jù)位數(shù)。最后是停止位位數(shù)。

  PortOpen設(shè)置或返回通信口的狀態(tài),若為TRUE,打開通信口;若為FALSE,則關(guān)閉通信口。

  Input從接收緩沖區(qū)取出并返回字符串。

  Output向發(fā)送緩沖區(qū)寫入字符。

  InBuffSize設(shè)置或返回接收緩沖區(qū)字節(jié)值。

  InputLen設(shè)置或返回從緩沖區(qū)讀字符串時(shí)每次讀出的字符串個(gè)數(shù);若設(shè)置InputLen為0, 則讀緩沖區(qū)時(shí),一次讀出整個(gè)緩沖區(qū)內(nèi)容。

  結(jié)語

  RS-485通信卡以其具有較高的通信速率(921kbps)、較強(qiáng)的抗干擾能力和較低的價(jià)格,在領(lǐng)域具有較強(qiáng)競(jìng)爭(zhēng)力,極具實(shí)用價(jià)值。筆者將RS-485通信卡成功地應(yīng)用于微機(jī)與單片機(jī)數(shù)據(jù)采集系統(tǒng)的串行通信,微機(jī)側(cè)采用VB編制通信及數(shù)據(jù)處理軟件,單片機(jī)側(cè)采用匯編語言編程。VB中采用CHR()函數(shù)進(jìn)行數(shù)據(jù)轉(zhuǎn)換是微機(jī)與單片機(jī)實(shí)現(xiàn)16進(jìn)制數(shù)據(jù)通信的關(guān)鍵。

數(shù)字通信相關(guān)文章:數(shù)字通信原理


通信相關(guān)文章:通信原理




關(guān)鍵詞: RS-485 通信卡 工業(yè)控制

評(píng)論


相關(guān)推薦

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

關(guān)閉