零延時(shí)RS一485接口電路的設計與應用
摘要根據在研制節能燈壽命檢測系統中,實(shí)際檢測環(huán)境傳輸數據量大,實(shí)時(shí)性強的特點(diǎn),對物理總線(xiàn)的拓撲結構和通信協(xié)議提出要求。采用零延時(shí)RS一485接口電路,邏輯上采用主從式網(wǎng)絡(luò )結構,物理結構上采用星型網(wǎng)絡(luò )拓撲結構;設計出一種支持主從式網(wǎng)絡(luò )結構的485HUB,經(jīng)過(guò)通信協(xié)議的幀校驗和幀超時(shí)的設計,進(jìn)一步提高軟件抗干擾的能力。測試結果表明,系統穩定可靠,抗干擾能力強。
本文引用地址:http://dyxdggzs.com/article/148974.htm關(guān)鍵詞零延時(shí)RS一485節能燈壽命檢測
1概述
RS一485接口是一種基于平衡發(fā)送和差分接收的串行總線(xiàn),具有很強的抗共模干擾能力,在適當的波特率下傳輸距離遠;同時(shí)易于進(jìn)行網(wǎng)絡(luò )擴展,被廣泛的應用在很多工業(yè)現場(chǎng)。
節能燈壽命檢測環(huán)境中,主要干擾來(lái)自開(kāi)關(guān)和壽命檢測的強電干擾、開(kāi)關(guān)產(chǎn)生的電磁干擾、空氣循環(huán)設備的干擾等等;同時(shí)由于壽命檢測環(huán)境溫度高,強電系統復雜,也給系統的運行提出更高的要求。壽命檢測系統要求實(shí)時(shí)報告每一盞節能燈的運行狀態(tài)、環(huán)境溫度、電壓等,并在壽終計算出節能燈壽命、光通等參數??梢?jiàn)系統的傳輸數據量大,實(shí)時(shí)性強,因此物理總線(xiàn)的拓撲結構和通信協(xié)議尤為關(guān)鍵。
良好的接口設計,應該在硬件上保證系統有良好的抗干擾性、穩定性和易擴展性。本系統選用了性?xún)r(jià)比很高的半雙工接口芯片SN65HVD3082。它具有以下特點(diǎn)[1]:
①滿(mǎn)足或超出TIA/EIA-485A標準的要求;
②低靜態(tài)電流消耗——有效模式為小于0。3mA,關(guān)閉模式為lnA;
③優(yōu)化的驅動(dòng)器輸出信號,傳輸率達200kbps時(shí)保持低EMI;
④1/8單元負載——1條總線(xiàn)上多達256個(gè)節點(diǎn);
⑤總線(xiàn)引腳ESD保護超過(guò)16kv;
⑥工業(yè)標準SN75176覆蓋范圍;
⑦失效保護功能。
基于SN65HVD3082的RS-485接口電路,通常有三種方案。
(1)直接控制收發(fā)的RS-485接口電路
此方法使用控制器切換發(fā)送使能和接收使能端,控制接口電路數據的發(fā)送和接收。由于采用直接收發(fā),因此需要發(fā)送和接收時(shí)的轉換,只能加入額外的控制器來(lái)控制發(fā)送和接收的轉換;同時(shí),需要用控制器存儲轉發(fā)所有的傳輸數據,這樣,每傳輸1幀數據,至少損失1個(gè)單位的接收時(shí)間(儲存轉發(fā)1幀數據的時(shí)間)。此方案不利于數據量大的實(shí)時(shí)通信,而且在發(fā)送和接收的切換過(guò)程中,在VA和VB(VA和VB分別是Rs一485總線(xiàn)的A、B端的電壓)有階躍電壓的產(chǎn)生。這個(gè)階躍電壓對接收器的接收有干擾產(chǎn)生。
(2)自動(dòng)收發(fā)轉換的RS-485接口電路
圖l所示的虛線(xiàn)框中為接口電路,通過(guò)對真值表進(jìn)行分析,其發(fā)送和接收過(guò)程為:
當發(fā)送端DI=O時(shí),DE/RE=1發(fā)送O電平,接收端RO=O;當發(fā)送端DI=1時(shí),DE/RE=0,VA=VB=2。5V,接收端由于上拉電阻的作用RO=1。

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

