基于DSP和CAN總線的數(shù)據(jù)采集與處理系統(tǒng)設(shè)計(jì)
CAN(Controller Area Network)即控制器區(qū)域網(wǎng),CAN總線是由德國(guó)BOSCH公司為實(shí)現(xiàn)汽車測(cè)量和執(zhí)行部件之間的數(shù)據(jù)通訊而設(shè)計(jì)的、支持分布式控制及實(shí)時(shí)控制的串行通訊網(wǎng)絡(luò)。CAN BUS現(xiàn)場(chǎng)總線已由ISO/TC22 技術(shù)委員會(huì)批準(zhǔn)為國(guó)際標(biāo)準(zhǔn)IOS11898(通訊速率小于1Mbps)和ISO11519(通訊速率小于125kbps)。CAN總線開(kāi)始主要應(yīng)用于自動(dòng)化電子領(lǐng)域的汽車發(fā)動(dòng)機(jī)部件、傳感器、抗滑系統(tǒng)等應(yīng)用中。
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所示。
圖1 系統(tǒng)結(jié)構(gòu)圖
其中數(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)成。
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)還包括開(kāi)關(guān)量輸入電路、開(kāi)關(guān)量輸出電路、時(shí)鐘、電源和CAN接口等電路。如圖2所示。
圖2 硬件總體框圖
2.1 TMS320LF2407A的主要特點(diǎn)
美國(guó)德州儀器公司生產(chǎn)的TMS320LF2407A芯片將實(shí)時(shí)信號(hào)處理能力和控制器外設(shè)功能集于一身,特別適合于工業(yè)控制應(yīng)用。具有豐富的通用輸入、輸出引腳。該芯片供電電壓為3.3V,降低了控制器的功耗;還提供了符合CAN2.0B規(guī)范要求的CAN通信模塊;一個(gè)16位的同步串行外圍接口(SPI)和串行通信接口(SCI)模塊;具有低成本、低功耗、高速運(yùn)算能力和高性能處理能力等優(yōu)點(diǎn)。
2.2 采集模塊電路設(shè)計(jì)
該部分電路采用ADS7684作為A/D轉(zhuǎn)換芯片,ADS7684是一種高速、低功耗、六通道、同時(shí)采樣保證無(wú)失碼的雙12位A/D轉(zhuǎn)換器。信號(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ò)。
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連接;采用了TJA1050作為驅(qū)動(dòng)器代替以往的82C250,TJA1050的優(yōu)點(diǎn)是完全符合ISO11898標(biāo)準(zhǔn);高速率最高達(dá)1 Mbit/s;輸出驅(qū)動(dòng)器受到溫度保護(hù);至少可以連接110個(gè)節(jié)點(diǎn)。數(shù)字電源VCC和GND是用小功率隔離模塊DC/DC進(jìn)行一次隔離后得到的。增加了通信的抗干擾能力。CAN通信接口電路如圖4所示。
圖4 CAN通信接口電路
3 系統(tǒng)軟件設(shè)計(jì)
本系統(tǒng)的軟件在CCS2000的開(kāi)發(fā)環(huán)境下編輯、調(diào)試的,采用C2000 DSP匯編語(yǔ)言和C語(yǔ)言混合編程。與硬件兩部分相對(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ù)電路編寫(xiě)程序,程序流程圖如圖5所示。
圖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。第2步初始化位定時(shí)器:位定時(shí)器主要由BCR1和BCR2這兩個(gè)寄存器組成,包括CAN控制器的通訊波特率、同步跳轉(zhuǎn)寬度、采樣次數(shù)和重同步方式。第3步初始化郵箱:郵箱初始化主要是設(shè)置郵箱的標(biāo)識(shí)符、控制域以及對(duì)相應(yīng)的郵箱賦初值。以下是寄存器初始化的部分原代碼:
數(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ǔ)
本系統(tǒng)充分利用DSP具有內(nèi)置CAN控制器的優(yōu)勢(shì),設(shè)計(jì)了具有雙CAN總線接口的DSP中間控制器,采用分級(jí)、分層、區(qū)域組合的思想實(shí)現(xiàn)雙層、多區(qū)域數(shù)據(jù)信息的采集。文中給出了本數(shù)據(jù)采集系統(tǒng)的結(jié)構(gòu),并設(shè)計(jì)了DSP中間控制器雙CAN總線網(wǎng)絡(luò)接口的硬件電路,在實(shí)際應(yīng)用中取得良好的效果,也為相關(guān)的電力系統(tǒng)中的電量檢 測(cè)提供了一定的參考。
評(píng)論