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