此電路在發(fā)送高電平時(shí),發(fā)送器處于高阻狀態(tài),總線(xiàn)上所有接口處于接收狀態(tài),總線(xiàn)是空閑的,允許其他接口發(fā)送數據,因此容易引入總線(xiàn)沖突。特別是連續發(fā)送商電平比特時(shí),發(fā)送器處于高阻狀態(tài)的時(shí)間越長(cháng),引入總線(xiàn)沖突的幾率就越大。
(3)零延時(shí)的RS-485接口電路
零延時(shí)RS-4185接口電路主要采用74HCl4和電路中的電阻、電容等元件構成一個(gè)延時(shí)很短的電路,其主要作用是:
①發(fā)送器在發(fā)送高電平的時(shí)候,在短延時(shí)內不再是處于高阻狀態(tài),仍有驅動(dòng)電流存在,這樣在一定程度上可以增加接口的抗干擾能力。
②從真值表可以看出.對于接收器,當VID=VA-VR≥一O。01V時(shí),RO=1;在發(fā)送端,當DE/RE=0,發(fā)送驅動(dòng)器的VA和VB都是高阻態(tài),此時(shí)VA=VB=2。5V,因此,這時(shí)對于接收端RO=1;而在短延時(shí)的時(shí)間內,由千DI=1且DE/RE=1.所以RO=1.可見(jiàn)在短延時(shí)和DE/RE=0的時(shí)間內接收端RO=l,這樣就完成了對高電平的發(fā)送和接收,而且在接收端的上升沿不會(huì )有延遲,即零延時(shí),如圖3所示。
把圖l中自動(dòng)收發(fā)轉換的RS-485接口電路換成零延時(shí)的RS-485接口電路,如圖4所示。同樣在TX0端加入1kHz的方波對電路進(jìn)行測試,結果是接收端RO的上升沿不會(huì )有延遲。這和是否接入120Ω的端電阻沒(méi)有關(guān)系,證實(shí)了以上的分析。
圖2、3中虛線(xiàn)箭頭指向處的電壓為2。5V。
圖4中,根據系統所確定的傳輸速度來(lái)選擇R3和C0參數,以達到零延時(shí)。傳輸速度越高,延時(shí)越小。這里選擇R3=22kΩ,C0=1000pF。

