0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

RS485協(xié)議的串行通信電路的設(shè)計與應(yīng)用介紹

電子設(shè)計 ? 作者:電子設(shè)計 ? 2018-11-12 09:25 ? 次閱讀

在電參數(shù)儀的設(shè)計中,數(shù)據(jù)采集由單片機AT89C52負(fù)責(zé),上位PC機主要負(fù)責(zé)通信(包括與單片機之間的串行通信和數(shù)據(jù)的遠程通信),以及數(shù)據(jù)處理等工作。在工作中,單片機需要定時向上位PC機傳送大批量的采樣數(shù)據(jù)。通常,主控PC機和由單片機構(gòu)成的現(xiàn)場數(shù)據(jù)采集系統(tǒng)相距較遠,近則幾十米,遠則上百米,并且數(shù)據(jù)傳輸通道環(huán)境比較惡劣,經(jīng)常有大容量的電器(如電動機,電焊機等)啟動或切斷。為了保證下位機的數(shù)據(jù)能高速及時、安全地傳送至上位PC機,單片機和PC機之間采用RS485協(xié)議的串行通信方式較為合理。

實際應(yīng)用中,由于大多數(shù)普通PC機只有常用的RS232串行通信口,而不具備RS485通信接口。因此,為了實現(xiàn)RS485協(xié)議的串行通信,必須在PC機側(cè)配置RS485/RS232轉(zhuǎn)換器,或者購買適合PC機的RS485卡。這些附加設(shè)備的價格一般較貴,尤其是一些RS485卡具有自己獨特的驅(qū)動程序,上位PC機的通信一般不能直接采用WINDOW95/98環(huán)境下有關(guān)串口的WIN32通信API函數(shù),程序員還必須熟悉RS485卡的應(yīng)用函數(shù)。為了避開采用RS485通信協(xié)議的上述問題,我們決定自制RS485/RS232轉(zhuǎn)換器來實現(xiàn)單片機和PC機之間的通信。

單片機和PC機之間的RS485通信硬件接口電路的框圖,如下圖1所示。

從圖1可看出,單片機的通信信號首先通過光隔,然后經(jīng)過RS485接口芯片,將電平信號轉(zhuǎn)換成電流環(huán)信號。經(jīng)過長距離傳輸后,再通過另一個RS485接口芯片,將電流環(huán)信號轉(zhuǎn)換成電平信號。

圖1單片機與PC機之間的RS485通信硬件接口電路的框圖(略)

該電平信號再經(jīng)過光電隔離,最后由SR232接口芯片,將該電平信號轉(zhuǎn)換成與PC機RS232端口相兼容的RS232電平。由于整個傳輸通道的兩端均有光電隔離,故無論是PC機還是單片機都不會因數(shù)據(jù)傳輸線上可能遭受到的高壓靜電等的干擾而出現(xiàn)“死機”現(xiàn)象。

2接口電路的具體設(shè)計

2-1單片機側(cè)RS485接口電路的設(shè)計

單片機側(cè)RS485接口電路如圖2所示。

AT89C52單片機的串行通信口P30(RXD)和P31(TXD)的電平符合TTL/CMOS標(biāo)準(zhǔn)(邏輯“0”的電平范圍為0V~0.8V,邏輯“1”的電平為24V~VCC),它們首先通過光電隔離器件6N137隔離,以保護單片機不受傳輸通道的干擾影響,其中T01和?T02是為了增加光隔輸入端的驅(qū)動能力。光隔6N137的左側(cè)電源與單片機相同,右側(cè)必須采用另一組獨立的+5V電源,且兩組電源不能供電。

RS485協(xié)議的串行通信電路的設(shè)計與應(yīng)用介紹

圖2單片機側(cè)RS485接口電路

RS485協(xié)議的串行通信電路的設(shè)計與應(yīng)用介紹

圖3MAX490的內(nèi)部結(jié)構(gòu)

