基于DSP和CAN總線的數(shù)據(jù)采集與處理系統(tǒng)
TMS320LF2407A內(nèi)帶CAN控制器,使整個(gè)電路的外圍設(shè)計(jì)簡(jiǎn)單化,可靠性也得到提高。考慮到CAN 總線數(shù)據(jù)傳輸?shù)母咚俾屎涂垢蓴_性,CAN通信方案做了如下幾方面設(shè)計(jì):DSP的CANRX和CANTX先通過(guò)74LVC04A進(jìn)行3.3V與5V的電平匹配,然后再通過(guò)高速光隔TLP113與TJA1050連接,實(shí)現(xiàn)了總線的電氣隔離;采用了TJA1050作為驅(qū)動(dòng)器代替以往的82C250,TJA1050的優(yōu)點(diǎn)是完全符合ISO11898標(biāo)準(zhǔn);高速率最高達(dá)1 Mbit/s;電磁抗干擾性能好;不上電的節(jié)點(diǎn)不會(huì)對(duì)總線造成擾動(dòng);輸出驅(qū)動(dòng)器受到溫度保護(hù);至少可以連接110個(gè)節(jié)點(diǎn)。數(shù)字電源VCC和GND是用小功率隔離模塊DC/DC進(jìn)行一次隔離后得到的。增加了通信的抗干擾能力。CAN通信接口電路如圖4所示。
3 系統(tǒng)軟件設(shè)計(jì)
本系統(tǒng)的軟件在CCS2000的開(kāi)發(fā)環(huán)境下編輯、調(diào)試的,采用C2000 DSP匯編語(yǔ)言和C語(yǔ)言混合編程。軟件采用模塊化的開(kāi)發(fā)思想使得模塊的調(diào)用簡(jiǎn)潔方便。與硬件兩部分相對(duì)應(yīng),其軟件功能劃分為采樣和通信兩個(gè)環(huán)節(jié)。
3.1 采樣環(huán)節(jié)
ADS7864 含有兩個(gè)可以同時(shí)工作的12位A/D轉(zhuǎn)換器,其3個(gè)保持信號(hào)選擇輸入的多路開(kāi)關(guān)并且啟動(dòng)A/D轉(zhuǎn)換。這3個(gè)保持信號(hào)同時(shí)有效就可以同時(shí)保持6路輸入信號(hào),轉(zhuǎn)換的數(shù)據(jù)分別存放在6個(gè)寄存器中。ADS7864的BUSY端接到DSP 的XINT1端,ADS7864把數(shù)據(jù)轉(zhuǎn)換完成后發(fā)出中斷請(qǐng)求信號(hào),DSPC相應(yīng)中斷,進(jìn)入中斷服務(wù)程序,讀取數(shù)據(jù)。一次讀到16位信息,其中DB15表明數(shù)據(jù)的有效性(高電平有效),DB14,DB13,DB12表示哪個(gè)通道,DB11~DB00為該通道的轉(zhuǎn)換的結(jié)果。地址/模式信號(hào)(A0,A1,A2)選擇數(shù)據(jù)讀取數(shù)據(jù)的方式,本系統(tǒng)設(shè)置為全“1”,即采用先入先出方式。根據(jù)電路編寫程序,程序流程圖如圖5所示。
圖4 CAN通信接口電路
圖5 采樣模塊程序流程圖
3.2 通信環(huán)節(jié)
在使用CAN控制器之前首先必須對(duì)它的內(nèi)部寄存器進(jìn)行初始化設(shè)置。包括相關(guān)I/O口、位定時(shí)器以及郵箱的相關(guān)設(shè)置。第1步即為正確配置兩個(gè)引腳CANTX和CANRX,因?yàn)檫@兩個(gè)I/O口均為復(fù)用口。第2步初始化位定時(shí)器:位定時(shí)器主要由BCR1和BCR2這兩個(gè)寄存器組成,包括CAN控制器的通訊波特率、同步跳轉(zhuǎn)寬度、采樣次數(shù)和重同步方式。第3步初始化郵箱:郵箱初始化主要是設(shè)置郵箱的標(biāo)識(shí)符、控制域以及對(duì)相應(yīng)的郵箱賦初值。以下是寄存器初始化的部分原代碼:
* MCRB= * MCRB|0X0C0;設(shè)置IOPC6和IOPC7為CANNRX,CANTX
* CANIFR=0XFFFF;清除全部CAN中斷標(biāo)志
* CANLAM1H=0X601F;設(shè)置郵箱2屏蔽ID寄存器
* CANLAM1L=0XFFFF;
* CANMCR=0X1000; 配置主控制寄存器改變請(qǐng)求
while( * CANGSR0X0010==0 )continue;等待允許對(duì)配置寄存器進(jìn)行寫操作
* CANBCR2=0X03;設(shè)置波特率
* CANBCR1=0X05E;
* CANMCR= * CANMCRam
p;0XEFFF;
while( * CANGSR0X0010!=0)continue; 當(dāng)cee=0時(shí)配置成功
* CANMDER=0X040;郵箱2為接收方式,郵箱3為發(fā)送方式
* CANMCR=0X0480;數(shù)據(jù)字節(jié)次序;設(shè)置自動(dòng)恢復(fù)總線位
* CANMDER=0X4C;配置郵箱方向;使能郵箱,可以接收和發(fā)送了
* CANIMR=0XF7FF;設(shè)置中斷,使能郵箱2,不使能郵箱3
* CANIFR=0XFFFF;清全部中斷標(biāo)志
數(shù)據(jù)的發(fā)送與接收:當(dāng)完成以上3步之后,接著就實(shí)現(xiàn)對(duì)數(shù)據(jù)的發(fā)送與接收請(qǐng)求.數(shù)據(jù)的接收,采用中斷方式接收CAN信息,而且所接收到的信息標(biāo)識(shí)符必須與相應(yīng)的接受郵箱的標(biāo)識(shí)符相同才能被接收,否則被濾除.
4 結(jié)束語(yǔ)
本文將DSP和CAN總線等技術(shù)應(yīng)用在電力系統(tǒng)模擬量采集和測(cè)量中,詳細(xì)闡述了實(shí)際應(yīng)用中的模數(shù)轉(zhuǎn)換和CAN接口電路.該系統(tǒng)的數(shù)據(jù)采集的速度和精度使電壓、電流和功率等基本遙測(cè)量的采集、計(jì)算、分析更為快捷,CAN通信符合現(xiàn)場(chǎng)要求,在實(shí)際應(yīng)用中取得良好的效果,也為相關(guān)的電力系統(tǒng)中的電量檢測(cè)提供了一定的參考。
評(píng)論