TI中文支持网
TI专业的中文技术问题搜集分享网站

ADS131A04: ADS131A04级联后报错2210,ADC无数据输出

Part Number:ADS131A04

同样硬件 配置为

parameter A_SYS_CFG = 24'h4be200;
parameter D_SYS_CFG = 24'h4ca800;

旧程序因为没有正确配置从片,主片可以正常读取ADC数据,DRDY信号正确产生,10.667K采样率。10K速率读取。

新的程序在ADC使能后,变更时钟长度,从片正确响应,但是状态寄存器一直报错,回复221000,读03 04 05寄存器后还是报错,改变配置寄存器故障依旧A_SYS_CFG = 24'h4b6000;D_SYS_CFG = 24'h4c3c00;

如图,ADCEN后改变长度,发送wankeup和lockregisters指令后,发送230000,240000,250000,读取状态后,adc回复四次数据后再无法回复数据。

次波形后芯片回复全部变为0,同样配置,为什么单片工作时无报错,级联后报错,并且无法正常工作

Amy Luo:

您好,

04h寄存器报错了,Negative Charge Pump Enabled 也就是A_SYS_CFG寄存器 VNCPEN bit的配置与供电电压和输入范围有关,也与调制频率有关,您供电电压使用的是多少?前端模拟输入信号幅值范围是多少?

CLKIN是多少?CLK寄存器配置的是什么?

,

nick chen:

clkin为16.384M,同样配置下主片配置成功是可以正常运行的(因为之前帖子的问题无法使能从片,解决之后出现这个问题,所以前后写入主片的配置是一样的),配置参数均收到回复,确认写入成功,输入目前设置到300mV,VCC 5V的情况下,不会触发报错,但是在级联的情况下一直在报错,这个问题是解决这个问题之后出现的ADS131A04: ADS131A04级联,主片未输出从片片选信号。 – 数据转换器论坛 – 数据转换器 – E2ETm 设计支持 (ti.com)

parameter CLK1REG = 24'h4d0200;//clksrc=clkin,ficlk=fclkin/2parameter CLK2REG = 24'h4e2700;//fmod=ficlk/2,fdata=fmod/384 //sampling rate=10.67k/sps

,

nick chen:

增加了读取0D和0E的,写入的配置没有问题,最后一幅图是DRDY的变化,已经是10.67K的频率,目前读取频率是10K。

,

Amy Luo:

nick chen said:同样配置下主片配置成功是可以正常运行的

这里描述“同样的配置”,包括模拟输入信号范围吗?“输入目前设置到300mV”这里是指差分输入幅值?那正向和反向两输入管脚分别输入电压范围是多少?

,

nick chen:

板子是同样的板子,没有做任何修改,就是程序不一样,程序配置的参数都是一致的,就是旧程序在ADC使能之后没有发松120BIT导致从片配置失败,只有主片在工作,工作时状态寄存器为2230.

,

Amy Luo:

nick chen said:只有主片在工作,工作时状态寄存器为2230.

2230也是有报错的,是STAT_S 寄存器和STAT_P or STAT_N register 都有报错,现在仅是bit4 有报错,通过读取STAT_P or STAT_N register,是04h寄存器有报错。所以需要检查输入信号幅值

,

nick chen:

但是它可以正常工作,为什么级联就不能正常工作

,

Amy Luo:

您的意思是之前虽然有报错,但是有AD转换输出?但是现在没有AD转换输出了?如果是这样的话,那您现在仅测试主片(断开级联)还可以正常输出吗?我这里担心输入端超过阈值可能会造成芯片输入端损坏,所以您再测试下看是否已损坏?

,

nick chen:

两个程序可以切换,不断电情况下,只是拉了复位脚,切换程序后就可以正常采集,一起配置从片后就采集11组数据就全部回复0,而且从片一直回复是0

,

Amy Luo:

我觉着您这里先解决状态寄存器报错问题,再看后续如何。

VNCPEN bit=0的时候,供电和输入信号幅值范围如上截图,您先将输入信号范围保证在规格范围内,看状态寄存器是否还报错?

,

nick chen:

目前报错已经解决,故障依旧,主片输出11次数据后无输出,从片一直没有adc数据输出。

,

Amy Luo:

nick chen said:最后一幅图是DRDY的变化,已经是10.67K的频率,目前读取频率是10K。

