基于C8051F550的CAN總線智能節(jié)點(diǎn)的設(shè)計(jì)
CAN總線的驅(qū)動(dòng)器采用隔離CAN總線收發(fā)器CTM1050,通信速率1Mbps,至少可連接110個(gè)節(jié)點(diǎn)。內(nèi)部集成的電氣輸入級(jí)隔離電路,可隔離高達(dá)2 500V的直流電壓。輸入級(jí)兼容3.3V和5V的CAN控制器,輸出級(jí)驅(qū)動(dòng)具有溫度保護(hù),內(nèi)部TVS管可防止總線過壓功能。與傳統(tǒng)的PCA82C250總線收發(fā)器相比,主要優(yōu)點(diǎn)是無需外加光耦可直接使用,外圍電路簡單,安全,可滿足工業(yè)現(xiàn)場(chǎng)惡劣條件的使用。圖2所示為C805117550與CTM1050的接口電路。本文引用地址:http://2s4d.com/article/155931.htm
3 智能節(jié)點(diǎn)軟件設(shè)計(jì)
圖1中三個(gè)節(jié)點(diǎn)與上位機(jī)的通信方式采用的是節(jié)點(diǎn)1、3與上位機(jī)實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)通信工作方式。節(jié)點(diǎn)1、3的微處理器C8051F550上電復(fù)位后,自動(dòng)采集模擬電壓信號(hào),通過C8051F550內(nèi)部集成的12位A/D轉(zhuǎn)換,將數(shù)字量發(fā)送到上位機(jī)。上位機(jī)實(shí)時(shí)進(jìn)行數(shù)據(jù)監(jiān)控,如果收到的數(shù)據(jù)出現(xiàn)錯(cuò)誤,可以通過CANtool軟件,發(fā)送自定義的錯(cuò)誤數(shù)據(jù)標(biāo)識(shí)給兩個(gè)節(jié)點(diǎn),兩節(jié)點(diǎn)收到該數(shù)據(jù)后,停止A/D采樣工作。節(jié)點(diǎn)1、3與節(jié)點(diǎn)2是主從工作方式。當(dāng)節(jié)點(diǎn)2的開關(guān)量有按鍵按下時(shí),1、3節(jié)點(diǎn)將實(shí)時(shí)采集到的數(shù)據(jù)在發(fā)送給節(jié)點(diǎn)2,并在節(jié)點(diǎn)2的LCD上顯示。
3.1 初始化CAN控制器
C8051F550上電復(fù)位后,控制寄存器CANOCN的INIT位和CCE位置‘1’。允許寄存器初始化并寫入設(shè)置信息。需要寫入的寄存器主要包括位定時(shí)寄存器和擴(kuò)展寄存器,命令掩碼寄存器。主要完成時(shí)序參數(shù)的配置和消息對(duì)象的初始化。本設(shè)計(jì)中,使用晶振頻率為11.05MHz,位定時(shí)設(shè)置為996.65~1000ns。初始化程序如下:
評(píng)論