基于DSP和CAN總線的數(shù)據(jù)采集與處理系統(tǒng)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
引言
隨著計(jì)算機(jī)技術(shù)&通信技術(shù)和電子技術(shù)的迅猛發(fā)展,電力系統(tǒng)自動(dòng)化程度也日益提高,通過(guò)現(xiàn)場(chǎng)總線技術(shù)和數(shù)字信號(hào)處理技術(shù)的應(yīng)用提高了電力系統(tǒng)的可靠性和可維護(hù)性。本文將TMS320LF2407A芯片和CAN總線等技術(shù)應(yīng)用于電力系統(tǒng)的數(shù)據(jù)采集中,基于對(duì)轉(zhuǎn)換時(shí)間和轉(zhuǎn)換精度的考慮,本系統(tǒng)還采用了ADS7684作為模數(shù)轉(zhuǎn)換芯片。ADS7684是TI公司推出的專為高速同步數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)的高速6通道同步采樣、12位的模/數(shù)轉(zhuǎn)換芯片。將ADS7684與TMS320LF2407A芯片構(gòu)成數(shù)據(jù)采集部分,是一個(gè)較好的數(shù)據(jù)采集方案。該系統(tǒng)可以快捷地實(shí)現(xiàn)對(duì)電壓、電流、功率、功率因數(shù)和頻率等重要的電力參數(shù)進(jìn)行實(shí)時(shí)檢測(cè),處理和傳輸。
1 系統(tǒng)結(jié)構(gòu)
基于現(xiàn)場(chǎng)總線的電力系統(tǒng)數(shù)據(jù)采集系統(tǒng)由數(shù)據(jù)采集模塊、CAN總線、工控機(jī)(IPC)3部分組成,其系統(tǒng)結(jié)構(gòu)如圖1所示。
其中數(shù)據(jù)采集模塊采集現(xiàn)場(chǎng)數(shù)據(jù),直接面向生產(chǎn)過(guò)程;工控機(jī)主要功能是通過(guò)現(xiàn)場(chǎng)總線網(wǎng)絡(luò)對(duì)數(shù)據(jù)采集模塊的參數(shù)進(jìn)行設(shè)置,實(shí)時(shí)獲取數(shù)據(jù)采集模塊的數(shù)據(jù)和信息,以及顯示、數(shù)據(jù)分析和完成報(bào)表等功能;CAN總線部分主要由CAN總線適配卡、通信介質(zhì)和相應(yīng)軟件構(gòu)成。
圖1 系統(tǒng)結(jié)構(gòu)圖
2 系統(tǒng)硬件設(shè)計(jì)
三相電壓、三相電流模擬信號(hào)先輸入到信號(hào)調(diào)理電路,輸出的雙極性信號(hào)進(jìn)入A/D轉(zhuǎn)換專用芯片ADS7864電路,數(shù)據(jù)信號(hào)經(jīng)過(guò)電平匹配后傳入DSP。該系統(tǒng)還包括開關(guān)量輸入電路、開關(guān)量輸出電路、時(shí)鐘、電源和CAN接口等電路。如圖2所示。
圖2 硬件總體框圖
2。1TMS320LF2407A的主要特點(diǎn)
美國(guó)德州儀器公司生產(chǎn)的TMS320LF2407A芯片將實(shí)時(shí)信號(hào)處理能力和控制器外設(shè)功能集于一身,特別適合于工業(yè)控制應(yīng)用。內(nèi)核采用哈佛結(jié)構(gòu),運(yùn)算速度快,最高可達(dá)40MIPS的執(zhí)行速度。具有豐富的通用輸入、輸出引腳。該芯片供電電壓為3.3V,降低了控制器的功耗;還提供了符合CAN2.0B規(guī)范要求的CAN通信模塊;一個(gè)16位的同步串行外圍接口(SPI)和串行通信接口(SCI)模塊;具有低成本、低功耗、高速運(yùn)算能力和高性能處理能力等優(yōu)點(diǎn),因此該DSP芯片可以滿足此系統(tǒng)要求。
2.2 采集模塊電路設(shè)計(jì)
該部分電路采用ADS7684作為A/D轉(zhuǎn)換芯片,ADS7684是一種高速、低功耗、六通道、同時(shí)采樣保證無(wú)失碼的雙12位A/D轉(zhuǎn)換器。主要應(yīng)用于電機(jī)控制,三相電源控制等領(lǐng)域。信號(hào)調(diào)理部分采用互感器對(duì)電網(wǎng)信號(hào)進(jìn)行隔離變化,所選用的是電流型互感器,既可測(cè)電壓也可測(cè)電流,輸入、輸出額定電流6mA/6mA再采用普通運(yùn)算放大器LM324構(gòu)成電流電壓轉(zhuǎn)換器#運(yùn)放工作在放大狀態(tài),輸出-5~+5V信號(hào).從調(diào)理部分得到的雙極性模擬信號(hào)經(jīng)過(guò)運(yùn)算放大器OPA340組成的轉(zhuǎn)換電路變成0~5V的輸入信號(hào),接入ADS7864的+IN和-IN端子,如圖3所示。
圖3 雙極性輸入轉(zhuǎn)換電路
ADS7684使用獨(dú)立的8MHZ有源時(shí)鐘,由5V電源供電。TMS320LF2407A供電電壓是3.3V,而ADS7864供電電壓是5V,所以二者接口需電平轉(zhuǎn)換,ADS7864的16位數(shù)據(jù)線經(jīng)過(guò)SN74LVTH16245A電壓轉(zhuǎn)換芯片再與DSP相連,片選信號(hào)CS和讀信號(hào)RD分別由2407A的外部I/O空間選通信號(hào)CS和讀信號(hào)RD經(jīng)電平匹配模塊引入,它的A/D轉(zhuǎn)換結(jié)束標(biāo)志信號(hào)BUSY同樣須經(jīng)電平匹配模塊引到2407A的XINT1。ADS7864同時(shí)采到6路輸入信號(hào)并將它們保存在保持寄存器,然后順序啟動(dòng)轉(zhuǎn)換,將轉(zhuǎn)換的結(jié)果分別存放在6個(gè)寄存器中,轉(zhuǎn)換完后發(fā)出BUSY中斷信號(hào),DSP響應(yīng)中斷,順序讀出轉(zhuǎn)換結(jié)果,然后再進(jìn)行下一次采樣、轉(zhuǎn)換。
2.3 通信模塊電路設(shè)計(jì)
目前電力系統(tǒng)的分布式監(jiān)控系統(tǒng)幾乎都是基于RS-485構(gòu)建的網(wǎng)絡(luò),采用半雙工的電氣協(xié)議,這種機(jī)制使得在構(gòu)建復(fù)雜工業(yè)現(xiàn)場(chǎng)的實(shí)時(shí)監(jiān)控網(wǎng)絡(luò)時(shí)存在不足,可靠性低,系統(tǒng)故障隔離能力差。在本設(shè)計(jì)方案中采用了CAN總線技術(shù)。該總線技術(shù)具有獨(dú)特的機(jī)制,其主要有以下幾個(gè)優(yōu)點(diǎn):網(wǎng)絡(luò)節(jié)點(diǎn)不分主動(dòng)主從;采用非破壞總線仲裁;支持競(jìng)爭(zhēng);傳輸距離遠(yuǎn);通信速度較高(最大1Mbit/s);組網(wǎng)靈活;其報(bào)文采用短幀結(jié)構(gòu),傳輸時(shí)間短,受干擾小,具有自己的協(xié)議等;所以現(xiàn)場(chǎng)總線CAN以其自身的優(yōu)點(diǎn)有效支持分布式控制系統(tǒng)或成為實(shí)時(shí)控制的串行通信網(wǎng)絡(luò)。[!--empirenews.page--]
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的開發(fā)環(huán)境下編輯、調(diào)試的,采用C2000 DSP匯編語(yǔ)言和C語(yǔ)言混合編程。軟件采用模塊化的開發(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)選擇輸入的多路開關(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( * CANGSR&0X0010==0 )continue;等待允許對(duì)配置寄存器進(jìn)行寫操作
* CANBCR2=0X03;設(shè)置波特率
* CANBCR1=0X05E;
* CANMCR= * CANMCR&am
p;0XEFFF;
while( * CANGSR&0X0010!=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è)提供了一定的參考。