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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 單片機RS-485多機通訊的實現(xiàn)

          單片機RS-485多機通訊的實現(xiàn)

          作者: 時間:2012-07-19 來源:網(wǎng)絡(luò) 收藏

            另外,在主從機軟件上也應(yīng)附加若干處理措施,如:上電時或正式通訊之前,對串行口做幾次空操作,清除端口的非法數(shù)據(jù)和命令。
            2) 控制端RE*,DE的信號的有效脈寬應(yīng)該大于發(fā)送或接收一幀信號的寬度。
            在RS-232,RS-422等全雙工通訊過程中,發(fā)送和接收信號分別在不同的物理鏈路上傳輸,發(fā)送端始終為發(fā)送端,接收端始終為接收端,不存在發(fā)送、接收控制信號切換問題。在RS-485半雙工通訊中,由于SN75176的發(fā)送和接收都由同一器件完成,并且發(fā)送和接收使用同一物理鏈路,必須對控制信號進(jìn)行切換??刂菩盘柡螘r為高電平,何時為低電平,一般以單片機的TI,RI信號作參考。
            發(fā)送時,檢測TI是否建立起來,當(dāng)TI為高電平后關(guān)閉發(fā)送功能轉(zhuǎn)為接收功能;
            接收時,檢測RI是否建立起來,當(dāng)RI為高電平后,接收完畢,又可以轉(zhuǎn)為發(fā)送。
            在理論上雖然行得通,但在實際聯(lián)調(diào)中卻出現(xiàn)傳輸數(shù)據(jù)時對時錯的現(xiàn)象。根據(jù)查證有關(guān)資料,并在聯(lián)調(diào)中借助存儲示波器反復(fù)測試,才發(fā)現(xiàn)一個值得注意的問題,我們可以查看單片機的時序:


          圖3 串行口模式3時序圖

            單片機在串行口發(fā)送數(shù)據(jù)時,只要將8位數(shù)據(jù)位傳送完畢,TI標(biāo)志即建立,但此時應(yīng)發(fā)送的第九位數(shù)據(jù)位(若發(fā)送地址幀時)和停止位尚未發(fā)出。如果在這是關(guān)閉發(fā)送控制,勢必造成發(fā)送幀數(shù)據(jù)不完整。如果單片機多機通訊采用較高的波特率,幾條操作指令的延時就可能超過2位(或1位)數(shù)據(jù)的發(fā)送時間,問題或許不會出現(xiàn)。但是如果采用較低波特率,如9600,發(fā)送一位數(shù)據(jù)需100μs左右,單靠幾條操作指令的延時遠(yuǎn)遠(yuǎn)不夠,問題就明顯地暴露出來。接收數(shù)據(jù)時也同樣如此,單片機在接收完8個數(shù)據(jù)位后就建立起RI信號,但此時還未接收到第九位數(shù)據(jù)位(若接收地址幀時)和停止位。所以,接收端必須延時大于2位數(shù)據(jù)位的時間(1位數(shù)據(jù)位時間=1/波特率),再作應(yīng)答,否則會發(fā)生。
            3) 總線上所連接的各單機的發(fā)送控制信號在時序上完全隔開。
            為了保證發(fā)送和接收信號的完整和正確,避免總線上信號的碰撞,對總線的使用權(quán)必須進(jìn)行分配才能避免競爭,連接到總線上的單機,其發(fā)送控制信號在時間上要完全隔離。
            總之,發(fā)送和接收控制信號應(yīng)該足夠?qū)?,以保證完整地接收一幀數(shù)據(jù),任意兩個單機的發(fā)送控制信號在時間上完全分開,避免總線爭端。
            程序流程框圖,參見圖4。其中:a)為發(fā)送流程圖;b)為接收流程圖。

          點擊在新窗口中瀏覽產(chǎn)品
          圖4 程序流程圖

          注:延時T秒的取值
          (1) 傳送地址幀時,T>2X(1/波特率),可以選取T=2.5X(1/波特率)。
          (2) 傳送數(shù)據(jù)幀時,T>1X(1/波特率),可以選取T=1.5X(1/波特率)。


          上一頁 1 2 下一頁

          評論


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