图中显示DRDY已经不能正确产生了。

“已经是10.67K的频率,目前读取频率是10K”这样看是读取速率小于 ADC输出速率,那么ADC转换数据肯定没法完全输出。但是看datasheet DRDY会持续产生,不明白为什么DRDY停止了。

您使用的SCLK频率是多少?

如果您设置10.67的转换速率,那么四路*2个ADC同步转换,那么SCLK的速率将是10.67K*(1+4)*2*24bits

,

nick chen:

SCLK是10M,后续DRDY是高,说明在读取旧的数据时,新的数据已经转换好了,因为读取的速率低一点,我看数据手册这样子描述的。但是为什么后续不会变低了,这个问题是目前主要的故障。

,

Amy Luo:

10MHZ的频率是可以的,它大于10.67K*(1+4)*2*24bits =2.56MHZ这个输出速率。

nick chen said:目前读取频率是10K。

您是怎样控制读取速率的?您没有采用DRDY中断读取转换数据吗?您这样采用小于ADC输出速率的速率读取,会丢失数据。

您可以尝试使用大于ADC输出速率的速率读取吗?看输出结果怎样?

如果采用DRDY中断读取AD转换数据,需要在下一个采样点转换完成前当前的采样点要完成读取。否则的话采样数据会丢失。

nick chen said:从片一直没有adc数据输出

从片的输入电压、基准电压正常吗?寄存器配置回读是期望值吗?

DRDY持续高应该是停止ADC转换了,我也很奇怪这个现象,不知道是不是硬件方面的原因,您检查下供电电压、基准电压、输入电压、时钟等硬件方面是否有问题?参数是否有可能超出绝对最大额定值?

DRDY持续高后,SPI 通信还正常吗?发送命令还响应吗?

另外还有一点,就是您是怎样控制读取速率10K的?不知道这里是否存在问题

,

nick chen:

修改频率ADC ,8K,CLK2REG = 24'h4e2500;//fmod=ficlk/2,fdata=fmod/512 //sampling rate=8k/sps。读取频率为10K。故障依旧,10K速率是FPGA产生。

发送命令芯片无响应,如最后一张图,发送了0x2f,芯片无任何回复。

,

Amy Luo:

读取频率为10K具体是什么意思?因为您级联了两片ADC,每片ADC都启动了4路ADC,这8路ADC是同时进行AD转换的,在一个转换周期内会有8个AD采样数据输出,再加上每个ADC的状态字,相当于一个转换周期需要输出10个字。我想确认的是您是否在一个转换周期内将这个10个字完全读取了。或者说您是什么时候去读的AD转换数据结果?怎样判断它已转换完成?

我还想确认一点是在ADC没有数据输出前,ADC输出状态位是不是没有报错?

出现上述异常或没响应之后,重启电源可以复现相同现象?

异常时,上述硬件方面您是否做了检查?

nick chen said:从片一直没有adc数据输出。

从片的输入电压、基准电压正常吗?寄存器配置回读是期望值吗?

,

nick chen:

此图已经发送过,均无报错,写入参数均读回确认,都发了截图,截图看不懂吗?硬件你那边描述可能因为输入问题已经损坏,已经更换新的芯片,修改完输入才上电,现象均一致,麻烦上下文一起看这个故障。

,

Amy Luo:

由于论坛这几天进行维护,对您问题的回复会延迟,对您造成不便很抱歉。

,

Amy Luo:

Amy Luo said:读取频率为10K具体是什么意思?因为您级联了两片ADC,每片ADC都启动了4路ADC,这8路ADC是同时进行AD转换的,在一个转换周期内会有8个AD采样数据输出,再加上每个ADC的状态字,相当于一个转换周期需要输出10个字。我想确认的是您是否在一个转换周期内将这个10个字完全读取了。或者说您是什么时候去读的AD转换数据结果?怎样判断它已转换完成?

您是否可以按照ADC的转换速率去读取?即采用DRDY中断读取AD转换数据,也就是说两片ADC同步转换完成后,您在这一个转换周期内完成所有通道AD转换结果的读取就可以,

赞(0)
未经允许不得转载:TI中文支持网 » ADS131A04: ADS131A04级联后报错2210,ADC无数据输出
分享到: 更多 (0)