半競爭式rs-485總線多主通訊系統及其工作方法
【專利摘要】半競爭式RS-485總線多主通訊系統,涉及一種通訊系統。目前RS-485總線方案,一旦出現沖突,需重新競爭。本發明特征在于:主節點通過第一接口芯片與總線相連,從節點通過第二接口芯片與總線相連,從節點設有同或門電路、雙路D型上升沿觸發器、或門電路,或門電路輸出端、從節點接收信號端與第二接口芯片連接,第二接口芯片與電源正極之間設第一電阻,第二接口芯片與接地端之間設第二電阻;主節點的發送信號端、接收信號端直接與第一接口芯片連接,第一接口芯片通過上拉電阻與電源相接,第一接口芯片通過下拉電阻接地。本發明從硬件著手,對所發送的數據進行監聽接收,工作穩定、可靠性高,速度更快。
【專利說明】 半競爭式RS-485總線多主通訊系統及其工作方法
【技術領域】
[0001]本發明涉及一個通訊系統。
【背景技術】
[0002]在傳統的RS-485總線中,具有一個主節點,和多個從節點。其工作過程如圖1所示,通訊總是由主節點發起,從節點收到命令后,得到總線控制權,再向總線上發送信息。發送結束后,總線控制權又歸還給主節點。從節點只有在主節點問詢時,才能發送數據,因此不能傳送告警等緊急數據;從節點間不能互通,只能通過主節點中轉,影響速度;為提高從節點的速度,提高系統的實時性,廣州華南理工大學自動化科學與工程學院提出了一種實現載波監聽多點接入/沖突檢測的多主RS-485總線的方案,通過軟件方式,其工作流程如圖2所示,相應提高了數據傳輸速度,但其只能檢測出總線沖突,不能主動避讓,一旦出現沖突,通訊失敗,需重新競爭。
【發明內容】
[0003]本發明要解決的技術問題和提出的技術任務是對現有技術方案進行完善與改進,提供半競爭式RS-485總線多主通訊系統及其工作方法,以實現多主節點間的即可信息互通,提高通訊速度的目的。為此,本發明采取以下技術方案。
[0004]半競爭式RS-485總線多主通訊系統,包括設于總線上的主節點及多個從節點,其特征在于:所述的主節點通過第一接口芯片與總線相連,所述的從節點通過第二接口芯片與總線相連,所述的從節點設有輸入端與從節點發送信號端及從節點接收信號端連接的同或門電路、與同或門電路輸出端連接的雙路D型上升沿觸發器、輸入端與雙路D型上升沿觸發器輸出端及從節點發送信號端連接的或門電路,或門電路輸出端、從節點接收信號端與第二接口芯片連接,第二接口芯片的正極輸出端與電源正極之間設第一電阻,第二接口芯片的負極輸出端與接地端之間設第二電阻;所述的主節點的發送信號端、接收信號端直接與第一接口芯片連接,第一接口芯片的接收信號引腳通過上拉電阻與電源相接,第一接口芯片的接收和發送使能端引腳通過下拉電阻接地。從節點的發送信號端與接收信號端信號經同或門電路后產生競爭結果信號,相同時競爭結果信號為高,表示發送成功,不同時競爭結果信號為低,表示發送失敗;當競爭結果信號為低時,雙路D型上升沿觸發器輸出被置為1,經或門電路后輸出為1,第二接口芯片停止發送數據;當總線處于空閑狀態時,從節點發送信號端及接收信號端均為高,競爭結果信號為高,處理器從節點的發送信號端發送數據,在第一個下降沿,雙路D型上升沿觸發器輸出為0,此時或門的輸出由發送信號端信號決定,當發送信號端信號為O時,第二接口芯片向總線輸出0,當發送信號端信號為I時,第二接口芯片處于接收狀態,總線由第一電阻和第二電阻維持I的狀態。在總線競爭過程中,由于多個從節點同時向總線上發送數據,當同時有時,即會產生沖突,會造成從節點接口損壞,嚴重時會導致總線癱瘓,為避免總線沖突,在從節點接口設計時采用類似開漏輸出的方式,即從節點接口只向總線上輸出“O”信號,“I”信號靠總線上匹配的第一、第二電阻保持,以此避免從節點間的數據沖突。下拉電阻確保第一接口芯片在空閑狀態時處于接收狀態,釋放總線控制權,同時可以從總線上接收數據,當需要向總線發送數據時,通過將第一接口芯片使能端拉高,使第一接口芯片處于發送狀態,即可向總線發送數據,此時,第一接口芯片不接收總線上的數據,上拉電阻確保接收信號始終為高電平,為無數據狀態。當主節點與從節點發送沖突時,各節點都有出錯重發機制,從節點檢測到沖突退出發送,主節點因無法檢測沖突一直發送,直至發送成功。由于從節點具有監聽功能,使主節點優先于從節點,而從節點之間采用競爭機制。在保證主節點優先的前提下,提高從節點的傳輸速度。本發明從硬件著手,對所發送的數據進行監聽接收,工作穩定、可靠性高,速度更快。
[0005]作為對上述技術方案的進一步完善和補充,本發明還包括以下附加技術特征。
[0006]從節點發送信號端經非門電路后與雙路D型上升沿觸發器的CLK引腳相連。
[0007]半競爭式RS-485總線多主通訊系統工作方法,其特征在于包括以下步驟:
O總線上所有從節點始終監聽總線,當總線上數據中斷時間超過設定字節傳輸時間,即認為總線處于空閑狀態,此時需要發送數據的從節點開始競爭總線;當總線忙碌時,需要發送數據的節點則進行等待直至總線空閑;
2)競爭總線時,發送數據的從節點先向總線上發送地址信息,并并以位為單位進行硬件沖突檢測,若同一時刻有“I” “O”發送沖突時,總線只發送“O”信號,發送數據的從節點監聽總線上傳輸的數據,如果與所發送的數據不同,則為競爭失敗,退出競爭,停止發送;
3)競爭成功的從節點獲得總路線控制權,可以開始發送數據,如果傳輸中斷時間超過設定的字節,即釋放總線;
4)當主節點與從節點發送沖突時,從節點都有出錯重發機制,從節點檢測到沖突退出發送,主節點因無法檢測沖突一直發送,直至發送成功,保證主節點優先發送數據,無需延時重發。而本系統中采用硬件沖突檢測方式,以位為單位,一旦產生沖突,失敗的一方自動退出,得到控制權的一方則可以繼續發送數據,保證本次數據正確發送。因此,本系統具有更直接的沖突檢測與退出機制,且同時保證主節點可以優先發送數據,無需延時重發機制。
[0008]有益效果:本技術方案通過對RS-485控制方式的改進,實現了多主節點間即時的信息互通,控制方式簡單可靠,避免了從節點間的總線沖突,具有很高的現場實用價值,在保證主節點優先的前提下,提高從節點的傳輸速度。
【專利附圖】
【附圖說明】
[0009]圖1是現有的RS-485通訊流程圖。
[0010]圖2是現有具監聽功能RS-485工作流程圖。
[0011]圖3是本發明總線結構圖。
[0012]圖4是本發明從節點電路原理結構圖。
[0013]圖5是本發明主節點電路原理結構圖。
【具體實施方式】
[0014]以下結合說明書附圖對本發明的技術方案做進一步的詳細說明。
[0015]如圖3、4、5所示,本發明包括設于總線上的主節點及多個從節點,所述的主節點通過第一接口芯片UO與總線相連,所述的從節點通過第二接口芯片U2與總線相連,所述的從節點設有輸入端與從節點發送信號端TXD及從節點接收信號端RXD連接的同或門電路U4、與同或門電路U4輸出端連接的雙路D型上升沿觸發器U3A、輸入端與雙路D型上升沿觸發器U3A輸出端及從節點發送信號端TXD連接的或門電路U1,或門電路Ul輸出端、從節點接收信號端RXD與第二接口芯片U2連接,第二接口芯片U2的正極輸出端與電源正極之間設第一電阻R2,第二接口芯片U2的負極輸出端與接地端之間設第二電阻R3 ;所述的主節點的發送信號端TXD、接收信號端RXD直接與第一接口芯片UO連接,第一接口芯片的接收信號引腳RO通過上拉電阻Rl與電源相接,第一接口芯片的接收和發送的使能端引腳/RE、DE通過下拉電阻RO接地。從節點發送信號端TXD經非門電路U5后與雙路D型上升沿觸發器U3A的CLK引腳相連。從節點的發送信號端TXD與接收信號與經同或門電路U4后產生競爭結果信號FAIL,相同時競爭結果信號FAIL為高,表示發送成功,不同時競爭結果信號FAIL為低,表示發送失敗;當競爭結果信號FAIL為低時,雙路D型上升沿觸發器U3A輸出被置為1,經或門電路Ul后輸出為1,第二接口芯片U2停止發送數據;當總線處于空閑狀態時,從節點發送信號端TXD及接收信號端RXD均為高,競爭結果信號FAIL為高,處理器從節點的發送信號端TXD發送數據,在第一個下降沿,雙路D型上升沿觸發器U3A輸出為0,此時或門的輸出由發送信號端TXD信號決定,當發送信號端TXD信號為O時,第二接口芯片U2向總線輸出0,當發送信號端TXD信號為I時,第二接口芯片U2處于接收狀態,總線由第一電阻R2和第二電阻R3維持I。下拉電阻R2確保第一接口芯片Ul在空閑狀態時處于接收狀態,釋放總線控制權,同時可以從總線上接收數據。當需要向總線發送數據時,通過將DIR拉高,使第一接口芯片Ul處于發送狀態,即可向總線發送數據。此時,第一接口芯片Ul不接收總線上的數據,上拉電阻Rl確保接收信號RXD始終為高電平,為無數據狀態。
[0016]半競爭式RS-485總線多主通訊系統控制方法,包括以下步驟:
1)總線上所有從節點始終監聽總線,當總線上數據中斷時間超過設定字節傳輸時間,即認為總線處于空閑狀態,此時需要發送數據的從節點開始競爭總線;當總線忙碌時,需要發送數據的節點則進行等待直至總線空閑;
2)競爭總線時,發送數據的從節點先向總線上發送地址信息,并并以位為單位進行硬件沖突檢測,若同一時刻有“I” “O”發送沖突時,總線只發送“O”信號,發送數據的從節點監聽總線上傳輸的數據,,如果與所發送的數據不同,則為競爭失敗,退出競爭,停止發送;
3)競爭成功的從節點獲得總路線控制權,可以開始發送數據,如果傳輸中斷時間超過設定的字節,即釋放總線;
4)當主節點與從節點發送沖突時,從節點都有出錯重發機制,從節點檢測到沖突退出發送,主節點因無法檢測沖突一直發送,直至發送成功,保證主節點優先發送數據,無需延時重發。
[0017]以上圖3、4、5所示的半競爭式RS-485總線多主通訊系統及其工作方法是本發明的具體實施例,已經體現出本發明突出的實質性特點和顯著進步,可根據實際的使用需要,在本發明的啟示下,對其進行形狀、結構等方面的等同修改,均在本方案的保護范圍之列。
【權利要求】
1.半競爭式RS-485總線多主通訊系統,包括設于總線上的主節點及多個從節點,其特征在于:所述的主節點通過第一接口芯片UO與總線相連,所述的從節點通過第二接口芯片(U2)與總線相連,所述的從節點設有輸入端與從節點發送信號端(TXD)及從節點接收信號端(RXD )連接的同或門電路(U4 )、與同或門電路(U4 )輸出端連接的雙路D型上升沿觸發器(U3A)、輸入端與雙路D型上升沿觸發器(U3A)輸出端及從節點發送信號端(TXD)連接的或門電路(Ul ),或門電路(Ul)輸出端、從節點接收信號端(RXD)與第二接口芯片(U2)連接,第二接口芯片(U2)的正極輸出端與電源正極之間設第一電阻(R2),第二接口芯片(U2)的負極輸出端與接地端之間設第二電阻(R3);所述的主節點的發送信號端(TXD)、接收信號端(RXD)直接與第一接口芯片(UO)連接,第一接口芯片的接收信號引腳(RO)通過上拉電阻(Rl)與電源相接,第一接口芯片(Ul)的接收和發送使能端引腳(/RE、DE)通過下拉電阻(RO)接地。
2.根據權利要求1所述的半競爭式RS-485總線多主通訊系統,其特征在于:從節點發送信號端(TXD)經非門電路(U5)后與雙路D型上升沿觸發器(U3A)的CLK引腳相連。
3.采用權利要求1所述的半競爭式RS-485總線多主通訊系統的半競爭式RS-485總線多主通訊工作方法,其特征在于包括以下步驟: O總線上所有從節點始終監聽總線,當總線上數據中斷時間超過設定字節傳輸時間,即認為總線處于空閑狀態,此時需要發送數據的從節點開始競爭總線;當總線忙碌時,需要發送數據的節點則進行等待直至總線空閑; 2)競爭總線時,發送數據的從節點先向總線上發送地址信息,并并以位為單位進行硬件沖突檢測,若同一時刻有“I” “O”發送沖突時,總線只發送“O”信號,發送數據的從節點監聽總線上傳輸的數據,,如果與所發送的數據不同,則為競爭失敗,退出競爭,停止發送; 3)競爭成功的從節點獲得總路線控制權,可以開始發送數據,如果傳輸中斷時間超過設定的字節,即釋放總線; 4)當主節點與從節點發送沖突時,從節點都有出錯重發機制,從節點檢測到沖突退出發送,主節點因無法檢測沖突一直發送,直至發送成功,保證主節點優先發送數據,無需延時重發。
4.根據權利要求3所述的半競爭式RS-485總線多主通訊工作方法,其特征在于:從節點的發送信號端(TXD)與接收信號端(RXD)信號經同或門電路(U4)后產生競爭結果信號(FAIL),相同時競爭結果信號(FAIL)為高,表示發送成功,不同時競爭結果信號(FAIL)為低,表示發送失敗;當競爭結果信號(FAIL)為低時,雙路D型上升沿觸發器(U3A)輸出被置為1,經或門電路(Ul)后輸出為1,第二接口芯片(U2)停止發送數據;當總線處于空閑狀態時,從節點發送信號端(TXD)及接收信號端(RXD)均為高,競爭結果信號(FAIL)為高,處理器從節點的發送信號端(TXD)發送數據,在第一個下降沿,雙路D型上升沿觸發器(U3A)輸出為0,此時或門的輸出由發送信號端(TXD)信號決定,當發送信號端(TXD)信號為O時,第二接口芯片(U2)向總線輸出0,當發送信號端(TXD)信號為I時,第二接口芯片(U2)處于接收狀態,總線由第一電阻(R2)和第二電阻(R3)維持I的狀態。
【文檔編號】H04L12/413GK103746889SQ201310230005
【公開日】2014年4月23日 申請日期:2013年6月9日 優先權日:2013年6月9日
【發明者】李波, 王偉峰, 金家紅, 沈志宏, 甄榮國, 楊碧峰, 陶暉 申請人:國家電網公司, 浙江省電力公司, 浙江創維自動化工程有限公司, 紹興電力局