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

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

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

通過RS485串口實現(xiàn)開關(guān)信號的多點監(jiān)測,提高總線的穩(wěn)定性

牽手一起夢 ? 來源:網(wǎng)絡(luò)整理 ? 作者:佚名 ? 2020-01-08 16:22 ? 次閱讀

引言

工業(yè)現(xiàn)場經(jīng)常要采集多點數(shù)據(jù),模擬信號或開關(guān)信號,一般用到RS485總線,使用一主帶多從的通信方式,該種方式接線方便只需要兩根屏蔽電纜線,通信距離遠最大可支持1500m,加中繼器還可延長通信距離,采用差分信號方式抗電磁干擾好。但該方式通信速度不能太快,一般采用主從召喚的方式采集各子單元的數(shù)據(jù),即主單元依次召喚各子單元(見圖1),召喚到哪個單元哪個單元上傳數(shù)據(jù),總線的使用權(quán)完全由主單元分配,各子單元不能擅自占領(lǐng)總線。如果系統(tǒng)的單元多,主單元循環(huán)采集一周的時間就很長,子單元信息變化時不能及時發(fā)送給主單元,導(dǎo)致系統(tǒng)對突變事件的反應(yīng)處理速度慢。本文通過總線狀態(tài)檢測、從機主動上發(fā)的方式解決。

通過RS485串口實現(xiàn)開關(guān)信號的多點監(jiān)測,提高總線的穩(wěn)定性

圖1 常規(guī)RS485總線主從方式接口

硬件設(shè)計

整個系統(tǒng)由主單元和多個子單元組成(圖2),主單元包括:ARM7微控制器、程序存儲器、數(shù)據(jù)存儲器、與子單元通信RS485、與主單元通信RS485、系統(tǒng)電源和通信隔離電源;子單元包括:MSP430單片機、與子單元通信RS485、系統(tǒng)電源和通信隔離電源。

通過RS485串口實現(xiàn)開關(guān)信號的多點監(jiān)測,提高總線的穩(wěn)定性

圖2 系統(tǒng)框圖

主單元

ARM微控制器是主單元的核心,采用三星32位ARM7TDMI內(nèi)核芯片S3C44B0,該芯片最高處理速度可達76MHZ,總線開放,可外擴程序存儲器FLASH和數(shù)據(jù)存儲器SDRAM,該系統(tǒng)外擴了SST公司生產(chǎn)的39VF1601和現(xiàn)代生產(chǎn)的HY57V641620HG,2個UART串行接口,使用ADI的隔離RS485芯片ADM2483進行接口電平轉(zhuǎn)換,總線狀態(tài)檢測使用74HC125三態(tài)門芯片。

子單元

子單元的微控制器使用TI的MSP430F133單片機,該單片機處理速度可達8MHz,8K字節(jié)片內(nèi)FLASH存儲,256K字節(jié)片內(nèi)SRAM。

電源電路

電源電路采用開關(guān)電源供電,開關(guān)電源輸入電壓范圍比較寬,輸出直流電壓5V,通過SP1117-3.3和SP1117-2.5芯片輸出3.3V電源。RS485需要的隔離5V電源通過DC-DC模塊得到。

總線檢測電路

總線狀態(tài)檢測使用74HC125三態(tài)門芯片和單片機的兩個I/O(圖3),當(dāng)系統(tǒng)都不使用總線時,每個單元的74HC125都輸出高阻狀態(tài),此時總線為低電平,當(dāng)有單元要使用總線時,他首先檢測總線狀態(tài),如果總線為低電平,該單元迅速把74HC125改為輸出狀態(tài),此時總線變?yōu)楦唠娖?,該單元占領(lǐng)總線,往總線上發(fā)送數(shù)據(jù),發(fā)送數(shù)據(jù)完成再把74HC125改為高阻狀態(tài)。如果檢測到總線是高電平,等待檢測,直到總線變低后再占領(lǐng)總線。

通過RS485串口實現(xiàn)開關(guān)信號的多點監(jiān)測,提高總線的穩(wěn)定性

圖3 總線檢測電路

隔離485電路

使用ADI的ADM2483芯片進行接口電平轉(zhuǎn)換(圖4),該芯片屬于隔離485,雙電源供電輸入輸出隔離。

通過RS485串口實現(xiàn)開關(guān)信號的多點監(jiān)測,提高總線的穩(wěn)定性

圖4 隔離485電路

軟件設(shè)計

