您現(xiàn)在的位置:
中國(guó)傳動(dòng)網(wǎng)
>
技術(shù)頻道
>
應(yīng)用方案
>
CAN總線技術(shù)在功率因素動(dòng)態(tài)補(bǔ)償系統(tǒng)中的應(yīng)用
時(shí)間:2008-09-08 09:52:00來(lái)源:ronggang
圖2 CAN硬件接口電路原理圖[/align]
SJA1000的AD0至AD7是分時(shí)復(fù)用地址/數(shù)據(jù)線,與單片機(jī)的系統(tǒng)總線引腳P1.0 至P1.7相連作為單片機(jī)的外部擴(kuò)展存儲(chǔ)器。SJA1000的INT腳與HSI.0腳相連,當(dāng)中斷允許時(shí),一旦有中斷發(fā)生,SJA1000的16腳INT就會(huì)被激活,出現(xiàn)一個(gè)由高電平到低電平的跳變,而80C196KC的外部中斷HSI.0接受這一中斷信號(hào)后,CPU隨即響應(yīng)中斷,由執(zhí)行其他任務(wù)轉(zhuǎn)向?yàn)閳?zhí)行該中斷任務(wù)。
上位機(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所示。
[align=center]
圖3 智能節(jié)點(diǎn)主程序流程圖[/align]
[align=center]
圖4 CAN通訊外中斷程序流程[/align]
通過(guò)反復(fù)調(diào)試,已把通信部分的程序做成了模塊,在實(shí)際系統(tǒng)中的應(yīng)用良好。下面給出通信模塊程序的部分代碼(采用C96高級(jí)語(yǔ)言編寫),
main()
{
……
?。狢R=0x001b; /*開始復(fù)位模式,開放接收、出錯(cuò)、超載中斷,并置位
?。狝CR=0x02; /*初始化接受代碼寄存器
*AMR=0xfd; /*初始化接受屏蔽寄存器
?。狟TR0=0x00;
*BTR1=0x14; /*確定波特率、同步跳轉(zhuǎn)寬度、位周期長(zhǎng)度、采樣數(shù)目
*OCR=0xaa; /*選擇輸出方式
?。狢R=0x001a; /*初始化結(jié)束,SJA1000返回其工作模式
……
cansend:
temp2=*SR&0x04; /*查詢狀態(tài)寄存器
if(temp2==0x00)goto cansend;
sebuffer=(unsigned char*)0x800c;
?。猻eid=0; /*發(fā)送數(shù)據(jù)的目的地
?。猻edlc=i1; /*發(fā)送數(shù)據(jù)的數(shù)目
for(i1=0;i1<6;i1++)
?。?
?。猻ebuffer=a[i1];
sebuffer++;
} /*送數(shù)據(jù)至發(fā)送緩沖區(qū)
?。狢MR=0x05; /*發(fā)送數(shù)據(jù)
wait1:
temp2=*SR&0x00;
if(temp2==0x08)goto wait1 /*發(fā)送完畢否
callms( ); /*延時(shí)
goto cansend; /*繼續(xù)發(fā)送數(shù)據(jù)
?。?
6. 結(jié) 論
CAN通訊系統(tǒng)經(jīng)過(guò)充分的調(diào)試在功率因素動(dòng)態(tài)補(bǔ)償系統(tǒng)的控制和監(jiān)測(cè)中取得實(shí)際的應(yīng)用。實(shí)踐證明,CAN現(xiàn)場(chǎng)總線監(jiān)控系統(tǒng)具有全數(shù)字化通訊、抗干擾能力強(qiáng)、實(shí)時(shí)性能好、測(cè)量及控制精度高的優(yōu)點(diǎn),所以它必將隨自動(dòng)化監(jiān)控系統(tǒng)的發(fā)展而被廣泛采用。
參考文獻(xiàn)
[1] 鄔寬明. CAN總線原理和應(yīng)用系統(tǒng)設(shè)計(jì). 北京:北京航空航天大學(xué)出版社,1996.
[2] 陽(yáng)憲惠. 現(xiàn)場(chǎng)總線技術(shù)及其應(yīng)用. 北京:清華大學(xué)出版社,1999.
[3] 蔡月明. 基于CAN總線的工業(yè)控制系統(tǒng). 中國(guó)儀器儀表, 2001, 第5期:16-18.
標(biāo)簽:
傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來(lái)源:傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為傳動(dòng)網(wǎng)(connectcrack.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來(lái)源“傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明其他來(lái)源的稿件,均來(lái)自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來(lái)源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。
產(chǎn)品新聞
更多>2025-10-31
勇梅機(jī)械液壓閘門給煤機(jī)的優(yōu)點(diǎn)
2025-10-22
2025-10-17
2025-10-11
「一體機(jī)性價(jià)比王者」NK290M普及型數(shù)控...
2025-10-09
耐磨管道機(jī)器人檢測(cè)電纜CCTV,水下管道...
2025-09-23
推薦專題
更多>