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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 8位單片機的多主機通訊方案

          8位單片機的多主機通訊方案

          作者: 時間:2016-12-02 來源:網(wǎng)絡(luò) 收藏
          多主機通訊方案使用了瑞薩的8位單片機M37546,該單片機具有兩個獨立的串口,可以配置為同步或異步串口使用。使用了N溝道漏極開路總線結(jié)構(gòu)與UART通訊協(xié)議,在同一根電纜上完成數(shù)據(jù)的發(fā)送和接收;同時加入了沖突檢測功能,可以保證在不丟失信息的情況下,完成仲裁,實現(xiàn)多主機通訊。
          在這個系統(tǒng)中的所有M37546的TxD1與RxD1都接到同一根總線上。所有數(shù)據(jù)都是在這一根線上傳遞的,一個主機發(fā)送的數(shù)據(jù)除了會被其他主機收到外,也會被自己的RxD1收到,這也是使用總線沖突檢測功能仲裁的必要條件之一。除此以外還需要將P11/TxD1管腳設(shè)置為N溝道開路輸出方式,構(gòu)成N溝開漏總線結(jié)構(gòu)。電路見圖1。

          本方案使用了CAP0外部中斷對總線進行監(jiān)控,以避免多個設(shè)備同時發(fā)送的問題。M37546的P10/RxD/CAP0管腳既是串口1的輸入RxD1,同時還是輸入捕捉功能的輸入CAP0。因為UART幀的起始位一定是低電平,所以發(fā)送開始時會觸發(fā)CAP0中斷。在中斷處理程序中檢查串口1發(fā)送結(jié)束標志位,如果發(fā)送結(jié)束標志位是“1”,說明本機的發(fā)送過程并沒有啟動,必然是其它主機啟動的發(fā)送,應(yīng)該立刻進入接收狀態(tài),直到對方發(fā)送結(jié)束;如果發(fā)送結(jié)束標志是“0”,說明本機啟動了發(fā)送,可以結(jié)束對總線狀態(tài)的監(jiān)控(禁止CAP0中斷)轉(zhuǎn)而繼續(xù)后面的發(fā)送過程。這個監(jiān)控過程也是對多個發(fā)送信號進行同步篩選的過程,因為只有多個主機同時或在很短時間間隔(小于CAP0中斷響應(yīng)時間)內(nèi)發(fā)送起始位時,才能成功啟動發(fā)送過程。只有保證了發(fā)送過程的同步,才能應(yīng)用后面的位仲裁方式。
          位仲裁是依靠M37546的總線沖突檢測功能完成的,其工作方式為:當串口開始接收后,在對每一位接收采樣的同時,比較TxD發(fā)送的與RxD收到的數(shù)據(jù),如果兩者不同就會產(chǎn)生UART1總線沖突檢測(U1BC)中斷。
          仲裁過程利用了帶上拉的N溝開漏總線的特點——“線與”。當某一個主機發(fā)送“1”的時候,如果其它主機正在發(fā)送“0”,“1”就不會出現(xiàn)在總線上。而發(fā)送“1”的主機從總線上收到的是“0”,這會觸發(fā)U1BC中斷。收到中斷后,這個主機應(yīng)該立刻停止發(fā)送,轉(zhuǎn)為接收狀態(tài),以保證其它主機發(fā)送的數(shù)據(jù)不被破壞。
          本方案除了物理層的內(nèi)容外,還在UART協(xié)議的基礎(chǔ)上加入了數(shù)據(jù)幀的概念??偩€上的所有設(shè)備都會收到整個數(shù)據(jù)幀。如果發(fā)現(xiàn)自己的ID與目的ID相同,那么對后面的數(shù)據(jù)進行接收并校驗,并發(fā)出應(yīng)答。其它設(shè)備收到數(shù)據(jù)幀后只提取幀的長度信息,丟棄后面的數(shù)據(jù)、校驗和應(yīng)答段。當后續(xù)字節(jié)達到數(shù)據(jù)長度+2后,認為此幀正常結(jié)束,總線回到空閑狀態(tài),可以啟動發(fā)送。數(shù)據(jù)幀的格式見圖2。

          另外,協(xié)議還規(guī)定了總線等待時間。如果在一個數(shù)據(jù)幀的過程中數(shù)據(jù)中斷時間超過等待時間,可以認為此次發(fā)送為非正常結(jié)束??偩€回到空閑狀態(tài)。
          發(fā)送方如果收到不正常應(yīng)答(校驗出錯)或者未收到應(yīng)答,可以選擇重新發(fā)送,但是重發(fā)的幀有可能會與其它主機發(fā)送的數(shù)據(jù)幀競爭。
          保留全零ID為廣播地址,以廣播地址為目的ID的幀會被所有主機接收。并且不需要應(yīng)答。
          以上格式都是針對一般的系統(tǒng)而設(shè)計的,用戶可以根據(jù)自己的需要來調(diào)整。比如,對于重要的數(shù)據(jù)可以用CRC校驗方式代替校驗和;設(shè)備較多時可以增加ID段長度等。


          評論


          技術(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); })();