MAX490[4]是MAXIM公司的RS485接口芯片,其內(nèi)部結(jié)構(gòu)如圖3所示。MAX490支持單電源+5V工作,傳輸速率最高可達25MBPS,可實現(xiàn)全雙工通信。其RO、DI端的邏輯“0”的電平在-0.5V~0.8V之間,邏輯“1”的電平在20V~VCC之間。輸出電流環(huán)的電流在150μA~500μA之間。其工作狀態(tài)為:當(dāng)A端電壓比B端電壓高200mV以上,RO輸出邏輯“1”,當(dāng)A端電壓比B端電壓低200mV,RO輸出邏輯“0”;當(dāng)DI為邏輯“0”,輸出Y低、Z高,當(dāng)DI為邏輯“1”,輸出Y高、Z低。圖2中的電阻器RRS為MAX490的終端匹配電阻器。

2-2PC機側(cè)RS485/RS232轉(zhuǎn)換器的設(shè)計

RC機側(cè)RS485/RS232轉(zhuǎn)換器的電路如圖4所示。

該電路首先通過MAX490芯片將單片機側(cè)經(jīng)遠距離傳輸?shù)碾娏鳝h(huán)信號轉(zhuǎn)換成TTL/CMOS標(biāo)準(zhǔn)

圖4PC機側(cè)RS485/RS232轉(zhuǎn)換器的實際電路(略)

RS485協(xié)議的串行通信電路的設(shè)計與應(yīng)用介紹

圖5MAX232A的內(nèi)部結(jié)構(gòu)

的電平信號,然后通過光隔6N137隔離,得到兩個同樣是與TTL/CMOS電平相兼容的電平信號;最后,經(jīng)RS232芯片轉(zhuǎn)換成RS232電平:其中RS232電平的邏輯“0”的電平范圍為-5V~-15V,邏輯“1”的電平范圍為+5V~+15V。這里RS232電平轉(zhuǎn)換芯片選 用MAXIM公司的MAX232A[4],該芯片采用單電源(+5V)供電,RS232電平由內(nèi)部電荷泵產(chǎn)生,其內(nèi)部結(jié)構(gòu)如圖5所示。

在RS485/RS232轉(zhuǎn)換器的設(shè)計過程中需要特別注意的是電源的設(shè)計。單片機側(cè)和PC機側(cè)的RS485芯片理論上可共用一個電源。實際上,如果穩(wěn)壓電路安裝在單片機側(cè),同時又將此電源直接拉至PC側(cè)的RS485/RS232轉(zhuǎn)換器中,由于電源線可能長達上百米,電源線的線徑又不可能選得很粗。如此遠距離的傳輸將會導(dǎo)致電源電壓在PC機側(cè)有一個很大的落差,這樣,有可能造成PC機側(cè)的MAX490或光隔IC702工作不正常。一個比較好的解決辦法是首先直接將單片機側(cè)變壓器輸出的交流信號經(jīng)長距離傳輸至RS485/RS232轉(zhuǎn)換器,然后經(jīng)整流和穩(wěn)壓,作為PC機側(cè)MAX490和光隔IC702的供電電源。此外,RS232和光隔左側(cè)的供電電源PCVCC可以利用PC機內(nèi)部開關(guān)電源的+5V輸出,或者由外部穩(wěn)壓電源提供。

3通信軟件的設(shè)計

利用上述硬件通信電路,可以實現(xiàn)符合RS485協(xié)議的串行通信,同時又對軟件的編寫沒有任何額外要求,因為本電路改變了傳輸通道的信號傳輸方式。單片機側(cè)的通信可以采用查詢方式或串行中斷方式。在電參數(shù)測試儀中,為了保證上位機和下位機之間時序的嚴(yán)格一致,我們采用了查詢方式,這部分程序的編寫較簡單PC機側(cè)WINDOWS環(huán)境下的通信程序,可直接利用VC++提供的相應(yīng)于串口的API函數(shù)完成RS232通信編程。

由于數(shù)據(jù)傳輸是在強干擾的環(huán)境中進行的,而且傳輸距離又較遠,為了保證數(shù)據(jù)能高速、準(zhǔn)確傳輸,軟件編程時可以考慮對大批量的數(shù)據(jù)進行分組傳送,同時對每組數(shù)據(jù)進行和校驗,檢查其傳輸?shù)臏?zhǔn)確性。在實際使用中,設(shè)定每組數(shù)據(jù)的數(shù)據(jù)頭為單字節(jié)0AAH,中間為256個字節(jié)的采樣數(shù)據(jù),數(shù)據(jù)最后一個字節(jié)為和校驗結(jié)果。PC機每接收到一組數(shù)據(jù),均要進行再次和校驗,然后將PC機的校驗結(jié)果和單片機的校驗結(jié)果(該組數(shù)據(jù)的最后一個字節(jié))相比較,若兩者不等則校驗失敗,PC機給單片機發(fā)重傳命令,要求單片機重傳本組數(shù)據(jù);若兩者相等則校驗正常,PC機給單片機發(fā)確認(rèn)認(rèn)號,并準(zhǔn)備接收下一組采樣數(shù)據(jù),單片機則開始新一輪采樣。

