SCADA系統(tǒng)中交流采樣器設(shè)計(jì)
為實(shí)現(xiàn)高精度的交流采樣,本系統(tǒng)的ADC選用MAXIM公司的14位MAXl25CEAX。有關(guān)該芯片的資料參見文獻(xiàn)[6],圖4為具體應(yīng)用電路。
(1)CHlA~CH4A、CHlB~CH4B分別接PT/CT(電壓/電流互感器)調(diào)理電路的輸出電壓。DO~D13接電平轉(zhuǎn)移器件的5V數(shù)據(jù)線,經(jīng)電平轉(zhuǎn)移后接DSP的D0~D13。
(2)DSP的IOPF6直接接MAXl25的CONVST端,IOPF6端發(fā)一個(gè)正脈沖啟動(dòng)一次A/D轉(zhuǎn)換。轉(zhuǎn)換結(jié)束時(shí),MAXl25的INT端輸出低電平,通過5V―3V電平轉(zhuǎn)移電路接到DSP的IOPA2(XINn)腳,程序查詢IOPA2(ⅪNT1)是否為低電平,為低則讀取轉(zhuǎn)換結(jié)果。
(3)DSP的IS腳直接接MAXl25的CS端.DSP將MAXl25視為一個(gè)I/O端口,用端口指令訪問。DSP的電平可以直接驅(qū)動(dòng)MAXl25的控制端。
下面是對(duì)MAXl25操作的DSP C語言實(shí)例。
(1)寫命令到MAXl25
outport(MAXl25,0x03);//input Mux A/Four―Channel
(2)發(fā)出啟動(dòng)MAXl25進(jìn)行A/D轉(zhuǎn)換的脈沖
MAXl25CONV_HIGH;//IOPF6=1
MAXl25CONV_LOW;//需要大于30ns的負(fù)脈沖
MAXl25CONV_HIGH;//上升沿啟動(dòng)轉(zhuǎn)換
(3)查詢IOPA2(ⅪNT1)是否為低電平(轉(zhuǎn)換完成)
while(*PADATDIR0X0004)
{KICKDOG;}
(4)讀轉(zhuǎn)換結(jié)果
for(i=0;i 4;i++)//read result about Ila、Va、Ib、Vb
{
ADC_Result[i]=portl;
Ch_RealData[i][Dots_Index]=(ADC―Result[i ]2)/4;
//14 bits dala change to 16 hits data
}
評(píng)論