用87C196NT單片機(jī)實(shí)現(xiàn)CAN總線通信
3.2 CAN控制器PCA82C200介紹
PCA82C200芯片是Philips公司生產(chǎn)的CAN控制器,是一種I/O設(shè)備基于內(nèi)存編址的微控制器。雙設(shè)備的獨(dú)立操作是通過(guò)像RAM一樣的片內(nèi)寄存器修正來(lái)實(shí)現(xiàn)的。它只支持標(biāo)準(zhǔn)的信息幀格式。
PCA82C200的地址區(qū)包括控制段和信息緩沖區(qū)控制段。在初始化載入時(shí)可被編程來(lái)配置通信參數(shù)(例如,位時(shí)序)。微控制器也是通過(guò)這個(gè)段來(lái)控制CAN總線上通信的。
PCA82C200有2種工作模式:復(fù)位模式和工作模式。在復(fù)位模式下可以對(duì)接收代碼、接收屏蔽、總線時(shí)序寄存器0和1以及輸出控制寄存器進(jìn)行設(shè)置。一般在CAN初始化時(shí)完成對(duì)以上寄存器的設(shè)置,當(dāng)CAN進(jìn)入工作模式后,它們的值就不再變化。在工作模式下可以進(jìn)行數(shù)據(jù)的發(fā)送和接收。特別要注意的是當(dāng)硬件復(fù)位或控制器掉線時(shí)會(huì)自動(dòng)進(jìn)入復(fù)位模式,這樣就不能進(jìn)行正常的CAN通信,這就要求對(duì)復(fù)位進(jìn)行監(jiān)控。當(dāng)發(fā)生硬件復(fù)位或控制器掉線而進(jìn)入復(fù)位模式時(shí),就要求把復(fù)位位置為0進(jìn)入工作模式,這樣CAN就能正常地發(fā)送接收了。
3.3 網(wǎng)絡(luò)通信規(guī)則
CAN總線為多主工作方式,網(wǎng)絡(luò)上任一節(jié)點(diǎn)均可在任意時(shí)刻主動(dòng)向網(wǎng)絡(luò)上其它節(jié)點(diǎn)發(fā)送信息,而不分主從。通信方式靈活,且無(wú)需占地址等節(jié)點(diǎn)信息。為禁止總線沖突,CAN總線采用非破壞性總線仲裁技術(shù),根據(jù)需要將各個(gè)節(jié)點(diǎn)設(shè)定為不同的優(yōu)先級(jí),并以標(biāo)志符ID標(biāo)定,其值越小,優(yōu)先級(jí)越高。
在本系統(tǒng)的實(shí)際應(yīng)用中,主站負(fù)責(zé)整個(gè)網(wǎng)絡(luò)。它向從站發(fā)送各種控制命令,從站按照來(lái)自主站的命令進(jìn)行操作。主站可以選擇任意一個(gè)從站交換數(shù)據(jù)信息,任一從站一旦被選中,即可以接收來(lái)自主站的信息,也可以依據(jù)從站的命令和凡站回送信息。當(dāng)某一從站發(fā)生故障時(shí),可以主動(dòng)向從站發(fā)送有關(guān)信息。任一從站與主站交換信息時(shí),必須帶上從站地址信息。
3.4 下位機(jī)軟件編程
單片機(jī)87C196NT與上位機(jī)之間的CAN通信接口程序見(jiàn)本刊網(wǎng)絡(luò)補(bǔ)充版。(http://www.dpj.com.cn)。單片機(jī)向上位機(jī)一直以500 Kbps的波特率發(fā)送數(shù)據(jù),當(dāng)單片機(jī)接收到上位機(jī)下傳的數(shù)據(jù)后,又把接收到的數(shù)據(jù)轉(zhuǎn)發(fā)給上位機(jī)。用我國(guó)臺(tái)灣研華公司的CAN卡,調(diào)試時(shí)用它自帶的Monitor程序。
結(jié)束語(yǔ)
將CAN現(xiàn)場(chǎng)總線應(yīng)用于電力系統(tǒng)線路分段保護(hù)監(jiān)控單元中,有利于實(shí)現(xiàn)電力系統(tǒng)中檢測(cè)的實(shí)時(shí)性和可靠性。在現(xiàn)有設(shè)備的基礎(chǔ)上,進(jìn)一步提高了電網(wǎng)的自動(dòng)化監(jiān)測(cè)和管理水平,對(duì)提高供電的可靠性、增加電網(wǎng)的經(jīng)濟(jì)效益有著重大的意義。
評(píng)論