4實際應(yīng)用

在電參數(shù)測試儀的工作過程中,大約每隔一分鐘單片機和上位PC機之間就要經(jīng)過多次命令和數(shù)據(jù)的雙向傳遞,其數(shù)據(jù)量較大,每次約有7k字節(jié)左右。本系統(tǒng)單片機選用ATMEL公司的AT89C52,晶振頻率為110592MHz,串行通信方式為模式1,通信速率為57.6kBPS。上位機的通信和數(shù)據(jù)處理程序采用VC++6.0編寫。單片機和PC機之間的距離約100米左右,傳輸線由普通的多芯電源線替代,且經(jīng)過有電焊機、電動機、高壓靜電發(fā)生器等頻繁起動的場合。采用上述硬件通信電路,同時考慮編程時的軟件糾錯,該儀器經(jīng)過多次24小時的不間斷運行,都沒有發(fā)生過死機現(xiàn)象,工作一切正常。調(diào)試時,通過觀察上位PC機中設(shè)置的數(shù)據(jù)重傳計數(shù)器,發(fā)現(xiàn)數(shù)據(jù)重傳次數(shù)極少。

實踐證明本文設(shè)計符合RS485協(xié)議的串行通信電路,可以滿足高速率、高可靠、遠距離的串行通信,同時價格又比較便宜,不失為一種較為理想的串行通信方案。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 單片機
    +關(guān)注

    關(guān)注

    6042

    文章

    44617

    瀏覽量

    637898
  • 轉(zhuǎn)換器
    +關(guān)注

    關(guān)注

    27

    文章

    8742

    瀏覽量

    147828
  • 數(shù)據(jù)采集
    +關(guān)注

    關(guān)注

    39

    文章

    6245

    瀏覽量

    113948
