<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 如何設計零延時隔離技術的RS485息線節(jié)點?

          如何設計零延時隔離技術的RS485息線節(jié)點?

          作者: 時間:2018-08-07 來源:網絡 收藏

          引 言

          本文引用地址:http://www.ex-cimer.com/article/201808/385628.htm

          在工業(yè)控制設備之間中長距離通信的諸多方案中,總線因其硬件設計簡單、控制方便、成本低等優(yōu)點,廣泛應用于工廠自動化、工業(yè)控制、小區(qū)監(jiān)控、水利自動測控等領域。總線采用平衡式發(fā)送、差分式接收的數(shù)據(jù)收發(fā)器來驅動,各節(jié)點之間的通信是以一對雙絞線作為傳輸介質。與RS232接口相比,總線的傳輸距離更長、抗干擾能力也更強。RS485總線具有以下一些特點:

          ①接口采用平衡驅動器和差分接收器,抗共模干擾能力強,即抗噪聲干擾性好。

          ②收發(fā)器輸出A、B之間的電平為+2~+6 V,是邏輯“1”;為-6~-2 V,是邏輯“0”。信號電平比RS232降低了,不易損壞接口芯片。另有“使能”控制信號,可使收發(fā)器處于高阻狀態(tài),切斷與傳輸線的連接。

          ③接收器的輸入靈敏度為200 mV。即在當收端VA-VB>+200 mV時,輸出為邏輯“0”;VA-VB-200 mV時,輸出為邏輯“1”。

          ④最高傳輸速率為10 Mbps,最大傳輸距離標準值為1 200 m。

          ⑤在節(jié)點數(shù)為32個、配置120 Ω終端電阻的情況下,驅動器至少還能輸出1.5 V電壓(終端電阻的大小與所用雙絞線的參數(shù)有關)。

          ⑥具有多站點傳輸能力,即總線上允許掛接多個收發(fā)器,可建立設備網絡。

          在傳統(tǒng)的RS485總線節(jié)點設計的基礎上,本文基于ADI公司推出的帶隔離的增強型RS485收發(fā)器AD-uM2483,采用磁耦隔離和硬件技術所設計的RS485總線節(jié)點,具有良好的抗干擾性和較高的通信速率,可應用在一些環(huán)境比較復雜的工業(yè)場合。

          1 設計思想

          RS485總線節(jié)點由單片機STC12C5410AD、帶隔離的RS485收發(fā)器ADuM2483、高速三極管等組成。其中,ADuM2483的應用圖如圖1所示。STC12C5410AD是宏晶科技生產的單時鐘/機器周期(1T)單片機,是高速/低功耗/超強抗干擾的新一代8051單片機,指令代碼完全兼容傳統(tǒng)8051,但速度快8~12倍。其內部集成MAX810專用復位電路、4路PWM、通用全雙工異步串行口(UART),可用定時器軟件實現(xiàn)多串口;8路高速10位A/D轉換,寬電壓,不怕電源抖動,高抗靜電(ESD保護),特別適用于強干擾場合。

          在情況比較復雜的現(xiàn)場中,各節(jié)點之間存在很高的共模電壓。雖然RS485總線采用平衡式發(fā)送、差分式接收的數(shù)據(jù)收發(fā)器來驅動,具有一定的抗共模干擾能力,但當共模電壓超過其極限接收電壓時,RS485收發(fā)器就無法工作了,嚴重時甚至會燒毀芯片和儀器設備。因此,為了適應強干擾環(huán)境甚至更苛刻的性能要求,必須對RS485總線各節(jié)點實行電氣隔離。

          傳統(tǒng)的RS485隔離總線節(jié)點是由光電耦合器和RS485總線收發(fā)器(如MAX485)構成,使用光束來隔離和保護檢測電路,在高壓和低壓電氣環(huán)境之間提供一個安全接口。目前,一般使用6N137光電隔離器件,用MAX485作為RS485總線收發(fā)器。Toshiba公司的6N137工作電壓為5V,數(shù)據(jù)最高傳輸速率為10 Mbps,工作溫度一般為0~70℃;隔離電壓為2 500 V(有效值),以DIP8封裝,每個芯片僅提供一個隔離通道,體積大,穩(wěn)定性差,功耗高,LED易老化。這些性能已經限制了6N137在更高要求的環(huán)境中應用。本文選用ADI公司的ADuM2483。它是一款帶隔離的RS485收發(fā)器和一個3通道的數(shù)字隔離器,是目前性價比很高的RS485收發(fā)器,功能上相當于1個MAX485和3個6N137光耦隔離器,可滿足RS485總線節(jié)點的要求。

          2 ADuM2483簡介

          ADuM2483采用的iCoupler技術是基于芯片尺寸的變壓器,而不是基于光電耦合器所采用的LED與光電二極管的組合。這種技術由于取消了光電耦合器中的光電轉換過程,并且采用iCoupler變壓器專利技術集成變壓器驅動和接收電路,從而實現(xiàn)了光電隔離器無法比擬的性能優(yōu)勢。由于使用晶片級制造工藝直接在芯片上制造iCoupler變壓器,所以iCoupler通道比光電耦合器更為有效地實現(xiàn)通道之間的集成,也更容易地實現(xiàn)其他半導體功能。

          iCoupler數(shù)字隔離器無需驅動LED的外部電路,功耗僅為光電耦合器的1/10~1/50。這種新的基于電磁的隔離方法,在抗高溫影響方面遠優(yōu)于光電耦合器。iCoupler數(shù)字隔離器在125℃高溫環(huán)境下性能和可靠性并不下降,因此可以采用低成本、小體積的SOIC封裝。另外,iCoupler數(shù)字隔離器的隔離通道具有比光電耦合器更高的數(shù)據(jù)傳輸速率、時序精度和瞬態(tài)共模抑制能力,因此非常適合于各種工業(yè)上的應用(包括數(shù)據(jù)通道、數(shù)據(jù)轉換接口,以及其他多通道隔離應用)。

          ADuM2483包括1個3通道隔離器、1個帶三態(tài)輸出的差分驅動器和1個帶三態(tài)輸入的差分接收器。其1/8單位負載的接收器輸入阻抗允許多達256個收發(fā)器接入總線,最高傳輸速率可達500 kbps;邏輯端兼容3 V/5 V工作電源,總線端5 V供電。

          ADuM2483采用限擺率驅動器,較低擺率降低了不恰當?shù)慕K端匹配和接頭產生的誤碼。其接收輸入具有真正的失效保護功能,當接收器輸入為開路、短路、或空閑時,真正的失效保護可使接收器的輸出邏輯變高。在上電過程中或接入一個已上電的底板時,其熱插拔回路可消除由于對使能和差分接收器輸入端的擾動而導致的錯誤數(shù)據(jù)。ADuM2483的驅動器具有短路電流限制,并可以通過熱關斷保護電路將驅動器輸出置為高阻狀態(tài),防止過度的功率損耗。芯片封裝采用易于使用的SOW16封裝,工業(yè)級溫度范圍內無需任何分立元件就可實現(xiàn)RS485功能。其主要特點如下:

          ◆傳輸速率高,最高可達500 kbps;

          ◆帶載能力強,總線上最多可以掛接256個節(jié)點;

          ◆具有±2 kV的ESD保護功能和熱關斷保護功能;

          ◆工業(yè)級溫度范圍為-40~+85℃;

          ◆瞬態(tài)高共模抑制能力,真正防故障裝置的接收輸入端;

          ◆低功耗,最大2.5 mA的工作電流;

          ◆體積更小,集成度高,大大減小了印制電路板的面積。

          3 RS485總線節(jié)點設計

          ADuM2483所隔離的兩端有各自的電源和參考地。其中,邏輯端電壓為2.7~5.5 V,可以實現(xiàn)低電壓供電,從而進一步降低系統(tǒng)功耗;總線端5 V供電,本文設計的接口電路的邏輯端電壓采用5 V供電。電源和參考地之間需接入0.1μF龜容,以濾除高頻干擾。需要注意的是:圖中,GND1與GND2是2個不同的參考地,否則將達不到隔離的效果。


          上一頁 1 2 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();