主機程序部分需要實現(xiàn)各從機上傳數(shù)據(jù)的接收、處理和上傳。主機接收子單元信息通過一個RS485串口實現(xiàn),數(shù)據(jù)格式為16進制,數(shù)據(jù)位8位,1個起始位,1個結(jié)束位,無寄偶校驗位,波特率9600bps。采用串行口中斷的方式接收,主機程序初始化完成后等待各從機發(fā)送信息,當(dāng)主機接收到第一個字節(jié)后,判斷該字節(jié)是否為設(shè)備號,如果不是設(shè)備號,接收個數(shù)清零,如果是設(shè)備號繼續(xù)接收第二個字節(jié);判定第二個字節(jié)是否為正確的功能碼,如果功能碼錯誤,接收個數(shù)清零重新接收,功能碼正確;接收第三個字節(jié),該字節(jié)為從單元發(fā)送信息的字節(jié)個數(shù)x,計算從單元發(fā)送總字節(jié)個數(shù)為M=X+3+2,3個開頭字節(jié)和2個CRC校驗碼,主機接收到M個字節(jié)后,首先判斷CRC校驗碼是否正確,錯誤舍棄所有信息,正確則把從單元的信息保存到數(shù)據(jù)區(qū),該次接收結(jié)束,主機繼續(xù)等待接收。

信息的上傳通過一個RS232串口實現(xiàn)。當(dāng)主機接收到從機信息后,進行數(shù)據(jù)的處理,發(fā)現(xiàn)從單元信息發(fā)生變化,主機準備把從機信息發(fā)送到上位機,首先重新初始化發(fā)送緩沖區(qū),然后通過中斷的方式依次發(fā)送信息到上位機,發(fā)送信息包括設(shè)備號、功能碼、發(fā)送字節(jié)個數(shù)、信息字節(jié)和CRC校驗碼。

主機單元接收數(shù)據(jù)流程圖示于圖5。

通過RS485串口實現(xiàn)開關(guān)信號的多點監(jiān)測,提高總線的穩(wěn)定性

圖5 程序流程圖

結(jié)語

所設(shè)計的系統(tǒng)實現(xiàn)了開關(guān)信號的多點監(jiān)測,一個主機單元,32個從機單元,每個從機單元監(jiān)測32個開關(guān),該系統(tǒng)共可監(jiān)測1024個開關(guān),使用9600bps的波特率。采用主從召換的方式,開關(guān)信號監(jiān)測的反應(yīng)時間一般要用20-30s,使用該種總線檢測的方式,開關(guān)信號的反應(yīng)速度最慢也不超過1s,快時只有幾百ms,大大提高反應(yīng)時間,并且由于不用時時召喚,總線數(shù)據(jù)流少,提高了總線的穩(wěn)定性。

責(zé)任編輯:gt

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

    關(guān)注

    48

    文章

    7336

    瀏覽量

    150135
  • 存儲器
    +關(guān)注

    關(guān)注

    38

    文章

    7366

    瀏覽量

    163100
  • 總線
    +關(guān)注

    關(guān)注

    10

    文章

    2817

    瀏覽量

    87712
