S50(原V50) 测试机*久元电子研发的一款数字芯片测试系统,行业内有很多人使用;
现在记录下S50抓取pattern数据的一些方法:
程序主要是通过read_log配合c代码实现,pattern需要添加一个trigger pin(任意一个闲置的pin即可),trigger pin为0时表示开始抓取数据
下面是调试代码和实现结果:
.prg代码
1 SET_AC_DATALOG(LT86121RXE_read:READ_LOG_ST, LT86121RXE_read:READ_LOG_16, LOG_ENABLE_ALL, AC_IGNORE_FAIL); 2 RUN_PATTERN(LT86121RXE_read:START,LT86121RXE_read:END,1,1); 3 WAIT(1MS); 4 /SET_AC_DATALOG(AC_DATALOG_SR:READ_LOG_ST, AC_DATALOG_SR:READ_LOG_80, LOG_ENABLE_ALL, AC_IGNORE_FAIL); 5 // RUN_PATTERN(AC_DATALOG_SR:READ_LOG_ST, AC_DATALOG_SR:READ_LOG_80, 1, 1); 6 READ_LOG(LOG_ARRAY, SPI_MISO_C, 16, 1, ENABLE_TRIGGER_PIN); 7 DSPII_DAQ_ARRAY_TRANSFER(LOG_ARRAY, 1, 2, 8, "1", "8,7,6,5,4,3,2,1", 170, 170); 8 //C code below is unnecessary, it print the log data to datalog windows 9 double* array_data; 10 int Size; 11 CF_GetScudVariable("DSPII_DIG_SRAM_LOG_ARRAY_TR",(void**)&array_data,&Size); //export system buffer to user array 12 //Site 1 data 13 for(int i=0;i<Size;i++) { 14 CF_PrintLog("Site1 data =",array_data[i]); //print to datalog window 15 } 16 //Site 2 data 17 //for(int i=Size;i<Size*2;i++) { 18 // CF_PrintLog("Site2 data =",array_data[i]); //print to datalog window 19 //}
.hed:
pattern:
READ_LOG_ST: 00XX1;//V138 01LX0;//R0 //V139 01XX1;//V140 00XX1;//V141 00XX1;//V142 01LX0;//R0 //V143 01XX1;//V144 00XX1;//V145 ........ 00XX1;//V189 00XX1;//V190 01LX0;//R0 //V191 01XX1;//V192 00XX1;//V193 00XX1;//V194 01LX0;//R1 //V195 01XX1;//V196 00XX1;//V197 00XX1;//V198 01LX0;//R1 //V199 01XX1;//V200 READ_LOG_16: 00XX1;//V201
实现结果(读取FLASH,地址0和地址1的数据):