打印

AD7705工作一段时间数据就读0XFFFF

[复制链接]
5004|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
liuf|  楼主 | 2011-6-26 08:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
zjp8683463| | 2011-6-26 09:33 | 只看该作者
mCU在读取符号位的时候不对吧.

使用特权

评论回复
板凳
liuf|  楼主 | 2011-6-26 09:37 | 只看该作者
没有符号位,读的数就是0-65535。开始还是对的,过一段时间就0XFFFF了,应该是接口迷失,但RESET脚复位后还是0XFFFF,必须断电才正常。3V电压对5V的电平来说应该是高了吧,复位了,AD寄存器都复位了,按说该能正常了啊

使用特权

评论回复
地板
zjp8683463| | 2011-6-26 11:55 | 只看该作者
你MCU的没有复位,问题出在MCU这里,是不是总线配置或时序有问题.

使用特权

评论回复
5
zch_genius| | 2011-6-26 12:17 | 只看该作者
用示波器查查看,没这条件可以拿个镊子强拉复位。

有问题先定位准再问,别光想着求助,关键时候还得靠自己啊

使用特权

评论回复
6
liuf|  楼主 | 2011-6-26 12:42 | 只看该作者
我只有个万用表,MCU运行正常的,我是上位机通讯观察的数据(跟单步调试看到的AD数据一样),单步调MCU给AD的复位信号是有的。

使用特权

评论回复
7
dqyubsh| | 2011-6-26 13:29 | 只看该作者
复位7705要时间的,看看手册,不能小于那个时间。

使用特权

评论回复
8
liuf|  楼主 | 2011-6-26 13:51 | 只看该作者
复位保持时间还真没找到,4M的时钟,给10us复位应该足够了,我再加大。

使用特权

评论回复
9
baiyunfei.k.f| | 2011-6-26 21:11 | 只看该作者
AD7705的接口迷失的处理
The serial interface can be reset by exercising the RESET input
on the part. It can also be reset by writing a series of 1s on the
DIN input. If a Logic 1 is written to the AD7705/AD7706 DIN
line for at least 32 serial clock cycles the serial interface is reset.
This ensures that in three-wire systems, if the interface gets lost
either via a software error or by some glitch in the system, it can
be reset back to a known state. This state returns the interface
to where the AD7705/AD7706 is expecting a write operation to
its Communications Register. This operation in itself does not
reset the contents of any registers but since the interface was
lost, the information written to any of the registers is unknown
and it is advisable to set up all registers again.

使用特权

评论回复
10
liuf|  楼主 | 2011-6-26 22:52 | 只看该作者
PGA=7时保持65535,PGA=0时大概在40000左右(应该是32768),估计是校准寄存器的值乱了。RESET脚复位,不行;>32个DIN高电平复位然后写CLOCK REGISTER、SETUP REGISTER(自校准),也不行。

使用特权

评论回复
11
wrh105105| | 2011-6-27 09:16 | 只看该作者
校准不对,值就不对,另外配置完后读出的第一个值是错的,我也不知道原因。

使用特权

评论回复
12
liuf|  楼主 | 2011-6-27 09:22 | 只看该作者
关键是出错后RESET脚复位,接口迷失复位重写CLOCK REGISTER、SETUP REGISTER(自校准),都不能解决问题。

使用特权

评论回复
13
liuf|  楼主 | 2011-6-27 23:24 | 只看该作者
复位后读取OFFSET 和 FULL 寄存器观察是上电默认的值,但读到的AD值还是保持错误。很郁闷啊,必须重新上电才能正常。

使用特权

评论回复
14
zhangkai0215| | 2013-4-3 15:27 | 只看该作者
我也遇到过输出一直是0xffff和0的情况,我解决的步骤是每次读数据都进行adc复位,也进行clock register 和setup register重新设置!

使用特权

评论回复
15
G_QQQQQQQQ| | 2017-1-9 10:10 | 只看该作者
zhangkai0215 发表于 2013-4-3 15:27
我也遇到过输出一直是0xffff和0的情况,我解决的步骤是每次读数据都进行adc复位,也进行clock register 和s ...

你好,我现在也遇到这种问题了,能告诉我具体怎么做吗

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

25

主题

106

帖子

1

粉丝