零延時RS-485接口電路的設(shè)計與應(yīng)用
1 概述
本文引用地址:http://www.ex-cimer.com/article/201609/303305.htmRS一485接口是一種基于平衡發(fā)送和差分接收的串行總線,具有很強的抗共模干擾能力,在適當(dāng)?shù)牟ㄌ芈氏聜鬏斁嚯x遠(yuǎn);同時易于進(jìn)行網(wǎng)絡(luò)擴展,被廣泛的應(yīng)用在很多工業(yè)現(xiàn)場。
節(jié)能燈壽命檢測環(huán)境中,主要干擾來自開關(guān)和壽命檢測的強電干擾、開關(guān)產(chǎn)生的電磁干擾、空氣循環(huán)設(shè)備的干擾等等;同時由于壽命檢測環(huán)境溫度高,強電系統(tǒng)復(fù)雜,也給系統(tǒng)的運行提出更高的要求。壽命檢測系統(tǒng)要求實時報告每一盞節(jié)能燈的運行狀態(tài)、環(huán)境溫度、電壓等,并在壽終計算出節(jié)能燈壽命、光通等參數(shù)??梢娤到y(tǒng)的傳輸數(shù)據(jù)量大,實時性強,因此物理總線的拓?fù)浣Y(jié)構(gòu)和通信協(xié)議尤為關(guān)鍵。
2 接口設(shè)計
良好的接口設(shè)計,應(yīng)該在硬件上保證系統(tǒng)有良好的抗干擾性、穩(wěn)定性和易擴展性。本系統(tǒng)選用了性價比很高的半雙工接口芯片SN65HVD3082。它具有以下特點[1]:
①滿足或超出TIA/EIA-485A標(biāo)準(zhǔn)的要求;
②低靜態(tài)電流消耗——有效模式為小于0.3 mA,關(guān)閉模式為l nA;
③優(yōu)化的驅(qū)動器輸出信號,傳輸率達(dá)200kbps時保持低EMI;
④1/8單元負(fù)載——1條總線上多達(dá)256個節(jié)點;
⑤總線引腳ESD保護(hù)超過16 kv;
⑥工業(yè)標(biāo)準(zhǔn)SN75176覆蓋范圍;
⑦失效保護(hù)功能。
基于SN65HVD3082的RS-485接口電路,通常有三種方案。
(1)直接控制收發(fā)的RS-485接口電路
此方法使用控制器切換發(fā)送使能和接收使能端,控制接口電路數(shù)據(jù)的發(fā)送和接收。由于采用直接收發(fā),因此需要發(fā)送和接收時的轉(zhuǎn)換,只能加入額外的控制器來控制發(fā)送和接收的轉(zhuǎn)換;同時,需要用控制器存儲轉(zhuǎn)發(fā)所有的傳輸數(shù)據(jù),這樣,每傳輸1幀數(shù)據(jù),至少損失1個單位的接收時間(儲存轉(zhuǎn)發(fā)1幀數(shù)據(jù)的時間)。此方案不利于數(shù)據(jù)量大的實時通信,而且在發(fā)送和接收的切換過程中,在VA和VB(VA和VB分別是Rs一485總線的A、B端的電壓)有階躍電壓的產(chǎn)生。這個階躍電壓對接收器的接收有干擾產(chǎn)生。
(2)自動收發(fā)轉(zhuǎn)換的RS-485接口電路
圖l所示的虛線框中為接口電路,通過對真值表進(jìn)行分析,其發(fā)送和接收過程為:
當(dāng)發(fā)送端DI=O時,DE/RE=1發(fā)送O電平,接收端RO=O;當(dāng)發(fā)送端DI=1時,DE/RE=0,VA=VB=2.5V,接收端由于上拉電阻的作用RO=1。
在此接口電路的TXo端加入1kHz的TTL方波對電路進(jìn)行測試。未加入120Ω端電阻時,接口芯片的485-A和485-B腳都有約50μs的電壓變化過程,如圖2所示。接收端Ro波形的上升沿有明顯的延遲約30~40μs(和數(shù)據(jù)發(fā)送端DI比較),造成很大的傳輸誤差;加入120Ω端電阻時,延遲明顯縮小,約3μs。
此電路在發(fā)送高電平時,發(fā)送器處于高阻狀態(tài),總線上所有接口處于接收狀態(tài),總線是空閑的,允許其他接口發(fā)送數(shù)據(jù),因此容易引入總線沖突。特別是連續(xù)發(fā)送商電平比特時,發(fā)送器處于高阻狀態(tài)的時間越長,引入總線沖突的幾率就越大。
(3)零延時的RS-485接口電路
零延時RS-4185接口電路主要采用74HCl4和電路中的電阻、電容等元件構(gòu)成一個延時很短的電路,其主要作用是:
①發(fā)送器在發(fā)送高電平的時候,在短延時內(nèi)不再是處于高阻狀態(tài),仍有驅(qū)動電流存在,這樣在一定程度上可以增加接口的抗干擾能力。
②從真值表可以看出.對于接收器,當(dāng)VID=VA-VR≥一O.01 V時,RO=1;在發(fā)送端,當(dāng)DE/RE=0,發(fā)送驅(qū)動器的VA和VB都是高阻態(tài),此時VA=VB=2.5V,因此,這時對于接收端RO=1;而在短延時的時間內(nèi),由千DI=1且DE/RE=1.所以RO=1.可見在短延時和DE/RE=0的時間內(nèi)接收端RO=l,這樣就完成了對高電平的發(fā)送和接收,而且在接收端的上升沿不會有延遲,即零延時,如圖3所示。
把圖l中自動收發(fā)轉(zhuǎn)換的RS-485接口電路換成零延時的RS-485接口電路,如圖4所示。同樣在TX0端加入1 kHz的方波對電路進(jìn)行測試,結(jié)果是接收端RO的上升沿不會有延遲。這和是否接入120Ω的端電阻沒有關(guān)系,證實了以上的分析。
圖2、3中虛線箭頭指向處的電壓為2.5 V。
圖4中,根據(jù)系統(tǒng)所確定的傳輸速度來選擇R3和C0參數(shù),以達(dá)到零延時。傳輸速度越高,延時越小。這里選擇R3=22 kΩ,C0=1000 pF。
自動收發(fā)轉(zhuǎn)換的RS-4t85接口電路和零延時的RS-485接口電路都有不足之處,即在發(fā)送端發(fā)送連續(xù)的高電平時,邏輯上發(fā)送端是處于發(fā)送狀態(tài),接收端處于接收狀態(tài);但實際上,此時所有SN75HVl53082接口的DE/RE=0,所以,所有的發(fā)送端和接收端都處于接收狀態(tài)。這在對等的網(wǎng)絡(luò)結(jié)構(gòu)中是不能忽視的,因為在這段時間內(nèi),總線是空閑的,是允許節(jié)點發(fā)送數(shù)據(jù)的。
這里采用的是主從式的網(wǎng)絡(luò)結(jié)構(gòu),因此這個問題不會影響系統(tǒng)工作。
3 網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)
網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的設(shè)計是根據(jù)壽命檢測系統(tǒng)的實際需要提出的,設(shè)計目標(biāo)是:滿足lO個壽命架,每個壽命架64個節(jié)點的檢測要求,在硬件和軟件上做到容易擴展,走線合理。因此邏輯上采用主從式網(wǎng)絡(luò)結(jié)構(gòu),物理結(jié)構(gòu)上采用星型拓?fù)浣Y(jié)構(gòu),如圖5所示。這個拓?fù)浣Y(jié)構(gòu)有兩級總線,主要由以下設(shè)備組成:
①RS-232轉(zhuǎn)RS-485。實現(xiàn)RS-232到RS-485電氣信號的轉(zhuǎn)換,這是第一級RS-485總線。
②10口的485HIJB(集線器)。如圖6所示,485HUB是由1個主機和10個從機的零延時的RS-485接口組成,這是在邏輯上實現(xiàn)主從式結(jié)構(gòu)的基礎(chǔ)。當(dāng)主機端下行發(fā)送數(shù)據(jù)時,連接在10個從機接口上的所有接口都可以接收到數(shù)據(jù);而當(dāng)某個從機接口上掛接的節(jié)點上行發(fā)送數(shù)據(jù)時,只有主機節(jié)點(PS 端)和掛接在同一個從機接口上的其他節(jié)點可以接收到數(shù)據(jù)。這是第二級RS-485總線。
評論