收藏 人收藏

    評論

    相關(guān)推薦

    rs485總線隔離應(yīng)用與選型指南

    廣泛的總線。而且在多節(jié)點的工作系統(tǒng)中也有著廣泛的應(yīng)用。 二、RS485總線典型電路介紹   RS485電路總體上可以分為隔離型與非隔離型。隔離型比非隔離型在抗干擾、系統(tǒng)
    發(fā)表于 07-27 11:08

    提高RS485總線通信速度的設(shè)計

    介紹一種通信總線RS485主從通信方式,提高RS485總線采集速度的方法,該方法解決了主從式通信慢的缺點,
    發(fā)表于 04-12 00:37 ?44次下載
    <b class='flag-5'>提高</b><b class='flag-5'>RS485</b><b class='flag-5'>總線</b>通信速度的設(shè)計

    工業(yè)級485串口服務(wù)器

    工業(yè)級485串口服務(wù)器ZLAN5143BI ZLAN5143BI是一款RS485/422串口帶隔離的串口服務(wù)器,可以有效的隔離
    發(fā)表于 03-20 13:30 ?1469次閱讀

    RS485總線的基礎(chǔ)知識詳細說明

    RS485總線主要用在工業(yè)環(huán)境中,很多工業(yè)布線需要采集多點數(shù)據(jù),模擬信號開關(guān)信號,就要采用
    的頭像 發(fā)表于 04-12 11:31 ?1.1w次閱讀

    RS485轉(zhuǎn)換器可有效解決RS232串口通信中存在的問題

    串口只能連接到一個RS232設(shè)備上。 可以通過RS485轉(zhuǎn)換器實現(xiàn)RS485電腦到最后一臺的
    發(fā)表于 02-13 10:57 ?1948次閱讀

    RS485串口轉(zhuǎn)mqtt協(xié)議網(wǎng)關(guān)

    RS485串口轉(zhuǎn)mqtt協(xié)議網(wǎng)關(guān)
    發(fā)表于 11-21 10:12 ?2183次閱讀
    <b class='flag-5'>RS485</b><b class='flag-5'>串口</b>轉(zhuǎn)mqtt協(xié)議網(wǎng)關(guān)

    RS485/RS232串口轉(zhuǎn)Modbus網(wǎng)關(guān)

    RS485/RS232串口轉(zhuǎn)Modbus網(wǎng)關(guān)
    發(fā)表于 12-03 16:59 ?2539次閱讀

    RS485或者rs232串口設(shè)備如何上傳mqtt平臺

    RS485或者rs232串口設(shè)備如何上傳mqtt平臺
    發(fā)表于 12-03 17:03 ?1688次閱讀

    RS485總線的說明與使用詳解

    工業(yè)現(xiàn)場經(jīng)常要采集多點數(shù)據(jù),模擬信號開關(guān)信號,一般用到RS485總線
    的頭像 發(fā)表于 06-17 18:41 ?1.5w次閱讀
    <b class='flag-5'>RS485</b><b class='flag-5'>總線</b>的說明與使用詳解

    如何實現(xiàn)RS485串口通訊采集模擬量

    如何實現(xiàn)RS485串口通訊采集模擬量流程分享
    的頭像 發(fā)表于 08-23 11:30 ?4631次閱讀
    如何<b class='flag-5'>實現(xiàn)</b><b class='flag-5'>RS485</b><b class='flag-5'>串口</b>通訊采集模擬量

    如何實現(xiàn)開關(guān)量輸入與繼電器輸出聯(lián)動功能RS485串口通訊

    如何實現(xiàn)開關(guān)量輸入與繼電器輸出聯(lián)動功能RS485串口通訊流程分享
    的頭像 發(fā)表于 08-23 11:33 ?2006次閱讀
    如何<b class='flag-5'>實現(xiàn)</b><b class='flag-5'>開關(guān)</b>量輸入與繼電器輸出聯(lián)動功能<b class='flag-5'>RS485</b><b class='flag-5'>串口</b>通訊

    RS485集線器工作原理是什么?RS485集線器具有什么功能?

    以將一條RS485總線分為多個分支,每個分支上可連接多個RS485設(shè)備,同時提供了電氣隔離和信號增強功能。RS485集線器的工作原理是
    的頭像 發(fā)表于 02-03 16:25 ?2597次閱讀

    串口RS485數(shù)采網(wǎng)關(guān)的功能和優(yōu)勢有哪些

    串口RS485數(shù)采網(wǎng)關(guān)是一種用于連接各種傳感器、控制器和其他工業(yè)設(shè)備的數(shù)據(jù)采集設(shè)備,通過RS485口實現(xiàn)數(shù)據(jù)的高效采集與傳輸,具備廣泛的
    的頭像 發(fā)表于 07-01 10:19 ?292次閱讀
    <b class='flag-5'>串口</b><b class='flag-5'>RS485</b>數(shù)采網(wǎng)關(guān)的功能和優(yōu)勢有哪些

    plc如何用rs485串口服務(wù)器控制變頻器操作教程

    深圳市振鑫通信科技公司生產(chǎn)的RS485串口服務(wù)器(ZP-8601-EV)來控制變頻器是工業(yè)自動化領(lǐng)域中常見的做法之一。PLC(可編程邏輯控制器)可以通過RS485
    的頭像 發(fā)表于 08-29 08:07 ?184次閱讀
    plc如何用<b class='flag-5'>rs485</b><b class='flag-5'>串口</b>服務(wù)器控制變頻器操作教程

    RS232、RS422、RS485怎么選?串口通信標準的深度剖析!

    RS232、RS422、RS485三種串口通訊規(guī)范各有千秋,適用于不同的應(yīng)用場景。RS232適宜短路線、低速簡單地通訊,
    的頭像 發(fā)表于 09-02 11:51 ?793次閱讀
    <b class='flag-5'>RS</b>232、<b class='flag-5'>RS</b>422、<b class='flag-5'>RS485</b>怎么選?<b class='flag-5'>串口</b>通信標準的深度剖析!