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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于AT90CAN128的CAN總線設(shè)計

          基于AT90CAN128的CAN總線設(shè)計

          作者: 時間:2013-03-01 來源:網(wǎng)絡(luò) 收藏

          初始化:

          GCON | = 0X01;

          for( i= 0; i 15; i+ + )

          {

          PAGE = i 4; / /將15個MOB 都初始化一次

          CANCDMOB = 0;

          CANSTMOB= 0;

          CAN IDT1= 0;

          CAN IDT2= 0;

          ……

          for( j= 0; j 8; j+ + )

          CANMSG= 0;

          CANBT1= 0X1E; / /設(shè)置CAN 傳輸波特率, 16分頻

          CANBT2= 0X40;

          CANBT3= 0X49;

          CANPAGE = ( 0 4) ; / /選擇MOB0作為接收MOB, 并設(shè)定標識碼

          CAN IDT1= 0X00;

          CAN IDM1= 0X00;

          ……

          CANPAGE = ( 1 4); / /選擇MOB1作為發(fā)送MOB, 并設(shè)定標識碼

          CAN IDT1= 0X00;

          ……

          }

          發(fā)送模塊代碼:

          CANPAGE = ( 1 4); / /選定MOB1

          If( ( CANGSTA 0X10) = = 0) / /查詢CAN 狀態(tài)寄存器的TXBSY 位, 為0, 則可以發(fā)送

          for( i= 0; i 8; i+ + )

          {

          CANMSG= my _dada[ i] ; / /將要發(fā)送的數(shù)據(jù)裝入數(shù)據(jù)寄存器中, 共8 by te

          CANCDMOB | = 0X48; / /發(fā)送

          }

          接收模塊代碼是類似的, 思路都是在判斷發(fā)送允許標志之后, 如果允許, 就將數(shù)據(jù)裝入到指定的MOB中, 而每個MOB 一個發(fā)送周期一共可以發(fā)送8byte的數(shù)據(jù)。而CAN 的另一端是NXP公司LPC2294的CAN外圍, 其結(jié)構(gòu)和原理都差不多, 當然, 在寄存器設(shè)置中會有一點差別, 但只要兩個CPU 約定好數(shù)據(jù)幀的標識符編號是什么, 傳輸速率相同, 就可以進行數(shù)據(jù)交換了。由于篇幅有限,LPC2294的CAN接口設(shè)置在此就不作介紹了。

          最后給出了CAN 應(yīng)用CPU 外部的硬件原理參考圖, 如圖4所示。

          5 CAN 總線收發(fā)器TJA1050硬件連接圖

          圖中CAN 收發(fā)器為NXP公司的TJA1050, TXD和RXD分別連接到CPU 的CAN接口, CANL和CANH 則為與另一個CPU 連接的總線, CANL 和CANH 之間電阻值約為120歐姆, 開關(guān)S可以作為CAN 總線的硬件啟用開關(guān)。另外, 如果在抗干擾要求高的場合, 可以對TXD 和RXD使用光電隔離。

          圖4 CPU 外圍收發(fā)器的硬件原理圖。

          6 結(jié)束語

          at90can128的CAN 總線模塊的電梯系統(tǒng)調(diào)試器, 經(jīng)過長時間的檢驗, 使用良好, 通信正常無誤。在眾多的現(xiàn)場總線當中, CAN 總線憑借其優(yōu)秀的特性已經(jīng)為越來越多的工程人員認同和偏愛, 而隨著越來越多的高端CPU 對CAN 控制器的集成和綜合成本的下降, CAN 總線的使用必定會越來越普遍, 其中集成CAN 控制器的8位AVR 也會受到越來越多人的青睞。


          上一頁 1 2 3 下一頁

          關(guān)鍵詞: 設(shè)計 總線 CAN AT90CAN128 基于

          評論


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