项目背景,电动汽车充电桩的检测装置,主要用来测试充电桩反馈信号的电压信号,以及充电电压及电流值。(交流电信号通过AD202与后级隔离)
硬件设计描述:
AGND,DGND,COM,AUX-,NC接地
VDDH:+14.5V
VSSH,TPAD:-14.6V
AVDD,DVDD:5.0V
VIO:3.3V
REFIN:+2.512V
测得:
RCAP,DCAP,ACAP:+2.5xxV
REF1,REF2:4.09xV
接口跟FPGA之间采用ADuM241E隔离。
软件,通过din送入配制字后,启动转换,然后读busy引脚,待busy引脚下降沿后,开始回读转换结果,采用32个时钟脉冲读取方法,目前情况是这样,回读的后16位配制字正确,正是之前写入的配制字,但是回读的前16位转换结果不对,而且将时序稍作调整,比如说调整clk高低电平宽度,(10nS最小,调整步进10nS),或者clk上升沿后稍等待10nS或者20nS后读取dout引脚的值,或者busy下降沿后等待10nS或者20nS后开始给clk信号,都会对读到的值产生很大的影响,唯一不受影响的是控制字的回读,正式之前写入的控制字。
请问出现这种情况是什么原因导致,或者调试的方向应该考虑什么因素?谢谢关注!
补充:控制字为0xF8FB(
CFG_OVERWRITE|INX_7|COM_COM|PGIA_10V24|MUX_AFE|SEQ_BASIC|TEMP_DISABLE|REFN_DISABLE|CMS_NORMAL|CHPA_NORMAL
)宏定义来自ExampleCode_ADC_ADAS3022.zip
回读内容为0x78FB