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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > RS-485收發(fā)的零延時(shí)轉(zhuǎn)換電路

          RS-485收發(fā)的零延時(shí)轉(zhuǎn)換電路

          作者: 時(shí)間:2018-07-25 來源:網(wǎng)絡(luò) 收藏

          RS-485是一種基于差分信號(hào)傳送的串行通信鏈路層協(xié)議。它解決了RS-232協(xié)議傳輸距離太近(15m)的缺陷,是工業(yè)上廣泛采用的較長(zhǎng)距離數(shù)據(jù)通信鏈路層協(xié)議。

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

          由于它使用一對(duì)雙絞線傳送差分信號(hào),屬半雙工通信,所以需要進(jìn)行接收和發(fā)送狀態(tài)的轉(zhuǎn)換。一般的8腳TTL電平到RS-485電平轉(zhuǎn)換芯片的引腳定義如圖1所示。

          其中,引腳意義如下:

          RO——接收數(shù)據(jù)的 TTL電平輸出;

          ——低電平有效的接收允許;

          DE——高電平有效的發(fā)送允許;

          DI——發(fā)送數(shù)據(jù)的TTL電平輸入;

          A——485差分信號(hào)的正向端;

          B——485差分信號(hào)的反向端。

          在RS-485電路設(shè)計(jì)中,通常將和DE短接,用1根信號(hào)線來控制,這樣可以做到收發(fā)的切換。

          RS-485芯片通常處于接收狀態(tài)。當(dāng)要發(fā)送數(shù)據(jù)時(shí),由程序控制/DE 變?yōu)楦唠娖?,然后UART單元發(fā)送數(shù)據(jù),程序要等待發(fā)送完畢后,再將RS-485芯片轉(zhuǎn)換到接收狀態(tài)。發(fā)送完畢的標(biāo)志一般由UART的特定寄存器提供狀態(tài)指示,程序需要去查詢。

          在單片機(jī)電路中,一般用1根I/O線來控制RS-485芯片的接收和發(fā)送狀態(tài)的轉(zhuǎn)換。這樣需要由軟件來控制 I/O引腳的電平,以達(dá)到控制轉(zhuǎn)換的目的。

          這樣的控制方法造成RS-485通信存在以下問題:

          在想要發(fā)送數(shù)據(jù)和真正的能發(fā)送數(shù)據(jù)之間,存在一定的轉(zhuǎn)換延時(shí);

          如果發(fā)送到接收的轉(zhuǎn)換時(shí)機(jī)不當(dāng),則會(huì)造成數(shù)據(jù)丟失;

          在接收和發(fā)送數(shù)據(jù)轉(zhuǎn)換期間,容易引入干擾,使UART單元收到多余的雜亂數(shù)據(jù)。

          鑒于以上情況,筆者經(jīng)過探索和參照其它相關(guān)電路,設(shè)計(jì)了一種可以實(shí)現(xiàn)RS-485接收和發(fā)送轉(zhuǎn)換的電路,如圖2所示。

          當(dāng)不發(fā)送數(shù)據(jù)時(shí),TTL電平的Tx信號(hào)為高電平,經(jīng)V1反向?yàn)榈碗娖?,RS-485芯片處于接收狀態(tài)。

          當(dāng)發(fā)送數(shù)據(jù)時(shí),① 若Tx為低電平,經(jīng)V1反向后,DE/為高電平,發(fā)送允許。此時(shí)由于DI 接地,所以RS-485芯片的輸出端A、B產(chǎn)生表示低電平的差分信號(hào),低電平的Tx被送出。② 若Tx為高電平,經(jīng)V1反向后,DE/為低電平,RS-485芯片的A、B端處于高阻態(tài)。此時(shí)靠電阻R1和R2的下拉和上拉作用,使總線上產(chǎn)生正的差分信號(hào),從而將Tx的高電平信號(hào)送出。

          由以上分析看出,在使用這個(gè)電路時(shí),只要程序能保證不同時(shí)進(jìn)行接收和發(fā)送的操作,即保證是半雙工傳送數(shù)據(jù),程序不必用指令控制DE/進(jìn)行接收和發(fā)送的轉(zhuǎn)換。轉(zhuǎn)換由硬件本身完成。

          發(fā)送高電平的過程中,由于RS-485芯片處于接收狀態(tài),此時(shí)的發(fā)送信號(hào)必須是在總線上其它節(jié)點(diǎn)發(fā)送數(shù)據(jù)時(shí),才能將高電平信號(hào)送出。所以,仍需要軟件設(shè)計(jì)中做好總線仲裁。

          經(jīng)過在沒有嚴(yán)重干擾的實(shí)驗(yàn)室中的實(shí)驗(yàn),在使用0.5mm2屏蔽平行線時(shí),此電路的傳送距離可達(dá)1200m。



          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁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); })();