CAN總線技術(shù)在功率因素動(dòng)態(tài)補(bǔ)償系統(tǒng)中的應(yīng)用
上位機(jī)的CAN總線通信接口適配卡采用研華生產(chǎn)的pcl841板卡,pcl841能夠同時(shí)在兩套CAN網(wǎng)絡(luò)上運(yùn)行,提供4 KB的基地址空間,提供16 MHz的CAN控制頻率。同時(shí)提供的庫(kù)函數(shù)有七個(gè)子程序可供調(diào)用:
1 caninitHW() 初始化CAN接口
2 canExitHW() 釋放CAN節(jié)點(diǎn)
3 canReset() 復(fù)位CAN控制器
4 canConfig() 設(shè)置CAN命令字
5 canNormalR~n() 設(shè)置CAN工作模式
6 canSendMsg() 發(fā)送數(shù)據(jù)楨
7 canReceiveMsg() 接受數(shù)據(jù)楨
通過(guò)調(diào)用這七個(gè)子程序,可以完成CAN總線通訊軟件的大部分工作,極大地降低了開發(fā)人員的工作難度,減小了工作量,縮短了開發(fā)周期。
5. 控制系統(tǒng)通訊的軟件實(shí)現(xiàn)
因?yàn)镃AN控制器發(fā)送一個(gè)數(shù)據(jù)幀需要的時(shí)間是微秒級(jí),補(bǔ)償系統(tǒng)控制周期的時(shí)序是毫秒級(jí)(20毫秒),而上位機(jī)中斷頻率最高不過(guò)幾秒,因此,每個(gè)智能節(jié)點(diǎn)的微處理器在外部中斷服務(wù)程序中接受上位機(jī)發(fā)來(lái)的信息,在主程序內(nèi)不斷地向上位機(jī)傳輸數(shù)據(jù)信息,根據(jù)CAN協(xié)議ID標(biāo)識(shí)符越低其優(yōu)先權(quán)越高,所以通過(guò)定義不同的ID標(biāo)識(shí)符使上位機(jī)比智能節(jié)點(diǎn)優(yōu)先發(fā)送的數(shù)據(jù)。其主程序和外部中斷服務(wù)程序流程圖分別如圖3、圖4所示。
通過(guò)反復(fù)調(diào)試,已把通信部分的程序做成了模塊,在實(shí)際系統(tǒng)中的應(yīng)用良好。下面給出通信模塊程序的部分代碼(采用C96高級(jí)語(yǔ)言編寫),
評(píng)論