零延時RS-485接口電路的設計與應用

     根據在研製節能燈壽命檢測系統中,實際檢測環境傳輸數據量大,實時性強的特點,對物理總線的拓撲結構和通信協議提出要求。採用零延時RS一485接口電路,邏輯上採用主從式網絡結構,物理結構上採用星型網絡拓撲結構;設計出一種支持主從式網絡結構的485HUB,經過通信協議的幀校驗和幀超時的設計,進一步提高軟件抗干擾的能力。測試結果表明,系統穩定可靠,抗干擾能力強。


    關鍵詞 零延時 RS一485 節能燈壽命檢測

1、概述
    RS一485接口是一種基於平衡發送和差分接收的串行總線,具有很強的抗共模干擾能力,在適當的波特率下傳輸距離遠;同時易於進行網絡擴展,被廣泛的應用在很多工業現場。

    節能燈壽命檢測環境中,主要干擾來自開關和壽命檢測的強電干擾、開關產生的電磁干擾、空氣循環設備的干擾等等;同時由於壽命檢測環境溫度高,強電系統複雜,也給系統的運行提出更高的要求。壽命檢測系統要求實時報告每一盞節能燈的運行狀態、環境溫度、電壓等,並在壽終計算出節能燈壽命、光通等參數。可見系統的傳輸數據量大,實時性強,因此物理總線的拓撲結構和通信協議尤爲關鍵。

2、接口設計
   
良好的接口設計,應該在硬件上保證系統有良好的抗干擾性、穩定性和易擴展性。本系統選用了性價比很高的半雙工接口芯片SN65HVD3082。它具有以下特點[1]:
    ①滿足或超出TIA/EIA-485A標準的要求;
    ②低靜態電流消耗——有效模式爲小於0.3 mA,關閉模式爲l nA;
    ③優化的驅動器輸出信號,傳輸率達200kbps時保持低EMI;
    ④1/8單元負載——1條總線上多達256個節點;
    ⑤總線引腳ESD保護超過16 kv;
    ⑥工業標準SN75176覆蓋範圍;
    ⑦失效保護功能。
    基於SN65HVD3082的RS-485接口電路,通常有三種方案。

(1)直接控制收發的RS-485接口電路
   
此方法使用控制器切換髮送使能和接收使能端,控制接口電路數據的發送和接收。由於採用直接收發,因此需要發送和接收時的轉換,只能加入額外的控制器來控制發送和接收的轉換;同時,需要用控制器存儲轉發所有的傳輸數據,這樣,每傳輸1幀數據,至少損失1個單位的接收時間(儲存轉發1幀數據的時間)。此方案不利於數據量大的實時通信,而且在發送和接收的切換過程中,在VA和VB(VA和VB分別是Rs一485總線的A、B端的電壓)有階躍電壓的產生。這個階躍電壓對接收器的接收有干擾產生。

(2)自動收發轉換的RS-485接口電路
   
圖l所示的虛線框中爲接口電路,通過對真值表進行分析,其發送和接收過程爲:
    當發送端DI=O時,DE/RE=1發送O電平,接收端RO=O;當發送端DI=1時,DE/RE=0,VA=VB=2.5V,接收端由於上拉電阻的作用RO=1。adf3447515.jpg

    在此接口電路的TXo端加入1kHz的TTL方波對電路進行測試。未加入120Ω端電阻時,接口芯片的485-A和485-B腳都有約50μs的電壓變化過程,如圖2所示。接收端Ro波形的上升沿有明顯的延遲約30~40μs(和數據發送端DI比較),造成很大的傳輸誤差;加入120Ω端電阻時,延遲明顯縮小,約3μs。8dc960f7a0.jpg

    此電路在發送高電平時,發送器處於高阻狀態,總線上所有接口處於接收狀態,總線是空閒的,允許其他接口發送數據,因此容易引入總線衝突。特別是連續發送商電平比特時,發送器處於高阻狀態的時間越長,引入總線衝突的機率就越大。

(3)零延時的RS-485接口電路
   
