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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于AT89C51型單片機的CAN總線智能節(jié)點設(shè)計

          基于AT89C51型單片機的CAN總線智能節(jié)點設(shè)計

          作者:李金剛 劉永鴻 時間:2008-07-11 來源:國外電子元器件 收藏

            4 軟件設(shè)計

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

            4.1 網(wǎng)絡(luò)規(guī)則

            為多主工作方式,網(wǎng)絡(luò)上任一節(jié)點均可在任意時刻主動向網(wǎng)絡(luò)上其他節(jié)點發(fā)送信息而不分主從,方式靈活。為禁止總線沖突,采用非破壞性總線仲裁技術(shù),根據(jù)需要將各個節(jié)點設(shè)定為不同的優(yōu)先級,并以標(biāo)識符ID標(biāo)定,其值越小,優(yōu)先級越高??偩€的節(jié)點之間可以進行實時相互,當(dāng)1個節(jié)點需要接收另1個節(jié)點的數(shù)據(jù)時,只需把其代碼寄存器的內(nèi)容設(shè)置成和另1節(jié)點的標(biāo)識符一致即可。如果對于標(biāo)識符和其代碼寄存器的內(nèi)容設(shè)置不一致,則節(jié)點所發(fā)的數(shù)據(jù)不予理會。

            4.2 SJAl000的工作模式設(shè)置

            SJAl000有二種工作模式:復(fù)位模式和工作模式。在復(fù)位模式下可對接收代碼、接收屏蔽、總線時序寄存器O和1及輸出控制寄存器進行設(shè)置。一般在CAN初始化時完成對以上寄存器的設(shè)置,當(dāng)CAN進入工作模式后,它們的值就不再變化。在工作模式下可進行數(shù)據(jù)的發(fā)送和接收。特別要注意的是:當(dāng)硬件復(fù)位或控制器掉線時會自動進入復(fù)位模式,這樣就不能進行正常的CAN通信,這就要求對復(fù)位位進行監(jiān)控。當(dāng)發(fā)生硬件復(fù)位或控制器掉線而進入復(fù)位模式時,要求把復(fù)位位置為0并進入工作模式,這樣CAN就能進行正常發(fā)送和接收。

            4.3 基于C語言的軟件編程

            系統(tǒng)軟件的設(shè)計思想是系統(tǒng)上電后首先對AT89C51和SJAl000進行初始化,以確定工作主頻、波特率、輸出特性等。其中任一可以利用查詢方式通過SJAl000從上獲取所需的數(shù)據(jù)并把該數(shù)據(jù)傳送到PC上顯示,同時可以向總線上發(fā)送數(shù)據(jù)以供其他接收顯示。以下是具體實現(xiàn)程序。

            以上就是進行試驗的程序,其中reg51.h是為AT89C52主控制器專門編寫的庫函數(shù),它在Keil軟件中是現(xiàn)成的,只要用#include語句包括進來即可;intrins.h是為以后調(diào)用空函數(shù)_nop_()作準(zhǔn)備,它里面包括了類似于匯編語言的NOP語句;CAN_TOUWENJIAN.h是頭文件,用于對相關(guān)寄存器的定義。Tx_DATA_CAN()函數(shù)用于向總線發(fā)送數(shù)據(jù),REC_DATA_CAN()函數(shù)用于從總線接收數(shù)據(jù),SERIAL()用于PC與間的相互通信。限于篇幅,發(fā)送子程序和接收子程序沒有具體給出。

            5 結(jié)束語

            在CAN總線的開發(fā)試驗過程中,筆者掌握了CAN總線智能節(jié)點的設(shè)計,并在實踐中進行了應(yīng)用。通過應(yīng)用證明,CAN總線具有以下優(yōu)點:組網(wǎng)自由,擴展性強;自動錯誤界定,簡化了通信的操作;可根據(jù)數(shù)據(jù)內(nèi)容確定優(yōu)先權(quán),解決通信的實時性問題。此外,CAN網(wǎng)絡(luò)已在眾多工業(yè)控制系統(tǒng)中應(yīng)用,尤其在傳輸速率較高而且對實時性及可靠性要求高的場合,CAN總線將有廣闊的應(yīng)用前景。本文來源于《某型控制系統(tǒng)信號信息傳輸改進研究》課題組,組長是劉永鴻教授,副組長是張文宏副教授,主要參與者有黃晨副教授、趙勇講師、李金剛研究生。


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