一種RS-485總線自定義通信協(xié)議及其應(yīng)用
發(fā)布時(shí)間:2008/5/27 0:00:00 訪問次數(shù):957
     劉澤藝 晏 凱 陳云洽 來源:《單片機(jī)與嵌入式系統(tǒng)應(yīng)用》
     摘要:rs-485總線是集散控制系統(tǒng)常用的組網(wǎng)方法,但具體的通信協(xié)議并沒有一個(gè)統(tǒng)一的標(biāo)準(zhǔn)。本文詳細(xì)討論一種基于rs-485總線通信協(xié)議的設(shè)計(jì),具有可靠、編程實(shí)現(xiàn)簡單、易擴(kuò)展等特點(diǎn),能夠很容易地移植到其它系統(tǒng)中;結(jié)合一個(gè)電力參數(shù)實(shí)時(shí)監(jiān)測系統(tǒng)實(shí)例,介紹本協(xié)議的具體應(yīng)用。
    
    
     關(guān)鍵詞:rs-485
     通信協(xié)議 集散控制系統(tǒng)
     1 概述
     在工業(yè)控制系統(tǒng)中,集散控制是目前最常用的測量控制方式。通常,一個(gè)集散控制系統(tǒng)由一個(gè)主控計(jì)算機(jī)(上位機(jī))和一系列基于mcu的前端智能儀器(下位機(jī))構(gòu)成,它們之間再通過一定的物理媒介連接在一起,以完成必要的通信功能。對(duì)于一個(gè)特定的測控系統(tǒng)而言,所要測控的對(duì)象和所采取的測控算法是個(gè)有個(gè)性的東西;而上位機(jī)和下位機(jī)之間的通信可以看作是一系列命令流和數(shù)據(jù)流的流動(dòng),所采用的通信協(xié)議是用來保證傳輸過程的可靠和高效,是具有共性的,能夠也應(yīng)該有一個(gè)統(tǒng)一的設(shè)計(jì)標(biāo)準(zhǔn)。
     在集散控制系統(tǒng)中,普遍采用rs-485總線作為底層通信接口。它具有穩(wěn)定可靠、編程簡單、組網(wǎng)快速、價(jià)格低廉的優(yōu)點(diǎn),但在協(xié)議設(shè)計(jì)實(shí)現(xiàn)方面并沒有一個(gè)統(tǒng)一的規(guī)范,導(dǎo)致不同的控制系統(tǒng)常常采用不同的通信協(xié)議。因此,有必要結(jié)合我們的工作實(shí)踐,設(shè)計(jì)一種有通用性的高效可靠的協(xié)議,從而簡化基于rs-485的分布式測試系統(tǒng)通信部分的設(shè)計(jì),既能夠保證通信的穩(wěn)定可靠,又能夠把精力集中到測控系統(tǒng)算法的設(shè)計(jì)上。
    
    
    
     通信協(xié)議的設(shè)計(jì)通常采用分層的機(jī)構(gòu),如iso的osi參考模型。這里也采用分層的結(jié)構(gòu)來描述我們自定義的基于rs-485總線的通信協(xié)議,如圖1所示。
     圖1中,物理層是利用物理媒介實(shí)現(xiàn)物理連接的功能描述和執(zhí)行連接的規(guī)程,提供用于建立、保持和斷開物理連接的機(jī)械的、電氣的、功能的和過程的條件;數(shù)據(jù)鏈路層用于建立、維持和拆除鏈路連接,實(shí)現(xiàn)無差錯(cuò)傳輸?shù)墓δ埽粦?yīng)用層針對(duì)不同的應(yīng)用,利用鏈路層提供的服務(wù),完成不同通信節(jié)點(diǎn)之間的通信。
     下面結(jié)合每一層討論這種自定義協(xié)議的具體設(shè)計(jì),重點(diǎn)介紹如何實(shí)現(xiàn)可靠高效的通信,如何處理通信中錯(cuò)誤,如何編程實(shí)現(xiàn)。
     2 協(xié)議的設(shè)計(jì)
     2.1 物理層協(xié)議設(shè)計(jì)
     rs-485通信網(wǎng)絡(luò)是一種總線式的結(jié)構(gòu),如圖2所示。上位機(jī)(以pc為例)和下位機(jī)(以基于mcs-51的智能儀器為例)都掛在通信總線上,物理層的通信協(xié)議由rs-485標(biāo)準(zhǔn)和mcs-51的多機(jī)通信方式共同方式。
     2.1.1 eia rs-485標(biāo)準(zhǔn)
     rs-485是工業(yè)界使用最為廣泛的雙向、平衡傳輸標(biāo)準(zhǔn)接口,支持多點(diǎn)連接,允許創(chuàng)建多達(dá)32個(gè)節(jié)點(diǎn)的網(wǎng)絡(luò);具有傳輸距離遠(yuǎn)(最大傳輸距離1200m),傳輸速率快(1200
     m時(shí)為100kb/s),抗干擾能力強(qiáng),布線簡單等優(yōu)點(diǎn)。
     2.1.2 mcs-51串口的多機(jī)通信方式
     mcs-51具有多機(jī)通信功能。當(dāng)串口以方式2(或方式3)接收時(shí),若sm2(多機(jī)控制位)為1,這時(shí)只接收第9位為1的串行數(shù)據(jù)(把第9位為1的串行字節(jié)稱為地址,把第9位為9的串行字節(jié)稱為數(shù)據(jù));當(dāng)sm2=0時(shí),不論第9位為何值都接收。
     這種功能使得基于mcs-51的智能儀器能夠方便地通過rs-485接口芯片組成網(wǎng)絡(luò)。
     2.1.3 物理層的功能
     物理層要完成發(fā)送及接收字節(jié)流的任務(wù),但對(duì)傳輸過程的可靠性不做出保證,而由高層協(xié)議來保證。物理層為鏈路層提供接口(以子程序的形式來描述),包括send子程序(功能為發(fā)送一個(gè)字節(jié))及receive子程序(功能為接收一個(gè)字節(jié))。
 &
     劉澤藝 晏 凱 陳云洽 來源:《單片機(jī)與嵌入式系統(tǒng)應(yīng)用》
     摘要:rs-485總線是集散控制系統(tǒng)常用的組網(wǎng)方法,但具體的通信協(xié)議并沒有一個(gè)統(tǒng)一的標(biāo)準(zhǔn)。本文詳細(xì)討論一種基于rs-485總線通信協(xié)議的設(shè)計(jì),具有可靠、編程實(shí)現(xiàn)簡單、易擴(kuò)展等特點(diǎn),能夠很容易地移植到其它系統(tǒng)中;結(jié)合一個(gè)電力參數(shù)實(shí)時(shí)監(jiān)測系統(tǒng)實(shí)例,介紹本協(xié)議的具體應(yīng)用。
    
    
     關(guān)鍵詞:rs-485
     通信協(xié)議 集散控制系統(tǒng)
     1 概述
     在工業(yè)控制系統(tǒng)中,集散控制是目前最常用的測量控制方式。通常,一個(gè)集散控制系統(tǒng)由一個(gè)主控計(jì)算機(jī)(上位機(jī))和一系列基于mcu的前端智能儀器(下位機(jī))構(gòu)成,它們之間再通過一定的物理媒介連接在一起,以完成必要的通信功能。對(duì)于一個(gè)特定的測控系統(tǒng)而言,所要測控的對(duì)象和所采取的測控算法是個(gè)有個(gè)性的東西;而上位機(jī)和下位機(jī)之間的通信可以看作是一系列命令流和數(shù)據(jù)流的流動(dòng),所采用的通信協(xié)議是用來保證傳輸過程的可靠和高效,是具有共性的,能夠也應(yīng)該有一個(gè)統(tǒng)一的設(shè)計(jì)標(biāo)準(zhǔn)。
     在集散控制系統(tǒng)中,普遍采用rs-485總線作為底層通信接口。它具有穩(wěn)定可靠、編程簡單、組網(wǎng)快速、價(jià)格低廉的優(yōu)點(diǎn),但在協(xié)議設(shè)計(jì)實(shí)現(xiàn)方面并沒有一個(gè)統(tǒng)一的規(guī)范,導(dǎo)致不同的控制系統(tǒng)常常采用不同的通信協(xié)議。因此,有必要結(jié)合我們的工作實(shí)踐,設(shè)計(jì)一種有通用性的高效可靠的協(xié)議,從而簡化基于rs-485的分布式測試系統(tǒng)通信部分的設(shè)計(jì),既能夠保證通信的穩(wěn)定可靠,又能夠把精力集中到測控系統(tǒng)算法的設(shè)計(jì)上。
    
    
    
     通信協(xié)議的設(shè)計(jì)通常采用分層的機(jī)構(gòu),如iso的osi參考模型。這里也采用分層的結(jié)構(gòu)來描述我們自定義的基于rs-485總線的通信協(xié)議,如圖1所示。
     圖1中,物理層是利用物理媒介實(shí)現(xiàn)物理連接的功能描述和執(zhí)行連接的規(guī)程,提供用于建立、保持和斷開物理連接的機(jī)械的、電氣的、功能的和過程的條件;數(shù)據(jù)鏈路層用于建立、維持和拆除鏈路連接,實(shí)現(xiàn)無差錯(cuò)傳輸?shù)墓δ;?yīng)用層針對(duì)不同的應(yīng)用,利用鏈路層提供的服務(wù),完成不同通信節(jié)點(diǎn)之間的通信。
     下面結(jié)合每一層討論這種自定義協(xié)議的具體設(shè)計(jì),重點(diǎn)介紹如何實(shí)現(xiàn)可靠高效的通信,如何處理通信中錯(cuò)誤,如何編程實(shí)現(xiàn)。
     2 協(xié)議的設(shè)計(jì)
     2.1 物理層協(xié)議設(shè)計(jì)
     rs-485通信網(wǎng)絡(luò)是一種總線式的結(jié)構(gòu),如圖2所示。上位機(jī)(以pc為例)和下位機(jī)(以基于mcs-51的智能儀器為例)都掛在通信總線上,物理層的通信協(xié)議由rs-485標(biāo)準(zhǔn)和mcs-51的多機(jī)通信方式共同方式。
     2.1.1 eia rs-485標(biāo)準(zhǔn)
     rs-485是工業(yè)界使用最為廣泛的雙向、平衡傳輸標(biāo)準(zhǔn)接口,支持多點(diǎn)連接,允許創(chuàng)建多達(dá)32個(gè)節(jié)點(diǎn)的網(wǎng)絡(luò);具有傳輸距離遠(yuǎn)(最大傳輸距離1200m),傳輸速率快(1200
     m時(shí)為100kb/s),抗干擾能力強(qiáng),布線簡單等優(yōu)點(diǎn)。
     2.1.2 mcs-51串口的多機(jī)通信方式
     mcs-51具有多機(jī)通信功能。當(dāng)串口以方式2(或方式3)接收時(shí),若sm2(多機(jī)控制位)為1,這時(shí)只接收第9位為1的串行數(shù)據(jù)(把第9位為1的串行字節(jié)稱為地址,把第9位為9的串行字節(jié)稱為數(shù)據(jù));當(dāng)sm2=0時(shí),不論第9位為何值都接收。
     這種功能使得基于mcs-51的智能儀器能夠方便地通過rs-485接口芯片組成網(wǎng)絡(luò)。
     2.1.3 物理層的功能
     物理層要完成發(fā)送及接收字節(jié)流的任務(wù),但對(duì)傳輸過程的可靠性不做出保證,而由高層協(xié)議來保證。物理層為鏈路層提供接口(以子程序的形式來描述),包括send子程序(功能為發(fā)送一個(gè)字節(jié))及receive子程序(功能為接收一個(gè)字節(jié))。
 &
