主题中讨论的其他器件:LM358、 LM2904
你好。
到目前为止、我们一直在销售使用2407A 的产品。
最近已证实 ADC 在特定值下运行异常。
我检查了几年前购买的 CPU ,但同样的现象出现,只有一个不同的程度。
到目前为止、由于不常使用该技术的区域出现异常、该技术似乎已经被忽视。
当您逐渐增大 ADC 输入引脚的电压并观察 AD 值时、就会出现这种现象、其显示方式如下图所示。 (在照片中、0是 RESULT0的值、15是 RESULT15的值。)
该值在某个期间固定为256。
245和256之间的所有值看起来都为256。
如果您测量 CPU ADC 输入的电压、它是线性的且正常的。
用于观察的程序如下。
if (AD_StartOk == 1)
{
温度= ADCTRL2 & 0x0200;//检查 INT 标志 SEQ1
while (temp=0)
{
温度= ADCTRL2 & 0x0200;//检查 INT 标志 SEQ1
}
SET (ADCTRL2、BIT9);//此 INT FALG 位必须由用户写入1来进行清除
AD_ALL_SUM_RESULT_VALUE = 0;
AD_ALL_SOM_RESULT_RESULT_VALUE =(RESULT0>>6)&0x3FF);
test[0]= AD_all_sum_result_value;
AD_ALL_SUM_RESULT_VALUE =((Result1>>6)&0x3FF);
test[1]= ad_all_sum_result_value;
AD_ALL_SUM_RESULT_VALUE =((Result2>>6)&0x3FF);
test[2]= ad_all_sum_result_value;
AD_ALL_SUM_RESULT_VALUE =((Result3>>6)&0x3FF);
test[3]= AD_all_sum_result_value;
AD_ALL_SOM_RESULT4_VALUE =((RESULT4>>6)&0x3FF);
test[4]= ad_all_sum_result_value;
AD_ALL_SOM_RESULT_RESULT_VALUE =((RESULT5>6)&0x3FF);
test[5]= ad_all_sum_result_value;
AD_ALL_SOM_RESULT_VALUE =((RESULT6>>6)&0x3FF);
test[6]= ad_all_sum_result_value;
AD_ALL_SOM_RESULT_RESULT_VALUE =(RESULT7>>6)&0x3FF);
test[7]= ad_all_sum_result_value;
AD_ALL_SOM_RESULT_RESULT_VALUE =(RESULT8>>6)&0x3FF);
test[8]= ad_all_sum_result_value;
AD_ALL_SOM_RESULT_RESULT_VALUE =(RESULT9>6)&0x3FF);
test[9]= ad_all_sum_result_value;
AD_ALL_SOM_RESULT_RESULT_VALUE =(RESULT10>>6)&0x3FF);
test[10]= ad_all_sum_result_value;
AD_ALL_SOM_RESULT_RESULT_VALUE =(RESULT11>>6)&0x3FF);
test[11]= ad_all_sum_result_value;
AD_ALL_SOM_RESULT_RESULT_VALUE =(RESULT12>>6)&0x3FF);
test[12]= ad_all_sum_result_value;
AD_ALL_SOM_RESULT_RESULT_VALUE =(RESULT13>>6)&0x3FF);
test[13]= ad_all_sum_result_value;
AD_ALL_SOM_RESULT_RESULT_VALUE =(RESULT14>>6)&0x3FF);
test[14]= ad_all_sum_result_value;
AD_ALL_SOM_RESULT_RESULT_VALUE =(RESULT15>>6)&0x3FF);
test[15]= ad_all_sum_result_value;
有什么我可以检查的吗?