一種用于提高rs485總線數據傳輸可靠性的使能信號控制電路的制作方法
【專利摘要】本發明公開了一種用于提高RS485總線數據傳輸可靠性的使能信號控制電路,設置在單片機引腳(TXD)與RS485接口芯片之間。該使能信號控制電路的輸入端與單片機引腳(TXD)相連接,輸出端分別與RS485接口芯片的引腳(DE)、引腳(/RE)和引腳(DI)相連接,用于控制RS485接口芯片發送/接收使能信號和數據信號。本發明能夠使使能信號與數據信號時序的完全匹配,提高了數據傳輸的可靠性,特別適合數據量大、傳輸速度局的場合。
【專利說明】一種用于提高RS485總線數據傳輸可靠性的使能信號控制 電路
【技術領域】
[0001] 本發明涉及一種用于提高RS485總線數據傳輸可靠性的使能信號控制電路,屬于 通信【技術領域】。
【背景技術】
[0002] RS485總線是半雙工的通信標準。當一條總線連接多個站點時,任一時間只能有一 個處于發送的狀態,其他均處于接收的狀態;如果大于一個點處于發送狀態,將會引起總線 沖突,接收點不能正確的接收數據。所以在這樣的通信網絡中,控制好每個點的發送接收狀 態顯得尤為重要。只有可靠地控制RS485接口芯片的收發使能信號,才能保證數據能及時、 可靠的傳輸。
[0003] 現有技術中,RS485收發使能信號的控制方法有以下2種:
[0004] (1)采用 I/O 口控制 RE/DE
[0005] 如圖1所示,以MAX487為例,發送數據前,I/O 口輸出高電平使能信號,使該點處 于發送狀態;數據發送完成后,I/O輸出低電平使能信號,使該點處于接收狀態。使能信號 與數據的時序參見圖2。以上電路的優點是使能信號與數據信號的時序完全匹配,使數據可 靠傳輸。但是,此電路存在如下缺點:占用一位I/O資源,總線的利用率較低;當總線上有多 個RS485設備時,如果某個設備CPU死機,且10 口保持高電平,則總線將被長期占用,其他 設備無法發送數據,使整個總線癱瘓。
[0006] (2)采用TXD數據流控制方向
[0007] 如圖3所示,采用每發送一個字符自動轉換一次收發方向的方法來控制RS485接 口芯片發送/接收使能信號。當發送數據〇時,DE/REB=1,發送使能信號,接收端收到0; 當發送數據為1時,DE/REB = 0時,MAX87發送處于禁止狀態,A、B為高阻狀態,接收端收到 1。使能信號與數據的時序圖參見圖4。但是,此電路存在以下問題:由于三極管8550的開 關延時,在發送數據時,在發送數據的起始階段,數據先發送出去,然后RS485的使能信號 才有效,在高速率、大數據包的情況下不能保證數據可靠傳輸。
【發明內容】
[0008] 針對現有技術的不足,本發明所要解決的技術問題在于提供一種用于提高RS485 總線數據傳輸可靠性的使能信號控制電路。
[0009] 為實現上述發明目的,本發明采用下述的技術方案:
[0010] 一種用于提高RS485總線數據傳輸可靠性的使能信號控制電路,所述使能信號控 制電路由與非門、電阻和電容構成;
[0011] 所述使能信號控制電路設置在單片機的引腳TXD與RS485接口芯片之間,用于控 制所述RS485接口芯片發送/接收使能信號和數據信號。
[0012] 其中較優地,所述使能信號控制電路由第一與非門、第二與非門、第三與非門、電 阻和電容構成;
[0013] 所述引腳TXD分別與所述第一與非門的輸入端1、輸入端2相連接,所述第一與非 門的輸出端3分別與所述第三與非門的輸入端8、輸入端9相連,所述第三與非門的輸出端 10與RS485接口芯片的引腳DI相連接;
[0014] 所述引腳TXD與所述第二與非門的輸入端5相連接,所述第二與非門的輸入端6 通過電阻R1與電源VCC相連,所述第二與非門的輸出端4與所述RS485接口芯片的引腳 DE/RE相連接;
[0015] 所述電容跨接在所述第一與非門的輸出端3和第二與非門的輸入端6之間,并且 所述電容的引腳11與第二與非門的輸入端6相連。
[0016] 其中較優地,當不發送數據時,所述引腳TXD為高電平,所述第一與非門的輸入端 1、輸入端2為高電平,輸出端3為低電平;所述第二與非門的輸入端5、輸入端6為高電平, 輸出端4為低電平;所述RS485接口芯片的引腳/RE工作,引腳DI不接收數據,即發送處于 禁止狀態,所述RS485接口芯片的引腳A、引腳B為高阻狀態,所述引腳DI接收到1;所述電 容的引腳11為高電平,引腳12為低電平,所述電容充滿電荷。
[0017] 其中較優地,開始發送數據時,所述引腳TXD由高電平變為低電平,所述第一與非 門的輸入端1、輸入端2為低電平,輸出端3為高電平;所述電源VCC會通過所述電阻繼續 向所述電容充電,所述電容過充電;所述第二與非門的輸入端5為低電平,輸出端4由低電 平變為高電平,向所述RS485接口芯片發送使能信號;所述RS485接口芯片的引腳DE接收 所述使能信號工作,所述引腳DI接收到0。
[0018] 其中較優地,當發送數據完畢,所述引腳TXD上升沿到來時,所述第一與非門U5A 輸出端3為低電平;所述電容瞬間放電,將所述第二與非門的輸入端6拉為低電平,所述第 二與非門的輸出端4仍為高電平,此時引腳DE保持工作,所述RS485接口芯片的DI引腳保 持接收數據狀態;
[0019] 所述電容慢慢充電至完成,所述第二與非門的輸入端6變為高電平;所述第二與 非門的輸入端5為高電平,輸出端4變為低電平,發送禁止信號,所述RS485接口芯片的引 腳/RE接收所述使能信號工作,引腳DI不再接收數據。
[0020] 其中較優地,所述電阻與所述電容構成RC電路,所述RC電路的時間常數大于數據 到達所述RS485接口芯片與使能信號到達所述RS485接口芯片的時間差。
[0021] 其中較優地,所述使能信號控制電路還包括一個濾波電容,所述濾波電容的一端 接地,另一端與所述第二與非門的輸出端4相連接。
[0022] 本使能信號控制電路采用與非門實現RS485的收發使能轉換,可以有效解決現有 技術中占用10資源,總線利用率低的技術缺陷,以及在高速率、大數據包的情況下,數據可 靠傳輸的問題。本發明具有數據傳輸速率高、可靠性強、無干擾、誤碼率低等優點。
【專利附圖】
【附圖說明】
[0023] 圖1是現有技術中,RS485收發使能信號的控制電路示意圖;
[0024] 圖2是圖1所示的控制電路中,使能信號與數據的時序圖;
[0025] 圖3是現有技術中,RS485收發使能信號的另一種控制電路示意圖;
[0026] 圖4是圖3所示的控制電路中,使能信號與數據的時序圖;
[0027] 圖5是本發明所提供的使能信號控制電路的示意圖;
[0028] 圖6是圖5所示的使能信號控制電路中,使能信號與數據的理論時序圖;
[0029] 圖7是圖5所示的使能信號控制電路中,使能信號與數據的實際時序圖;
[0030] 圖8是對圖5進行改進后的使能信號控制電路示意圖;
[0031] 圖9是圖8所示的使能信號控制電路中,使能信號與數據的實際時序圖。
【具體實施方式】
[0032] 下面結合附圖和具體實施例對本發明的技術內容作進一步的說明。
[0033] 本發明所提供的使能信號控制電路參見圖5,以與非門為MC14093BD芯片、RS485 接口芯片為MAX485ESA為例,具體包括3個MC14093BD與非門U5A、U5B和U5C,1個電阻R1, 1個電容Cl,RS485接口芯片U1及其電源VCC。
[0034] 其中,與非門U5A的輸入端1、輸入端2短接,輸入端1的信號來自單片機的引腳 TXD (數據發送引腳);與非門U5C的輸入端8、輸入端9短接,并與與非門U5A的輸出端3相 連,與非門U5C的輸出端10與RS485接口芯片U1的引腳DI相連。與非門U5B的輸入端5 與與非門U5A的輸入端1相連接,與非門U5B的輸入端6經電阻R1和電源VCC相連接,與 非門U5B的輸出端4作為使能信號與RS485接口芯片U1的DE/REB(REB代表友互)相連接。 上述單片機包括Microchip的PIC系列、Atmel的51系列及AVR系列、德州儀器的MSP430 系列中的任意一種。電容C1為無極性電容,其一端與與非門U5B的輸入端6連接,另一端 與與非門U5A的輸出端3相連接。
[0035] 本使能信號控制電路的工作原理如下:每發送一個字符自動轉換一次收發方向, 從而控制RS485接口芯片U1的發送與接收使能信號;當TXD發送數據為0時,DE/REB為1, 向RS485接口芯片U1發送使能信號,引腳DI接收到0 ;當TXD發送數據為1時,DE/REB為 0, RS485接口芯片U1發送處于禁止狀態,引腳DI接收收到1。
[0036] 下面針對不同情況下的使能信號控制電路的工作過程進行詳細描述。
[0037] 1)當不發送數據時,引腳TXD為高電平,與非門U5A輸入端1、2為高電平,輸出端 3為低電平;與非門U5B輸入端5為高電平,輸入端6腳通過電阻R1與電源VCC相連為高 電平,則輸出端4為低電平,RS485接口芯片U1的引腳/RE工作,引腳DI不接收數據,即發 送處于禁止狀態,引腳A、B為高阻狀態,接收端收到1。電容C1引腳13為高電平,引腳14 為低電平,因此電容C1充滿電荷。
[0038] 2)當開始發送數據時,引腳TXD由高電平變為低電平,與非門U5A輸入端1、2為 低電平,輸出端3為高電平;電源VCC會通過電阻R1繼續向電容C1充電,導致電容C1過 充電。此時,與非門U5B輸入端5為低電平,輸出端4由低電平變為高電平,向RS485接口 芯片U1發送使能信號,此時RS485接口芯片U1的引腳DE工作,發送數據,引腳DI接收到 〇。與非門MC14093的典型延遲時間為125ns,因此,數據經過2次延遲125*2ns ;使能延遲 125*lns.
[0039] 3)發送數據完畢,引腳TXD上升沿到來時,與非門U5A輸出端3,由于電容Cl瞬間 放電,將與非門U5B輸入端6拉為低電平,與非門U5B輸出端4仍為高電平,此時RS485接 口芯片U1的引腳DE保持工作,RS485接口芯片U1的DI引腳保持接收數據狀態。電容C1 兩端存在電位差慢慢充電,當電容C1充電完畢,即與非門U5B輸入端6變為高電平。同時, 與非門U5B輸入端5為高電平,故輸出端4變為低電平,發送禁止信號,RS485接口芯片U1 的引腳/RE接收使能工作。
[0040] 此過程只要使RC的延遲時間大于(125*2 - 125*1) ns的時間,就滿足時序要求。
[0041] 如圖6所示,本使能信號控制電路在理想狀態下,當使能信號EN由低電平變為高 電平時,延遲一定的時間(該時間足夠小)后,才允許數據進行發送;當數據發送完成后,延 遲一定的時間,允許使能信號由高電平變為低電平。
[0042] 本使能信號控制電路在實際測試的一個實施例中,得到如下波形:在數據的上升 沿,使能信號EN會有一個下降的毛刺。產生毛刺的原因如下:當發送數據0結束時,S卩引腳 TXD上升沿到來時,在125ns的時間內,與非門U5A輸出端3的電平未發生變化。引腳TXD 變為高電平,與非門U5B輸出端4未發生變化;由于引腳TXD變為高電平,經過125ns后,與 非門U5A輸出端3和與非門U5B輸出端4會同時變化均變為低電平,與非門U5B輸入端6 的電壓會瞬間變為低電平。此時與非門U5B輸入端5為高電平,輸入端6為低電平,再經過 125ns,與非門U5B輸出端4會變為高電平。所以在數據的上升沿,使能信號會有一個125ns 的接收使能。
[0043] 為避免上述毛刺現象出現,本發明增加了濾波電容C2,電容C2為無極性電容,弓丨 腳14接地,引腳13與與非門U5B的輸出端4相連接,從而避免了毛刺的出現。改進前后的 電路工作原理相同。在這里不再一一贅述了。經實際測試,改進后電路的使能信號與數據的 時序參見圖9。當使能信號EN由低電平變為高電平時,延遲一定的時間(該時間足夠小) 后,才允許數據進行發送;當數據發送完成后,延遲一定的時間,允許使能信號由高電平變 為低電平,實現了預期效果。
[0044] 本發明通過與非門和RC延時結合實現RS485使能信號的控制,能夠使使能信號 與數據信號時序完全匹配,提高了數據傳輸的可靠性,特別適合數據量大、傳輸速度高的場 合,具有數據傳輸速率高、可靠性強、無干擾、誤碼率低等優點。
[0045] 以上對本發明所提供的用于提高RS485總線數據傳輸可靠性的使能信號控制電 路進行了詳細的說明。對本領域的一般技術人員而言,在不背離本發明實質精神的前提下 對它所做的任何顯而易見的改動,都將構成對本發明專利權的侵犯,將承擔相應的法律責 任。
【權利要求】
1. 一種用于提高RS485總線數據傳輸可靠性的使能信號控制電路,其特征在于: 所述使能信號控制電路設置在單片機引腳(TXD)與RS485接口芯片之間,輸入端與所 述單片機引腳(TXD)相連接,輸出端分別與RS485接口芯片的引腳(DE)、引腳(/RE)和引腳 (DI)相連接,用于控制RS485接口芯片發送/接收使能信號和數據信號。
2. 如權利要求1所述的使能信號控制電路,其特征在于, 所述使能信號控制電路由第一與非門、第二與非門、第三與非門、電阻和電容構成;所 述單片機引腳(TXD)分別與所述第一與非門的輸入端(1)、輸入端(2)相連接,所述第一與 非門的輸出端(3)分別與所述第三與非門的輸入端(8)、輸入端(9)相連,所述第三與非門 的輸出端(10)與RS485接口芯片的引腳(DI)相連接;所述單片機引腳(TXD)與所述第二 與非門的輸入端(5)相連接,所述第二與非門的輸入端(6)通過電阻(R1)與電源(VCC)相 連,所述第二與非門的輸出端(4)與所述RS485接口芯片的引腳(DE/RE)相連接;所述電容 跨接在所述第一與非門的輸出端(3)和第二與非門的輸入端(6)之間,并且所述電容的引 腳(11)與第二與非門的輸入端(6)相連。
3. 如權利要求2所述的使能信號控制電路,其特征在于, 當不發送數據時,所述單片機引腳(TXD)為高電平,所述第一與非門的輸入端(1)、輸 入端(2)為高電平,輸出端(3)為低電平;所述第二與非門的輸入端(5)、輸入端(6)為高 電平,輸出端(4)為低電平;所述RS485接口芯片的引腳(/RE)工作,引腳(DI)不接收數 據,即發送處于禁止狀態,所述RS485接口芯片的引腳(A)、引腳(B)為高阻狀態,所述引腳 (DI)接收到1 ;所述電容的引腳(11)為高電平,引腳(12)為低電平,所述電容充滿電荷。
4. 如權利要求2所述的使能信號控制電路,其特征在于, 當開始發送數據時,所述單片機引腳(TXD)由高電平變為低電平,所述第一與非門的 輸入端⑴、輸入端⑵為低電平,輸出端⑶為高電平;所述電源(VCC)通過所述電阻繼 續向所述電容充電,所述電容過充電;所述第二與非門的輸入端(5)為低電平,輸出端(4) 由低電平變為高電平,向所述RS485接口芯片發送使能信號;所述RS485接口芯片的引腳 (DE)接收所述使能信號工作,所述引腳(DI)接收到0。
5. 如權利要求2所述的使能信號控制電路,其特征在于, 當發送數據完畢,所述單片機引腳(TXD)上升沿到來時,所述第一與非門的輸出端(3) 為低電平;所述電容瞬間放電,將所述第二與非門的輸入端(6)拉為低電平,所述第二與非 門的輸出端(4)仍為高電平,此時RS485接口芯片的引腳(DE)保持工作,所述RS485接口 芯片的引腳(DI)保持接收數據狀態; 所述電容慢慢充電至完成,所述第二與非門的輸入端(6)變為高電平;所述第二與非 門的輸入端(5)為高電平,輸出端(4)變為低電平,發送禁止信號,所述RS485接口芯片的 引腳(/RE)接收所述使能信號工作,所述引腳(DI)不再接收數據。
6. 如權利要求1或2所述的使能信號控制電路,其特征在于, 所述電阻與所述電容構成RC電路,所述RC電路的時間常數大于數據到達所述RS485 接口芯片與使能信號到達所述RS485接口芯片的時間差。
7. 如權利要求1或2所述的使能信號控制電路,其特征在于, 所述使能信號控制電路還包括濾波電容,所述濾波電容的引腳(14)接地,引腳(13)與 所述第二與非門的輸出端(4)相連接。
【文檔編號】G05B19/042GK104216317SQ201410403802
【公開日】2014年12月17日 申請日期:2014年8月15日 優先權日:2014年8月15日
【發明者】高秀偉, 艾重陽 申請人:北京佳訊飛鴻電氣股份有限公司