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

          新聞中心

          EEPW首頁 > 手機與無線通信 > 設(shè)計應(yīng)用 > 基于CAN總線通信協(xié)議的設(shè)計與實現(xiàn)

          基于CAN總線通信協(xié)議的設(shè)計與實現(xiàn)

          作者: 時間:2009-06-18 來源:網(wǎng)絡(luò) 收藏

          3.2 數(shù)據(jù)接收機制
          接收機制負責將數(shù)據(jù)從上接收下來,按照數(shù)據(jù)源節(jié)點的地址將其還原為發(fā)送前的格式,準確無誤的傳遞給上層,并負責為上層提供接口函數(shù)。在CPU將數(shù)據(jù)取走以后,清空相應(yīng)的數(shù)組。
          在底層開辟了一個臨時緩沖區(qū)用于暫時存放從上接收下的數(shù)據(jù),臨時緩沖區(qū)采用二維數(shù)組的格式,容量為4*3*64。第一維的容量為4,分別指示發(fā)送節(jié)點的地址;第二維容量為3,作為數(shù)據(jù)的擴展緩存,指示可連續(xù)存放來自于同一節(jié)點的包的數(shù)目;第三維的容量為64,用來存放經(jīng)過整理以后的數(shù)據(jù)。一般來說,開辟一個二維的空間就可以使周轉(zhuǎn),但是,在實際系統(tǒng)中可能會出現(xiàn)CPU還未能將整理完畢的數(shù)據(jù)取走此時又接到來自于同一節(jié)點的新的數(shù)據(jù),這樣就可能導致新的數(shù)據(jù)覆蓋掉原來的數(shù)據(jù),造成數(shù)據(jù)的丟失。為避免這種潛在地危險,因此開辟了三維空間,在最壞的情況下,每個節(jié)點都可同時容納來自于同一節(jié)點連續(xù)發(fā)送的3包數(shù)據(jù),大大降低了數(shù)據(jù)丟失的可能性。接收數(shù)據(jù)流程如圖二所示。

          圖 二: 數(shù)據(jù)發(fā)送流程
          5 總結(jié)
          本文創(chuàng)新點:CAN以其卓越的特性、極高的可靠性和獨特的,在工業(yè)過程監(jiān)控設(shè)備的互聯(lián)方面得到廣泛的應(yīng)用,受到工業(yè)界的廣泛重視,并被公認為是最有前途的現(xiàn)場總線之一。作為通用、有效、可靠及經(jīng)濟的平臺,CA N也已經(jīng)廣泛地受到了歡迎。由于CAN2.0規(guī)范固有的局限性,客觀上要求用戶建立高層對CAN進行完善。本文所的CAN總線應(yīng)用層協(xié)議已經(jīng)投入使用,具有簡單、靈活、移植方便等特點。


          上一頁 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); })();