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

ADS8332不能启动转换

我才用了ADS8332,可是测试发现AD转换根本就不能启动,示波器检测不到EOC出现低电平(输入信号不同的通道输出结果都是一样的)。但是读写配置寄存器正确,可以读出配置寄存器的值,跟我写的完全一样!我的配置寄存器(CFR)值为:0111 1111 1101(手动选择通道,手动触发,去掉一切休眠模式和TAG位)。
我用的是:/CS> LOW—> 写通道—>/CS>HIGTH —> CONVST >LOW > HI —> 等EOC > LOW >HI  —> /CS> LOW —>读转换结果—>/CS>HIGTH —>下一个通道….. 。可以确定启动信号(convst)也是符合技术手册要求!
忘高手指教啊!

Decapton Wang:

你看一下图45,不知道你的模式是read while converting还是read while sampling,不过两种模式里~CS都要给够时间,会不会是你的~CS给的时间太短了?

qingfeng guo:

回复 Decapton Wang:

我用的是read while sampling,每次转换结束后读取当次转换的结果!我之前也以为是延时的问题,可是调大了之后(都是微秒级别的)还是不行啊!是不是通道没有选择成功的话就不能启动转换呢?虽然前面的配置寄存器有正确的写入,但是我不确定通道选择有没有成功,不过写通道用的函数与写配置寄存器是一样的。

qingfeng guo:

回复 Decapton Wang:

我用的是read while sampling,每次转换结束后读取当次转换的结果!我之前也以为是延时的问题,可是调大了之后(都是微秒级别的)还是不行啊!是不是通道没有选择成功的话就不能启动转换呢?虽然前面的配置寄存器有正确的写入,但是我不确定通道选择有没有成功,不过写通道用的函数与写配置寄存器是一样的。

qingfeng guo:

回复 Decapton Wang:

我用的是read while sampling,每次转换结束后读取当次转换的结果!我之前也以为是延时的问题,可是调大了之后(都是微秒级别的)还是不行啊!是不是通道没有选择成功的话就不能启动转换呢?虽然前面的配置寄存器有正确的写入,但是我不确定通道选择有没有成功,不过写通道用的函数与写配置寄存器是一样的。

Johnsin Tao:

回复 qingfeng guo:

供电/Ref电压是正常的,确认一下RESET是否是接的高电平?

qingfeng guo:

回复 Johnsin Tao:

VBD=3.3V, VA=4.9V, RESET一直保持为高电平的!而且写配置寄存器和读配置寄存器操作都是正常的,还是不能启动转换啊!

Dale Li:

回复 qingfeng guo:

RESET在上电时,给个复位信号给ADC;CONVST要给个High-Low-Hign的低脉冲(最小40ns),不要给Low-High信号出来。请试下。

qingfeng guo:

回复 Dale Li:

谢谢各位,我的问题解决了!原来是电路的问题,我的CONVST引脚与ARM控制脚是连在一起的,这点之前在断电情况下都确认了好多遍了。可是不知道为什么启动信号就是过不去?我直接飞了根线就好了。

谁可以帮我解释一下信号过不去的理由啊?我的这条连线在同一层,不过有两个比较小拐角!

Decapton Wang:

回复 qingfeng guo:

会不会是走线太长,以至于线上电阻过大了?做一个很粗略的估计,从ARM到ADC的通信可以看成是一个线电阻R和输入端电容C组成的低通滤波器。如果线电阻太大,RC时间常数就比较大,你发过去一个1-0-1,如果0的时间比较短,实际在接收端看到的是1-x-1,就是说,接收端并没有接收到一个有效的启动信号。你可以试试看把CONVST为0的时间加长一点,看看能不能看到EOC跳变。

qingfeng guo:

回复 Decapton Wang:

嗯,谢谢!我之前也是把那个启动信号时间做了延长处理的,不过还是反应,可能是我延长得还是不够,等后面再试试看,

估计也只能这么解释了。其实想想线也不算长,加起来应该不过30mm长,用的10mil!

赞(0)
未经允许不得转载:TI中文支持网 » ADS8332不能启动转换
分享到: 更多 (0)