交流參數測試

Chroma

AC0_test(){
  PIN(x_66+x_67, , , MASK, , OFF);
  DATALOG = “ac0”;
   AC_sub_1(0);
  PIN(x_66+x_67, , , ENABLE, , OFF);
  }
 AC1_test(){
  PIN(x_66+x_67, , , MASK, , OFF);
  DATALOG = “ac1”;
   AC_sub_2(1);
  PIN(x_66+x_67, , , ENABLE, , OFF);
  }
 AC2_test(){
  PIN(x_66+x_67, , , MASK, , OFF);
  DATALOG = “ac2”;
   AC_sub_2(2);
  PIN_MODE(x_66+x_67, , , ENABLE, , OFF);
  }
 AC3_test(){
  PIN(x_66+x_67, , , MASK, , OFF);
  DATALOG = “ac3”;
   AC_sub_2(3);
  PIN(x_66+x_67, , , ENABLE, , OFF);
  }
 AC4_test(){
  PIN(x_66+x_67, , , MASK, , OFF);
  DATALOG = “ac4”;
   AC_sub_2(4);
  PIN(x_66+x_67, , , ENABLE, , OFF);
  }
 AC5_test(){
  PIN(x_66+x_67, , , MASK, , OFF);
  DATALOG = “ac5”;
   AC_sub_2(5);
  PIN(x_66+x_67, , , ENABLE, , OFF);
  }
 AC6_test(){
  PIN(x_66+x_67, , , MASK, , OFF);
  DATALOG = “ac6”;
   ADC_sub_test2(6);
  PIN(x_66+x_67, , , ENABLE, , OFF);
  }
 AC7_test(){
  PIN(x_66+x_67, , , MASK, , OFF);
  DATALOG_MSG = “ac7”;
   AC_sub_2(7);
  PIN(x_66+x_67, , , ENABLE, , OFF);
  }
 AC8_test(){
  PIN(x_66+x_67, , , MASK, , OFF);
  DATALOG = “ac8”;
   AC_sub_2(8);
  PIN(x_66+x_67, , , ENABLE, , OFF);
  }
 AC9_test(){
  PIN(x_66+x_67, , , MASK, , OFF);   DATALOG = “ac9”;
   ADC_sub_2(9);
  PIN(x_66+x_67, , , ENABLE, , OFF);
  }

Map