收藏 人收藏

    評論

    相關(guān)推薦

    請問怎樣去設(shè)計一種RS485串行通信接口電路?

    怎樣去設(shè)計一種RS485串行通信接口電路RS485串行通信
    發(fā)表于 06-02 06:35

    RS485總線是什么?有哪些應(yīng)用

    簡單介紹RS485總線是一種常見的串行總線標(biāo)準(zhǔn),采用平衡發(fā)送與差分接收的方式,因此具有抑制共模干擾的能力。應(yīng)用場合:幾十米到幾千米的場合,可以應(yīng)用于多節(jié)點的場合典型電路
    發(fā)表于 07-26 08:32

    串行RS485通訊協(xié)議概述

    第九章串行RS485通訊協(xié)議 9.1通訊概述本公司系列變頻器向用戶提供工業(yè)控制中通用的RS485通訊接口。通訊協(xié)議采用MODBUS標(biāo)準(zhǔn)通訊
    發(fā)表于 09-09 07:24

    RS485通信與Modbus協(xié)議的特點

    RS485通信與Modbus協(xié)議 附源碼及視頻教程下載RS485通信的特點1、采用差分信號。2、RS48
    發(fā)表于 11-30 07:05

    RS485和Modbus通信協(xié)議讓工業(yè)自動化更高效

    】   本文主要介紹RS485接口的原理、應(yīng)用、電路設(shè)計、通訊協(xié)議以及常見問題解決方案。RS485接口在工業(yè)自動化、智能家居、安防等領(lǐng)域有
    發(fā)表于 05-05 16:25

    RS485通信協(xié)議

    RS485通信協(xié)議RS485 通信協(xié)議1.概述C320 系列變頻器提供標(biāo)準(zhǔn)RS485 通信
    發(fā)表于 04-07 17:26 ?89次下載

    RS485 通信協(xié)議教程

    RS485 通信協(xié)議教程 概述C320 系列變頻器提供標(biāo)準(zhǔn)RS485 通信接口,用戶可通過PC/PLC 實現(xiàn)集中監(jiān)控(發(fā)送運行命令設(shè)定,變頻器的工作參數(shù)和讀取變頻器的工作狀態(tài)),以適
    發(fā)表于 04-13 14:54 ?91次下載

    RS485總線典型電路介紹

    RS485總線典型電路介紹
    發(fā)表于 08-10 13:52 ?10.9w次閱讀
    <b class='flag-5'>RS485</b>總線典型<b class='flag-5'>電路</b><b class='flag-5'>介紹</b>

    rs485通訊協(xié)議

    rs485通訊協(xié)議是本技術(shù)頻道的核心內(nèi)容,介紹rs485通訊協(xié)議原理,rs485通訊
    發(fā)表于 08-13 17:21
    <b class='flag-5'>rs485</b>通訊<b class='flag-5'>協(xié)議</b>

    淺談RS485通訊、半雙工系統(tǒng)與Modbus協(xié)議

    RS485是廣泛用于工業(yè)實施中的串行數(shù)據(jù)傳輸標(biāo)準(zhǔn)。在實現(xiàn)RS485通信時,通常使用Modbus協(xié)議。這將
    發(fā)表于 04-27 15:24 ?8577次閱讀
    淺談<b class='flag-5'>RS485</b>通訊、半雙工系統(tǒng)與Modbus<b class='flag-5'>協(xié)議</b>

    rs485轉(zhuǎn)tcp網(wǎng)關(guān)盒子怎么用(rs485協(xié)議轉(zhuǎn)以太網(wǎng)tcp/ip)

    /IP協(xié)議之間的通信,可以使用RS485轉(zhuǎn)TCP網(wǎng)關(guān)盒子。本文將介紹如何使用RS485轉(zhuǎn)TCP網(wǎng)關(guān)盒子進行
    的頭像 發(fā)表于 05-05 15:50 ?3352次閱讀
    <b class='flag-5'>rs485</b>轉(zhuǎn)tcp網(wǎng)關(guān)盒子怎么用(<b class='flag-5'>rs485</b><b class='flag-5'>協(xié)議</b>轉(zhuǎn)以太網(wǎng)tcp/ip)

    串行通訊與并行通訊講解 RS232、RS422、RS485通信協(xié)議簡介

    通信和計算機科學(xué)中,串行通信(Serial Communication)是一個通用概念,泛指所有的串行通信協(xié)議,如
    的頭像 發(fā)表于 08-14 10:27 ?1.4w次閱讀
    <b class='flag-5'>串行</b>通訊與并行通訊講解 <b class='flag-5'>RS</b>232、<b class='flag-5'>RS</b>422、<b class='flag-5'>RS485</b><b class='flag-5'>通信協(xié)議</b>簡介

    RS485通信協(xié)議詳解(硬件干貨)

    ? S-485 (1)基本概念 RS485總線傳輸協(xié)議是一種串行總線通信協(xié)議標(biāo)準(zhǔn),RS485總線
    的頭像 發(fā)表于 03-08 08:36 ?2.7w次閱讀
    <b class='flag-5'>RS485</b><b class='flag-5'>通信協(xié)議</b>詳解(硬件干貨)

    RS485通信協(xié)議的特性和應(yīng)用范圍

    隨著工業(yè)自動化和物聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,數(shù)據(jù)通信協(xié)議的重要性日益凸顯。RS485通信協(xié)議作為一種廣泛應(yīng)用于工業(yè)自動化領(lǐng)域的串行通信協(xié)議,其穩(wěn)定
    的頭像 發(fā)表于 05-23 16:27 ?1879次閱讀

    RS485通信協(xié)議的應(yīng)用與優(yōu)勢

    RS-485是一種差分信號的串行通信協(xié)議,廣泛應(yīng)用于工業(yè)自動化、樓宇自動化、安防監(jiān)控等領(lǐng)域。它以其高速、長距離傳輸和抗干擾能力強等特點,成為許多工業(yè)和商業(yè)應(yīng)用的首選通信方式。
    的頭像 發(fā)表于 11-28 14:23 ?1608次閱讀