零延時RS-4185接口電路主要採用74HCl4和電路中的電阻、電容等元件構成一個延時很短的電路,其主要作用是:
    ①發送器在發送高電平的時候,在短延時內不再是處於高阻狀態,仍有驅動電流存在,這樣在一定程度上可以增加接口的抗干擾能力。
    ②從真值表可以看出.對於接收器,當VID=VA-VR≥一O.01 V時,RO=1;在發送端,當DE/RE=0,發送驅動器的VA和VB都是高阻態,此時VA=VB=2.5V,因此,這時對於接收端RO=1;而在短延時的時間內,由千DI=1且DE/RE=1.所以RO=1.可見在短延時和DE/RE=0的時間內接收端RO=l,這樣就完成了對高電平的發送和接收,而且在接收端的上升沿不會有延遲,即零延時,如圖3所示。

    把圖l中自動收發轉換的RS-485接口電路換成零延時的RS-485接口電路,如圖4所示。同樣在TX0端加入1 kHz的方波對電路進行測試,結果是接收端RO的上升沿不會有延遲。這和是否接入120Ω的端電阻沒有關係,證實了以上的分析。

    圖2、3中虛線箭頭指向處的電壓爲2.5 V。

    圖4中,根據系統所確定的傳輸速度來選擇R3和C0參數,以達到零延時。傳輸速度越高,延時越小。這裏選擇R3=22 kΩ,C0=1000 pF。6e4e7ea170.jpg

    自動收發轉換的RS-4t85接口電路和零延時的RS-485接口電路都有不足之處,即在發送端發送連續的高電平時,邏輯上發送端是處於發送狀態,接收端處於接收狀態;但實際上,此時所有SN75HVl53082接口的DE/RE=0,所以,所有的發送端和接收端都處於接收狀態。這在對等的網絡結構中是不能忽視的,因爲在這段時間內,總線是空閒的,是允許節點發送數據的。

    這裏採用的是主從式的網絡結構,因此這個問題不會影響系統工作。

3、網絡拓撲結構
    網絡拓撲結構的設計是根據壽命檢測系統的實際需要提出的,設計目標是:滿足lO個壽命架,每個壽命架64個節點的檢測要求,在硬件和軟件上做到容易擴展,走線合理。因此邏輯上採用主從式網絡結構,物理結構上採用星型拓撲結構,如圖5所示。這個拓撲結構有兩級總線,主要由以下設備組成:
    ①RS-232轉RS-485。實現RS-232到RS-485電氣信號的轉換,這是第一級RS-485總線。
    ②10口的485HIJB(集線器)。如圖6所示,485HUB是由1個主機和10個從機的零延時的RS-485接口組成,這是在邏輯上實現主從式結構的基礎。當主機端下行發送數據時,連接在10個從機接口上的所有接口都可以接收到數據;而當某個從機接口上掛接的節點上行發送數據時,只有主機節點(PS端)和掛接在同一個從機接口上的其他節點可以接收到數據。這是第二級RS-485總線。
    ③單片機節點。有4種節點,即節能燈狀態採集節點、溫度採集節點、供電電壓採集節點和模式控制節點。每個單片機節點的通信接口都採用零延時的RS-485接口電路,每一個節點都有自己的地址,用於PC端尋址。

    理論上,SN75HVD3082的一條總線可以連接多達256個節點,因此在每個從機接口上可以擴展更多的節點;同時在RS-232轉RS-485轉換器的總線上也可以連接更多的485HUB。這樣就可以實現硬件上的擴展。27c9908c7a.jpge00fcd23f5.jpg

4、通信協議
    採用9600 bps的波特率,固定長度幀結構,幀長度10字節。幀信息定義如下:幀頭(0x55 0xAA)、命令(1字節)、數據(4字節)、從機地址(2字節)、校驗(1字節)。

    在通信協議中採用幀校驗和幀超時,以達到軟件抗干擾的目的。
    ①幀校驗:採用累加和校驗。在發送時,把幀頭、命令、數據、從機地址幾個域相加並取最低字節填充到校驗域。如果節點不處於接收狀態,則啓動發送,否則等待;如果在未超時,並完整地接收到10字節時,把幀頭、命令、數據、從機地址幾個域相加,並與校驗域比較,相同表示成功接收到1幀數據。
    ②幀超時:幀超時定義是,在接收到第一個字節時,進入接收狀態,並設置8ms定時,以後每接收到一個字節,重置8ms定時。正常情況下,接收一個字節約1 ms時間。如果超過8ms,則退出接收狀態,丟棄當前接收幀,回到空閒狀態,等待下一幀的接收。

    在程序設計中,幀超時的定義與程序的架構和波特率有關,原則上只要大於1個字節的接收時間就可以了。這裏選擇8ms與程序的架構有關。

5、測試結論和應用前景
    在設置了所有節點的地址後,即可在現場對系統進行測試。測試方案是,在PC機端運行測試軟件,約每隔50ms發送一次測試命令輪詢所有的節點。每一次發送都要求有數據返回,否則視爲通信錯誤。軟件連續運行7天,沒有發現錯誤,說明系統穩定可靠。

    目前設計的節能燈壽命檢測系統已經在現場成功投入使用,運行效果良好。此系統設計思想對於設計具有大量節點、大數據量的實時智能檢測系統起到借鑑作用,在自動化檢測領域中將有較爲廣泛的應用價值。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章