下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、RS-485總線通信系統(tǒng)的可靠性措施一、問題的提出在工業(yè)控制及測量領(lǐng)域較為常用的網(wǎng)絡(luò)之一就是物理層采用 RS-485通口所組成的工控設(shè)備網(wǎng)絡(luò)。這種通口可以十分方便地將許多設(shè)備組成一個(gè)控制網(wǎng)絡(luò)。從目前解決單片機(jī)之間中長距離通信的諸多方案分析來看,RS-485總線通信模式由于具有結(jié)構(gòu)簡單、價(jià)格低廉、通信距離和數(shù)據(jù)傳輸速率適當(dāng)?shù)忍攸c(diǎn)而被廣泛應(yīng)用于儀器儀表、智能化傳感器集散控制、樓宇控制、等領(lǐng)域。但 RS485總線存在自適應(yīng)、自保護(hù)功能脆弱等缺點(diǎn),如不注意一些細(xì)節(jié)的處理,常出現(xiàn)通信失敗甚至系統(tǒng)癱瘓等故障,因此提高 RS-485總線的運(yùn)行可靠性至關(guān)重要。二、硬件電路設(shè)計(jì)中需注意2.1 電路基本原理某節(jié)點(diǎn)
2、的硬件電路設(shè)計(jì)如圖1所示,在該電路中,使用了一種 RS-485接口芯片 SN75LBC184,它采用單一電源 Vcc,電壓在35.5 V 范圍內(nèi)都能正常工作。與普通的 RS-485相比,它不但能抗雷電的沖擊而且能承受高達(dá)8 kV 的靜電放電沖擊,片內(nèi)集成4個(gè)瞬時(shí)過壓保護(hù)管,可承受高達(dá)400 V 的瞬態(tài)脈沖電壓。因此,它能顯著提高防止雷電損壞器件的可靠性。對一些環(huán)境比較惡劣的現(xiàn)場,可直接與傳輸線相接而不需要任何外加保護(hù)元件。該還有一個(gè)獨(dú)特的設(shè)輸入端電纜有開路故計(jì),當(dāng)輸入端開路時(shí),其輸出為,這樣可保證障時(shí),不影響系統(tǒng)的正常工作。另外,它的輸入阻抗為倍(24 k),故可以在總線上連接64個(gè)收發(fā)器。R
3、S485標(biāo)準(zhǔn)輸入阻抗的2設(shè)計(jì)了限斜率驅(qū)動(dòng),使輸出信號邊沿不會(huì)過陡,使傳輸線上不會(huì)產(chǎn)生過多的高頻分量,從而有效扼制電磁干擾。在圖1中,四位一體的光電耦合器 TLP521讓單片機(jī)與 SN75LBC184之間完全沒有了電的聯(lián)系,提高了工作的可靠性。基本原理為:當(dāng)單片機(jī) P1.6=0時(shí),光電耦合器的發(fā)光二極管發(fā)光,光敏三極管導(dǎo)通,輸出高電壓(5 V),選中RS485接口的 DE 端,允許發(fā)送。當(dāng)單片機(jī) P1.6=1時(shí),光電耦合器的發(fā)光二極管不發(fā)光,光敏三極管不導(dǎo)通,輸出低電壓(0 V),選中 RS485接口的 RE端,允許接收。SN75LBC184的 R 端(接收端)和 D 端(發(fā)送端)的原理與上述類
4、似。2.2 RS-485的 DE 控制端設(shè)計(jì)在 RS-485總線構(gòu)筑的半雙工通信系統(tǒng)中,在整個(gè)網(wǎng)絡(luò)中任一時(shí)刻只能有一個(gè)節(jié)點(diǎn)處于發(fā)送狀態(tài)并向總線發(fā)送數(shù)據(jù),其他所有節(jié)點(diǎn)都必須處于接收狀態(tài)。如果有2個(gè)節(jié)點(diǎn)或2個(gè)以上節(jié)點(diǎn)同時(shí)向總線發(fā)送數(shù)據(jù),將會(huì)導(dǎo)致所有發(fā)送方的數(shù)據(jù)發(fā)送失敗。因此,在系統(tǒng)各個(gè)節(jié)點(diǎn)的硬件設(shè)計(jì)中,應(yīng)首先力求避免因異常情況而引起本節(jié)點(diǎn)向總線發(fā)送數(shù)據(jù)而導(dǎo)致總線數(shù)據(jù)。以 MCS51系列的單片機(jī)為例,因其在系統(tǒng)復(fù)位時(shí),I/O 口都輸出,如果把 I/O 口直接與 RS-485接口的驅(qū)動(dòng)器使能端 DE 相連,會(huì)在 CPU 復(fù)位期間使 DE 為高,從而使本節(jié)點(diǎn)處于發(fā)送狀態(tài)。如果此時(shí)總線上有其他節(jié)點(diǎn)正在發(fā)送
5、數(shù)據(jù),則此次數(shù)據(jù)傳輸將被打斷而告失敗,甚至引起整個(gè)總線因某一節(jié)點(diǎn)的故障而通信阻塞,繼而影響整個(gè)系統(tǒng)的正常運(yùn)行??紤]到通信的穩(wěn)定性和可靠性,在每個(gè)節(jié)點(diǎn)的設(shè)計(jì)中應(yīng)將控制 RS485總線接口的發(fā)送引腳設(shè)計(jì)成 DE 端的反邏輯,即控制引腳為邏輯“1”時(shí),DE 端為“0”;控制引腳為邏輯“0”時(shí),DE 端為“1”。在圖1中,將 CPU 的引腳 P1.6通過光電耦合器驅(qū)動(dòng) DE 端,這樣就可以使控制引腳為高或者異常復(fù)位時(shí)使SN75LBC184始終處于接收狀態(tài),從而從硬件上有效避免節(jié)點(diǎn)因異常情況而對整個(gè)系統(tǒng)造成的影響。這就為整個(gè)系統(tǒng)的通信可靠奠定了基礎(chǔ)。此外,電路中還有1片看門狗 MAX813L,能在節(jié)點(diǎn)發(fā)
6、生死循環(huán)或其他故障時(shí),自動(dòng)復(fù)位程序,交出 RS-485總線控制權(quán)。這樣就保證整個(gè)系統(tǒng)不會(huì)因某一節(jié)點(diǎn)發(fā)生故障而獨(dú)占總線,導(dǎo)致整個(gè)系統(tǒng)癱瘓。2.3 避免總線的設(shè)計(jì)當(dāng)一個(gè)節(jié)點(diǎn)需要使用總線時(shí),為了實(shí)現(xiàn)總線通信可靠,在有數(shù)據(jù)需要發(fā)送的情況下先偵聽總線。在硬件接口上,首先將 RS-485接口的數(shù)據(jù)接收引腳反相后接至 CPU 的中斷引腳0。在圖1中,0是連至光電耦合器的輸出端。當(dāng)總線上有數(shù)據(jù)正在傳輸時(shí),SN75LBC184的數(shù)據(jù)接收端(R 端)表現(xiàn)為變化的高低電平,利用其產(chǎn)生的 CPU 下降沿中斷(也可采用查詢方式),能得知此時(shí)總線是 “忙”,即總線上是否有節(jié)點(diǎn)正在通信。如果“空閑”,則可以得到對總線的使用
7、權(quán)限,這樣就較好地解決了總線。在此基礎(chǔ)上,還可以定義各種消息的優(yōu)先級,使高優(yōu)先級的消息得以優(yōu)先發(fā)送,從而進(jìn)一步提高系統(tǒng)的實(shí)時(shí)性。采用這種工作方式后,系統(tǒng)中已經(jīng)沒有主、從節(jié)點(diǎn)之分,各個(gè)節(jié)點(diǎn)對總線的使用權(quán)限是的,從而有效避免了個(gè)別節(jié)點(diǎn)通信負(fù)擔(dān)較重的情況??偩€的利用率和系統(tǒng)的通信效率都得以大大提高,從而也使系統(tǒng)響應(yīng)的實(shí)時(shí)性得到改善,而且即使系統(tǒng)中個(gè)別節(jié)點(diǎn)發(fā)生故障,也不會(huì)影響其他節(jié)點(diǎn)的正常通信和正常工作。這樣使得系統(tǒng)的“穩(wěn)定性?!狈稚⒘耍瑥哪撤N程度上來說增強(qiáng)了系統(tǒng)的工作可靠性和2.4 RS-485輸出電路部分的設(shè)計(jì)在圖1中,VD1VD4為信號限幅二極管,其穩(wěn)壓值應(yīng)保證符合 RS-485標(biāo)準(zhǔn), VD1和
8、 VD3取12 V,VD2 和 VD4取7 V,以保證將信號幅度限定在-7+12 V 之間,進(jìn)一步提高抗過壓的能力??紤]到線路的特殊情況(如某一節(jié)點(diǎn)的 RS-485被擊穿短路),為防止總線中其他分機(jī)的通信受到影響,在 SN75LBC184的信號輸出端串聯(lián)了2個(gè)20 的電阻 R1和 R2,這樣本機(jī)的硬件故障就不會(huì)使整個(gè)總線的通信受到影響。在應(yīng)用系統(tǒng)工程的現(xiàn)場施工中,由于通信載體是雙絞線,它的特性阻抗為120 左右,所以線路設(shè)計(jì)時(shí),在 RS485網(wǎng)絡(luò)傳輸線的始端和末端應(yīng)各接1個(gè)120 的匹配電阻(如圖1中的 R3),以減少線傳輸信號的反射。2.5 系統(tǒng)的電源選擇對于由單片機(jī)結(jié)合 RS-485組建的
9、測控網(wǎng)絡(luò),應(yīng)優(yōu)先采用各節(jié)點(diǎn)獨(dú)立供電的方案,同時(shí)電源線不能與 RS-485信號線共用同一股多芯電纜。RS-485信號線宜選用截面積0.75 mm2以上的雙絞線而不是平直線,并且選用線性電源 TL750L05比選用開關(guān)電源更合適。TL750L05必須有輸出電容,若沒有輸出電容,則其輸出端的電壓為鋸齒波形狀,鋸齒波的上升沿隨輸入電壓變化而變化,加輸出電容后,可以抑制該現(xiàn)象。三、的編程SN75LBC184在接收方式時(shí),A、B 為輸入,R 為輸出;在發(fā)送方式時(shí),D 為輸入,A、B 為輸出。當(dāng)傳送方向改變一次后,如果輸入未變化,則此時(shí)輸出為隨機(jī)狀態(tài),直至輸入狀態(tài)變化一次,輸出狀態(tài)才確定。顯然,在由發(fā)送方式
10、轉(zhuǎn)入接收方式后,如果 A、B 狀態(tài)變化前,R 為低電平,在第一個(gè)數(shù)據(jù)起始位時(shí),R 仍為低電平,CPU 認(rèn)為此時(shí)無起始位,直到出現(xiàn)第一個(gè)下降沿,CPU 才開始接收第一個(gè)數(shù)據(jù),這將導(dǎo)致接收錯(cuò)誤。由接收方式轉(zhuǎn)入發(fā)送方式后,D 變化前,若A與B 之間為低電壓,發(fā)送第一個(gè)數(shù)據(jù)起始位時(shí),A 與 B 之間仍為低電壓,A、B 引腳無起始位,同樣會(huì)導(dǎo)致發(fā)送錯(cuò)誤??朔@種的方案是:主機(jī)連續(xù)發(fā)送兩個(gè)同步字,同步字要包含多次邊沿變化(如55H ,0AAH),并發(fā)送兩次(第一次可能接收錯(cuò)誤而忽略) ,接收端收到同步字后,就可以傳送數(shù)據(jù)了,從而保證正確通信。為了更可靠地工作,在 RS485總線狀態(tài)切換時(shí)需要適當(dāng)延時(shí),再進(jìn)
11、行數(shù)據(jù)的收發(fā)。具體的做法是在數(shù)據(jù)發(fā)送狀態(tài)下,先將控制端置“1”,延時(shí)0.5 ms 左右的時(shí)間,再發(fā)送有效數(shù)據(jù),數(shù)據(jù)發(fā)送結(jié)束后,再延時(shí)0.5 ms,將控制端置“0”。這樣的處理會(huì)使總線在狀態(tài)切換時(shí),有一個(gè)穩(wěn)定的工作過程。數(shù)據(jù)通信程序基本流程圖如圖2所示。單片機(jī)通信節(jié)點(diǎn)的程序基本上可以分為6個(gè)主要部分,分別為預(yù)定義部分、初始化部分、主程序部分、設(shè)備狀態(tài)檢測部分、幀接收部分和幀發(fā)送部分。預(yù)定義部分主要定義了通信中使用的握手信號,用于保存設(shè)備信息的緩沖區(qū)和保存本節(jié)點(diǎn)設(shè)備號的變量。設(shè)備狀態(tài)檢測部分應(yīng)能在程序初始化后,當(dāng)硬件發(fā)生故障時(shí),作出相應(yīng)的反應(yīng)。主程序部分應(yīng)能接收命令幀,并根據(jù)命令內(nèi)容作出相應(yīng)的回應(yīng)
12、。為縮短篇幅,這里僅給出主程序部分的代碼。如下所示:/* 主程序流程 */while(1) if(recv_cmd(&type)=0)/主循環(huán)/發(fā)生幀錯(cuò)誤或幀地址與本機(jī)/地址不符,丟棄當(dāng)前幀后返回continue; switch(type) case ACTIVE_:/主機(jī)詢問從機(jī)是否存在send_data( OK_, 0,dbuf);/發(fā)送應(yīng)答信息 break;case GETDATA_:len = strlen(dbuf);send_data( S break;default:break;US_, len,dbuf);/發(fā)送狀態(tài)信息/命令類型錯(cuò)誤,丟棄當(dāng)前幀后返回RS-485 由于使用了差分電平傳輸信號,傳輸距離比 RS-232 更長,最多可以達(dá)到 3000 m,因此很適合工業(yè)環(huán)境下的應(yīng)用。但與 CAN 總線等更為先進(jìn)的現(xiàn)場工業(yè)總線相比,其處理錯(cuò)誤的能力還稍顯遜色,所以在部分還需要進(jìn)行
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 課題申報(bào)參考:貿(mào)易政策不確定性對跨國技術(shù)供應(yīng)鏈網(wǎng)絡(luò)均衡的影響機(jī)理與應(yīng)對策略研究
- 二零二五版農(nóng)夫山泉礦泉水區(qū)域代理拓展與培訓(xùn)合同4篇
- 關(guān)愛父母健康知到智慧樹章節(jié)測試課后答案2024年秋哈爾濱商業(yè)大學(xué)
- 二零二五年度影視作品改編授權(quán)合同樣本4篇
- 二零二五年度城市管理局協(xié)管員勞務(wù)派遣服務(wù)合同模板4篇
- 2025年度美甲店員工工傷賠償合同4篇
- 2025年倉儲(chǔ)商品陳列合同
- 合伙人合同范本
- 二零二五年度安全管理人員績效考核合同3篇
- 2025年學(xué)生培訓(xùn)項(xiàng)目合同
- 化學(xué)-河南省TOP二十名校2025屆高三調(diào)研考試(三)試題和答案
- 智慧農(nóng)貿(mào)批發(fā)市場平臺(tái)規(guī)劃建設(shè)方案
- 林下野雞養(yǎng)殖建設(shè)項(xiàng)目可行性研究報(bào)告
- 2023年水利部黃河水利委員會(huì)招聘考試真題
- Python編程基礎(chǔ)(項(xiàng)目式微課版)教案22
- 01J925-1壓型鋼板、夾芯板屋面及墻體建筑構(gòu)造
- 欠電費(fèi)合同范本
- 2024年新高考地區(qū)數(shù)學(xué)選擇題填空壓軸題匯編十八含解析
- 大型商場招商招租方案(2篇)
- 小學(xué)四年級奧數(shù)題平均數(shù)問題習(xí)題及答案
- 工作違紀(jì)違規(guī)檢討書范文
評論
0/150
提交評論