RS-485接口支持點(diǎn)對(duì)多點(diǎn)通信,半雙工通信模式,由于485是半雙工通信模式,就必須要解決數(shù)據(jù)流向問(wèn)題,就像某條鐵路可以雙向通車,為了防止撞車追尾等事故的發(fā)生,必須要通過(guò)相應(yīng)的調(diào)度來(lái)解決該問(wèn)題,同樣的道理,由于支持點(diǎn)對(duì)多點(diǎn)通信,也必須要通過(guò)主機(jī)進(jìn)行相應(yīng)的調(diào)度來(lái)解決該問(wèn)題,而且主機(jī)對(duì)于整個(gè)總線必須具有絕對(duì)的控制權(quán)。關(guān)于485通信問(wèn)題,我們利用老師在教室講課作為例子來(lái)說(shuō)明。
我們假設(shè)老師作為RS-485總線的主機(jī),而學(xué)生作為485總線的從設(shè)備,而學(xué)生的學(xué)號(hào)則是從設(shè)備的地址碼。老師對(duì)于整個(gè)課堂具有絕對(duì)的掌控力,一般來(lái)說(shuō),老師在上課之前會(huì)對(duì)學(xué)生進(jìn)行點(diǎn)名以確實(shí)學(xué)生是否有缺課的,同樣的道理,RS-485總線的主機(jī)一開(kāi)始也會(huì)對(duì)從設(shè)備進(jìn)行一次輪詢,逐個(gè)地址碼去詢問(wèn)設(shè)備是否正常并且對(duì)相關(guān)情況做個(gè)記錄,防止在正常通信的時(shí)候不斷呼叫并不存在的地址碼而導(dǎo)致通信效率下降。主機(jī)對(duì)于從設(shè)備的控制是利用廣播方式發(fā)送下去的,而從設(shè)備只對(duì)含有自己地址碼的指令做相關(guān)的回應(yīng),在從設(shè)備做回應(yīng)的情況下,其他的從設(shè)備和主機(jī)保持沉默,當(dāng)從設(shè)備執(zhí)行完相關(guān)指令之后,發(fā)送完畢信號(hào)給主機(jī),主機(jī)繼續(xù)執(zhí)行下一條指令。就像老師在課堂講課的時(shí)候,指定某個(gè)學(xué)生回答問(wèn)題,學(xué)生回答問(wèn)題過(guò)程中,其他學(xué)生和老師保持沉默,不容許課堂上有講小話的情況,只有當(dāng)學(xué)生回答完問(wèn)題之后并且告知老師自己回答完畢,老師才會(huì)繼續(xù)講課或者指令另外的學(xué)生做相應(yīng)的動(dòng)作。485協(xié)議的編程基于上面的思路編寫。
RS-485總線協(xié)議對(duì)于意外情況的處理,當(dāng)485總線主機(jī)對(duì)其從設(shè)備發(fā)送相關(guān)的指令的時(shí)候,從設(shè)備可能會(huì)因?yàn)榉N種原因而不執(zhí)行相關(guān)指令的情況,比如從設(shè)備在使用過(guò)程中損壞而不能回應(yīng)相關(guān)指令,主機(jī)一般都會(huì)設(shè)定一個(gè)時(shí)延,在設(shè)定的時(shí)間之內(nèi)得不到相關(guān)從設(shè)備的回應(yīng),其應(yīng)該做相應(yīng)的記錄并且執(zhí)行下一條指令。就像老師點(diǎn)名要求某個(gè)學(xué)生回答問(wèn)題,而沒(méi)有得到相應(yīng)的回應(yīng),點(diǎn)名三次之后,還是沒(méi)有回應(yīng),對(duì)于該學(xué)生的缺課做相關(guān)的記錄,然后繼續(xù)下面的課程。
關(guān)于485總線線路另外的一些問(wèn)題也可以用老師講課來(lái)做比喻,如老師講課過(guò)程中,外面的噪音非常的大,從而導(dǎo)致學(xué)生聽(tīng)不到,那就需要加擴(kuò)音器,對(duì)于485總線而言,就是外部干擾過(guò)大,導(dǎo)致衰減的485信號(hào)淹沒(méi)在噪聲中,需要增加485中繼器中繼還原相關(guān)信號(hào)再次傳輸,同樣的道理,如果教室過(guò)大,導(dǎo)致老師說(shuō)的話并不能傳到最后面的學(xué)生處,也是增加擴(kuò)音器來(lái)解決問(wèn)題,當(dāng)485總線傳輸距離過(guò)長(zhǎng)的時(shí)候,也是通過(guò)485中繼器放大信號(hào)延長(zhǎng)傳輸距離,還有就是如果講課過(guò)程中,產(chǎn)生了混音的情況有可能會(huì)導(dǎo)致整個(gè)課堂都聽(tīng)不清楚,就將其劃分為多個(gè)小教室,通過(guò)多個(gè)廣播將老師的聲音分別傳入各個(gè)教室,使其不混雜都能夠聽(tīng)清楚,如果將多個(gè)RS-485總線簡(jiǎn)單的按照星型連接或者樹(shù)形連接方式連接,就會(huì)產(chǎn)生信號(hào)反射等問(wèn)題,就必須采用485集線器或者 485中繼器將其相互隔離,獨(dú)立驅(qū)動(dòng),不會(huì)相互影響,從而保證485通信的穩(wěn)定性。
原文地址:
http://tieba.baidu.com/p/2737533662