根據在研制節能燈壽命檢測系統中,實際檢測環境傳輸數據量大,實時性強的特點,對物理總線的拓撲結構和通信協議提出要求。采用零延時RS一485接口電路,邏輯上采用主從式網絡結構,物理結構上采用星型網絡拓撲結構;設計出一種支持主從式網絡結構的485HUB,經過通信協議的幀校驗和幀超時的設計,進一步提高軟件抗干擾的能力。測試結果表明,系統穩定可靠,抗干擾能力強。
關鍵詞:零延時 RS485節能燈壽命檢測
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分別是Rs485總線的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。
??? 在此接口電路的TXo端加入1kHz的TTL方波對電路進行測試。未加入120Ω端電阻時,接口芯片的485-A和485-B腳都有約50μs的電壓變化過程,如圖2所示。接收端Ro波形的上升沿有明顯的延遲約30~40μs(和數據發送端DI比較),造成很大的傳輸誤差;加入120Ω端電阻時,延遲明顯縮小,約3μs。
??? 此電路在發送高電平時,發送器處于高阻狀態,總線上所有接口處于接收狀態,總線是空閑的,允許其他接口發送數據,因此容易引入總線沖突。特別是連續發送商電平比特時,發送器處于高阻狀態的時間越長,引入總線沖突的幾率就越大。
(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。
??? 自動收發轉換的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。這樣就可以實現硬件上的擴展。
4 通信協議
??? 采用9600 bps的波特率,固定長度幀結構,幀長度10字節。幀信息定義如下:幀頭(0x55 0xAA)、命令(1字節)、數據(4字節)、從機地址(2字節)、校驗(1字節)。
??? 在通信協議中采用幀校驗和幀超時,以達到軟件抗干擾的目的。
??? ①幀校驗:采用累加和校驗。在發送時,把幀頭、命令、數據、從機地址幾個域相加并取最低字節填充到校驗域。如果節點不處于接收狀態,則啟動發送,否則等待;如果在未超時,并完整地接收到10字節時,把幀頭、命令、數據、從機地址幾個域相加,并與校驗域比較,相同表示成功接收到1幀數據。
??? ②幀超時:幀超時定義是,在接收到第一個字節時,進入接收狀態,并設置8ms定時,以后每接收到一個字節,重置8ms定時。正常情況下,接收一個字節約1 ms時間。如果超過8ms,則退出接收狀態,丟棄當前接收幀,回到空閑狀態,等待下一幀的接收。
??? 在程序設計中,幀超時的定義與程序的架構和波特率有關,原則上只要大于1個字節的接收時間就可以了。這里選擇8ms與程序的架構有關。
5 測試結論和應用前景
??? 在設置了所有節點的地址后,即可在現場對系統進行測試。測試方案是,在PC機端運行測試軟件,約每隔50ms發送一次測試命令輪詢所有的節點。每一次發送都要求有數據返回,否則視為通信錯誤。軟件連續運行7天,沒有發現錯誤,說明系統穩定可靠。
??? 目前設計的節能燈壽命檢測系統已經在現場成功投入使用,運行效果良好。此系統設計思想對于設計具有大量節點、大數據量的實時智能檢測系統起到借鑒作用,在自動化檢測領域中將有較為廣泛的應用價值。
評論
查看更多