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