熱門點(diǎn)擊
- HF-90H超小型跳頻短波電臺(tái)
- 2.4~2.5GHz ISM頻段WLAN用C
- 在單雙絞線上實(shí)現(xiàn)全雙工
- 如何快速判斷你的網(wǎng)段內(nèi)誰的網(wǎng)卡處在混雜模式
- 基于免費(fèi)軟件ns2的網(wǎng)絡(luò)仿真
- Myrinet系統(tǒng)軟件GM分析
- 使用國產(chǎn)SDH芯片實(shí)現(xiàn)環(huán)網(wǎng)絡(luò)自愈
- 船載交換式網(wǎng)絡(luò)使用雙冗余網(wǎng)卡對(duì)網(wǎng)絡(luò)性能的影響
- 遠(yuǎn)距離多機(jī)分時(shí)雙工通信芯片SR331
- 一種RS-485總線自定義通信協(xié)議及其應(yīng)用
推薦技術(shù)資料
- 超低功耗角度位置傳感器參數(shù)技術(shù)
- 四路輸出 DC/DC 降壓電源
- 降壓變換器和升降壓變換器優(yōu)特點(diǎn)
- 業(yè)界首創(chuàng)可在線編程電源模塊 m
- 可編程門陣列 (FPGA)智能 電源解決方案
- 高效先進(jìn)封裝工藝
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究