void ADC_sub_test2(int adc_num){  
float ADC_voltage[8] = { 0.00, 3.3, 0.103, 0.206, 0.413, 0.825, 1.65, 3.3 };  
unsigned int uiMaxSites = 4;  
unsigned int uiPinCnt = 10; 
unsigned int uiCycleCnt = 1;  
unsigned int uiArySize = uiMaxSites * uiPinCnt*uiCycleCnt;  
ARRAY iAryPeL(“iAryPeL”, uiArySize);//int pel[10]  
ARRAY iAryPeH(“iAryPeH”, uiArySize);//int peh[10],  
ARRAY iAryResult(“iAryPeH”, 4);//int peh[10],  
int p1[12], code[10];//int p1[12][4], code[10][4];  
int pel[10], peh[10], pfail[10];  int ww, www;  int i;  int sum = 0;  
char PatNameSt[32], PatNameSp[32], PatNameadc2[32];  

for (int i = 0; i < 2; i++)  
{  
if (adc_num == 1)  {  
VihlSet(ALL_PINS, 3.3 V, 0.0 V);  PinModeSet(x_gpio39, PinMode::Ppmu);  
PpmuPower(x_gpio39, Ctrl::OFF);  
PpmuSet(x_gpio39, PpmuPM::FVMV, PpmuVR::V6, PpmuIR::I30m, ADC_voltage[i], -30.0 mA, 30.0 mA);  
PpmuPower(x_gpio39, Ctrl::ON);  
Delay(3 mS);  VohlSet(ALL_PINS, 1.5 V, 1.5 V);  
ActiveLoadSet(ALL_PINS, 0 uA, 0 uA, 0 V);  
}  
if (adc_num == 2)  
{  
PinModeSet(x_gpio3a, PinMode::Ppmu);  
PpmuPower(x_gpio3a, Ctrl::OFF);  
PpmuSet(x_gpio3a, PpmuPM::FVMV, PpmuVR::V6, PpmuIR::I30m, ADC_voltage[i], -30.0 mA, 30.0 mA);  
PpmuPower(x_gpio3a, Ctrl::ON);  
Delay(3 mS);  VohlSet(ALL_PINS, 1.5 V, 1.5 V);  
ActiveLoadSet(ALL_PINS, 0 uA, 0 uA, 0 V);  
}  
if (adc_num == 3)  
{  
VihlSet(ALL_PINS, 3.3 V, 0.0 V);  
PinModeSet(x_gpio3b, PinMode::Ppmu);  
PpmuPower(x_gpio3b, Ctrl::OFF);  
PpmuSet(x_gpio3b, PpmuPM::FVMV, PpmuVR::V6, PpmuIR::I30m, ADC_voltage[i], -30.0 mA, 30.0 mA);  
PpmuPower(x_gpio3b, Ctrl::ON);  Delay(3 mS);  
VohlSet(ALL_PINS, 1.5 V, 1.5 V);  
ActiveLoadSet(ALL_PINS, 0 uA, 0 uA, 0 V);  
}  
if (adc_num == 4)  
{  
VihlSet(ALL_PINS, 3.3 V, 0.0 V);  
PinModeSet(x_gpio42, PinMode::Ppmu);  
PpmuPower(x_gpio42, Ctrl::OFF);  
PpmuSet(x_gpio42, PpmuPM::FVMV, PpmuVR::V6, PpmuIR::I30m, ADC_voltage[i], -30.0 mA, 30.0 mA);  
PpmuPower(x_gpio42, Ctrl::ON);  
Delay(3 mS);  VohlSet(ALL_PINS, 1.5 V, 1.5 V);  
ActiveLoadSet(ALL_PINS, 0 uA, 0 uA, 0 V);  
}  
if (adc_num == 5)  
{  
VihlSet(ALL_PINS, 3.3 V, 0.0 V);  
PinModeSet(x_gpio43, PinMode::Ppmu);  
PpmuPower(x_gpio43, Ctrl::OFF);  
PpmuSet(x_gpio43, PpmuPM::FVMV, PpmuVR::V6, PpmuIR::I30m, ADC_voltage[i], -30.0 mA, 30.0 mA);  
PpmuPower(x_gpio43, Ctrl::ON);  
Delay(3 mS);  VohlSet(ALL_PINS, 1.5 V, 1.5 V);  
ActiveLoadSet(ALL_PINS, 0 uA, 0 uA, 0 V);  
}  
if (adc_num == 6)  
{  
VihlSet(ALL_PINS, 3.3 V, 0.0 V);  
PinModeSet(x_gpio40, PinMode::Ppmu);  
PpmuPower(x_gpio40, Ctrl::OFF);  
PpmuSet(x_gpio40, PpmuPM::FVMV, PpmuVR::V6, PpmuIR::I30m, ADC_voltage[i], -30.0 mA, 30.0 mA);  
PpmuPower(x_gpio40, Ctrl::ON);  Delay(3 mS);  
VohlSet(ALL_PINS, 1.5 V, 1.5 V);  
ActiveLoadSet(ALL_PINS, 0 uA, 0 uA, 0 V);  
}  
if (adc_num == 7)  
{  
VihlSet(ALL_PINS, 3.3 V, 0.0 V);  
PinModeSet(x_gpio41, PinMode::Ppmu);  
PpmuPower(x_gpio41, Ctrl::OFF);  
PpmuSet(x_gpio41, PpmuPM::FVMV, PpmuVR::V6, PpmuIR::I30m, ADC_voltage[i], -30.0 mA, 30.0 mA);  
PpmuPower(x_gpio41, Ctrl::ON);  Delay(3 mS);  
VohlSet(ALL_PINS, 1.5 V, 1.5 V);  
ActiveLoadSet(ALL_PINS, 0 uA, 0 uA, 0 V);  
}  
if (adc_num == 8)  
{  
VihlSet(ALL_PINS, 3.3 V, 0.0 V);  
PinModeSet(x_gpio78, PinMode::Ppmu);  
PpmuPower(x_gpio78, Ctrl::OFF);  
PpmuSet(x_gpio78, PpmuPM::FVMV, PpmuVR::V6, PpmuIR::I30m, ADC_voltage[i], -30.0 mA, 30.0 mA);  
PpmuPower(x_gpio78, Ctrl::ON);  Delay(3 mS);  VohlSet(ALL_PINS, 1.5 V, 1.5 V);  
ActiveLoadSet(ALL_PINS, 0 uA, 0 uA, 0 V);  
}  
if (adc_num == 9)  
{  
VihlSet(ALL_PINS, 3.3 V, 0.0 V);  
PinModeSet(x_gpio65, PinMode::Ppmu);  
PpmuPower(x_gpio65, Ctrl::OFF); 
PpmuSet(x_gpio65, PpmuPM::FVMV, PpmuVR::V6, PpmuIR::I30m, ADC_voltage[i], -30.0 mA, 30.0 mA);  
PpmuPower(x_gpio65, Ctrl::ON);  Delay(3 mS);  
VohlSet(ALL_PINS, 1.5 V, 1.5 V);  
ActiveLoadSet(ALL_PINS, 0 uA, 0 uA, 0 V);  
}  
sprintf(PatNameadc2, “stm_ate_adc%d_X”, adc_num);  
FunctionStart(PatNameadc2, “st”, “sp”, 6450);  
FunctionTest();  sprintf(PatNameadc2, “stm_ate_adc%d_H”, adc_num); 
FunctionStart(PatNameadc2, “st”, “sp”, 6450);  
FunctionWait();  
Delay(5 mS);  
ReadLog(x_gpio_20_to_272e2f, uiCycleCnt, iAryPeL, iAryPeH); //pel[10], peh[10], pfail[10];  
SerialTest(); //for (int uiSite = 0; uiSite < 4; uiSite++)  
int iDutNo = DutNoGet();  
p1[i] = 0;  for (ww = 0; ww <= 9; ww++)  
{  
p1[i] = p1[i] * 2 + iAryPeL[uiPinCnt*iDutNo + ww];  }  
iAryResult[iDutNo] = p1[i];  
SerialEnd();  
if (i == 0) VarTest(iAryResult, 1, -15, 15, “ADC_00H”, “”, false);  
if (i == 1) VarTest(iAryResult, 1, 993, 1023, “ADC_400H”, “”, false);  
}  
VihlSet(ALL_PINS, 3.3 V, 0.0 V);  
VohlSet(ALL_PINS, 1.5 V, 1.5 V);  
if (adc_num == 1)  
{  
PpmuPower(x_gpio39, Ctrl::OFF);  
PinModeSet(x_gpio39, PinMode::DrvCmp);  
}  
if (adc_num == 2)  
{  
PpmuPower(x_gpio3a, Ctrl::OFF);  
PinModeSet(x_gpio3a, PinMode::DrvCmp);  
}  
if (adc_num == 3)  
{  
PpmuPower(x_gpio3b, Ctrl::OFF);  
PinModeSet(x_gpio3b, PinMode::DrvCmp);  
}  
if (adc_num == 4)  
{  
PpmuPower(x_gpio42, Ctrl::OFF);  
PinModeSet(x_gpio42, PinMode::DrvCmp);  
}  
if (adc_num == 5)  
{  
PpmuPower(x_gpio43, Ctrl::OFF); 
PinModeSet(x_gpio43, PinMode::DrvCmp);  

if (adc_num == 6)  

PpmuPower(x_gpio40, Ctrl::OFF);  
PinModeSet(x_gpio40, PinMode::DrvCmp);  
}  
if (adc_num == 7)  
{
PpmuPower(x_gpio41, Ctrl::OFF);  
PinModeSet(x_gpio41, PinMode::DrvCmp);  
}  
if (adc_num == 8)  
{  
PpmuPower(x_gpio78, Ctrl::OFF);  
PinModeSet(x_gpio78, PinMode::DrvCmp);  
}  
if (adc_num == 9)  
{  
PpmuPower(x_gpio65, Ctrl::OFF);  
PinModeSet(x_gpio65, PinMode::DrvCmp);  
  }
}