自動(dòng)收發(fā)轉換的RS-4t85接口電路和零延時(shí)的RS-485接口電路都有不足之處,即在發(fā)送端發(fā)送連續的高電平時(shí),邏輯上發(fā)送端是處于發(fā)送狀態(tài),接收端處于接收狀態(tài);但實(shí)際上,此時(shí)所有SN75HVl53082接口的DE/RE=0,所以,所有的發(fā)送端和接收端都處于接收狀態(tài)。這在對等的網(wǎng)絡(luò )結構中是不能忽視的,因為在這段時(shí)間內,總線(xiàn)是空閑的,是允許節點(diǎn)發(fā)送數據的。
這里采用的是主從式的網(wǎng)絡(luò )結構,因此這個(gè)問(wèn)題不會(huì )影響系統工作。
3網(wǎng)絡(luò )拓撲結構
網(wǎng)絡(luò )拓撲結構的設計是根據壽命檢測系統的實(shí)際需要提出的,設計目標是:滿(mǎn)足lO個(gè)壽命架,每個(gè)壽命架64個(gè)節點(diǎn)的檢測要求,在硬件和軟件上做到容易擴展,走線(xiàn)合理。因此邏輯上采用主從式網(wǎng)絡(luò )結構,物理結構上采用星型拓撲結構,如圖5所示。這個(gè)拓撲結構有兩級總線(xiàn),主要由以下設備組成:
①RS-232轉RS-485。實(shí)現RS-232到RS-485電氣信號的轉換,這是第一級RS-485總線(xiàn)。
②10口的485HIJB(集線(xiàn)器)。如圖6所示,485HUB是由1個(gè)主機和10個(gè)從機的零延時(shí)的RS-485接口組成,這是在邏輯上實(shí)現主從式結構的基礎。當主機端下行發(fā)送數據時(shí),連接在10個(gè)從機接口上的所有接口都可以接收到數據;而當某個(gè)從機接口上掛接的節點(diǎn)上行發(fā)送數據時(shí),只有主機節點(diǎn)(PS端)和掛接在同一個(gè)從機接口上的其他節點(diǎn)可以接收到數據。這是第二級RS-485總線(xiàn)。
③單片機節點(diǎn)。有4種節點(diǎn),即節能燈狀態(tài)采集節點(diǎn)、溫度采集節點(diǎn)、供電電壓采集節點(diǎn)和模式控制節點(diǎn)。每個(gè)單片機節點(diǎn)的通信接口都采用零延時(shí)的RS-485接口電路,每一個(gè)節點(diǎn)都有自己的地址,用于PC端尋址。
理論上,SN75HVD3082的一條總線(xiàn)可以連接多達256個(gè)節點(diǎn),因此在每個(gè)從機接口上可以擴展更多的節點(diǎn);同時(shí)在RS-232轉RS-485轉換器的總線(xiàn)上也可以連接更多的485HUB。這樣就可以實(shí)現硬件上的擴展。


4通信協(xié)議
采用9600bps的波特率,固定長(cháng)度幀結構,幀長(cháng)度10字節。幀信息定義如下:幀頭(0x550xAA)、命令(1字節)、數據(4字節)、從機地址(2字節)、校驗(1字節)。
在通信協(xié)議中采用幀校驗和幀超時(shí),以達到軟件抗干擾的目的。
①幀校驗:采用累加和校驗。在發(fā)送時(shí),把幀頭、命令、數據、從機地址幾個(gè)域相加并取最低字節填充到校驗域。如果節點(diǎn)不處于接收狀態(tài),則啟動(dòng)發(fā)送,否則等待;如果在未超時(shí),并完整地接收到10字節時(shí),把幀頭、命令、數據、從機地址幾個(gè)域相加,并與校驗域比較,相同表示成功接收到1幀數據。
②幀超時(shí):幀超時(shí)定義是,在接收到第一個(gè)字節時(shí),進(jìn)入接收狀態(tài),并設置8ms定時(shí),以后每接收到一個(gè)字節,重置8ms定時(shí)。正常情況下,接收一個(gè)字節約1ms時(shí)間。如果超過(guò)8ms,則退出接收狀態(tài),丟棄當前接收幀,回到空閑狀態(tài),等待下一幀的接收。
在程序設計中,幀超時(shí)的定義與程序的架構和波特率有關(guān),原則上只要大于1個(gè)字節的接收時(shí)間就可以了。這里選擇8ms與程序的架構有關(guān)。
5測試結論和應用前景
在設置了所有節點(diǎn)的地址后,即可在現場(chǎng)對系統進(jìn)行測試。測試方案是,在PC機端運行測試軟件,約每隔50ms發(fā)送一次測試命令輪詢(xún)所有的節點(diǎn)。每一次發(fā)送都要求有數據返回,否則視為通信錯誤。軟件連續運行7天,沒(méi)有發(fā)現錯誤,說(shuō)明系統穩定可靠。
目前設計的節能燈壽命檢測系統已經(jīng)在現場(chǎng)成功投入使用,運行效果良好。此系統設計思想對于設計具有大量節點(diǎn)、大數據量的實(shí)時(shí)智能檢測系統起到借鑒作用,在自動(dòng)化檢測領(lǐng)域中將有較為廣泛的應用價(jià)值。
DIY機械鍵盤(pán)相關(guān)社區:機械鍵盤(pán)DIY
上拉電阻相關(guān)文章:上拉電阻原理
評論