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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 多單片機共用RS 232通信的防競爭電路與程序設(shè)計

          多單片機共用RS 232通信的防競爭電路與程序設(shè)計

          作者: 時間:2011-05-17 來源:網(wǎng)絡(luò) 收藏

          摘要:當多個系統(tǒng)的安裝位置較近時,上位機與下位機之間的1對多的多機,可以直接采用 232進行串口。雖然 232被定義為點對點的接口,但是可以設(shè)計專門的控制和通信時序來有效地防止,可靠實現(xiàn)多機通信。
          關(guān)鍵詞:;多機通信; 232;控制;通信程序

          開發(fā)應(yīng)用中,我們常常采用主從式控制結(jié)構(gòu),一臺PC機作為上位機控制多個單片機系統(tǒng)進行工作,功能強大、資源豐富的PC機可以用來方便地進行人機界面的設(shè)計和數(shù)據(jù)庫管理與輸出,而單片機進行靈活的控制和測量。在某些應(yīng)用場合,這些單片機系統(tǒng)緊靠在一起安裝,因為單片機相互間的距離較近,通信接線很短,這時,PC機與單片機1對多的多機通信,就可以不采用需要特別轉(zhuǎn)接設(shè)備的RS 485通信,或者復(fù)雜的CAN通信,而設(shè)計防止控制和采用應(yīng)答式通信程序,讓多單片機直接一個RS 232接口與PC機實現(xiàn)可靠的異步串行通信。

          1 多單片機通信結(jié)構(gòu)
          多單片機RS 232接口與PC機通信的結(jié)構(gòu)如圖1所示,由串行通信接口、防電路以及下位機三部分組成。

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

          a.JPG


          多個單片機系統(tǒng)共享RS 232總線的關(guān)鍵是如何避免競爭。對于接收端,經(jīng)RS 232電平轉(zhuǎn)換芯片進行電平轉(zhuǎn)換后,可以直接并接到全部單片機串口的Rxd端,PC機向單片機發(fā)送信息相當于向所有單片機進行廣播,不存在競爭。但是不能直接將單片機的發(fā)送端并聯(lián)到串口轉(zhuǎn)換芯片MAX232的TnIN端,否則系統(tǒng)將極不可靠,無論何種原因,倘若有2個及以上的單片機系統(tǒng)同時向PC機發(fā)送信息,則將發(fā)生總線競爭,RS 232總線信號將發(fā)生混亂。因此圖中的防競爭控制電路,是專為防止總線競爭而設(shè)計,以保證在任何時刻只有一個單片機系統(tǒng)占用RS 232的發(fā)送端口。

          2 防止競爭的控制電路
          防止競爭控制電路如圖2所示,TxdA,TxdB,TxdC分別是單片機A、單片機B、單片機C的Txd端,接到帶3態(tài)驅(qū)動器74HC125的3個輸入端上,74HC125的3個輸出端并接到RS 232電平轉(zhuǎn)換芯片MAX232的T2IN端。A,B,C分別是3個單片機的串口輸出控制端(低電平有效,假設(shè)均接P10端口),由74HC00四二與非門和74HC32四二或門電路構(gòu)成。

          d.JPG

          DIY機械鍵盤相關(guān)社區(qū):機械鍵盤DIY



          上一頁 1 2 3 下一頁

          評論


          相關(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); })();