找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1981|回复: 12
打印 上一主题 下一主题
收起左侧

AD1256读数跳变问题

[复制链接]
跳转到指定楼层
楼主
ID:1108750 发表于 2024-6-5 00:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请教各位大佬,用AD1256读数再用SPI与单片机通信,读到的值要么是最大值(0XFFFFFFD8这种),要么是最小值(0X00000006这种),想请教是什么原因?是算法问题吗?不知道为什么会有8位16进制数,是不是读到地址了。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:879809 发表于 2024-6-5 22:50 | 只看该作者
1)ADS1256是24位ADC,你给出的32位数据如果是准确结果,必然有8位是无意义的,猜测多出来的8位是因为c语言没有24位数据类型,用了32位的。

2)你对二进制补码数据的含义完全不理解,最大值是0x7fffff,最小值是0x800000,你给出的数据如果去掉最后8位无意义数据,那么就是0x000000和0xffffff之间波动,非常理想的0的状态,24位精度完全达到了。
回复

使用道具 举报

板凳
ID:1108750 发表于 2024-6-6 21:38 | 只看该作者
rundstedt 发表于 2024-6-5 22:50
1)ADS1256是24位ADC,你给出的32位数据如果是准确结果,必然有8位是无意义的,猜测多出来的8位是因为c语言 ...

大佬,那为什么会有这种波动呢?通道输入的是特定的直流电压,不应该在这个电压值附近波动吗?
回复

使用道具 举报

地板
ID:879809 发表于 2024-6-7 06:55 | 只看该作者
0x000000和0xffffff只相差Vref*(1/2^24),你就不能亲自算算这个电压有多高?
回复

使用道具 举报

5#
ID:879348 发表于 2024-6-7 08:37 | 只看该作者
可能是有符号数吧,在负数和正数之间波动,你看起来波动大,实际就是几点的漂移
回复

使用道具 举报

6#
ID:23640 发表于 2024-6-7 08:49 | 只看该作者
最大值应该是个负数,应该把最大值取反减1
回复

使用道具 举报

7#
ID:879809 发表于 2024-6-9 15:31 | 只看该作者
yaosongjin 发表于 2024-6-7 08:49
最大值应该是个负数,应该把最大值取反减1

请亲自查下ADS1256的datasheet,不能信口开河。
回复

使用道具 举报

8#
ID:1110945 发表于 2024-6-12 08:12 | 只看该作者
我估计0X00000006是很小的大于0的数,0XFFFFFFD8是接近于0的负数,这些数都在0附近。
回复

使用道具 举报

9#
ID:879809 发表于 2024-6-15 20:46 | 只看该作者
明日之星8 发表于 2024-6-12 08:12
我估计0X00000006是很小的大于0的数,0XFFFFFFD8是接近于0的负数,这些数都在0附近。

你说的非常对,楼主的问题应该是不知道如何把24位数据转换到编译器的有符号变量上面。
回复

使用道具 举报

10#
ID:1108750 发表于 2024-6-19 15:35 | 只看该作者
rundstedt 发表于 2024-6-15 20:46
你说的非常对,楼主的问题应该是不知道如何把24位数据转换到编译器的有符号变量上面。

是的,所以想请问一下大佬怎么处理呢?
回复

使用道具 举报

11#
ID:1108750 发表于 2024-6-19 15:36 | 只看该作者
wufa1986 发表于 2024-6-7 08:37
可能是有符号数吧,在负数和正数之间波动,你看起来波动大,实际就是几点的漂移

但是我测量了输入口的电压为1.5V左右,怎么样也不应该在0附近波动吧。
回复

使用道具 举报

12#
ID:1108750 发表于 2024-6-19 15:37 | 只看该作者
明日之星8 发表于 2024-6-12 08:12
我估计0X00000006是很小的大于0的数,0XFFFFFFD8是接近于0的负数,这些数都在0附近。

大佬,但是我测量输入口的电压为1.5V左右,为什么读数会在0附近波动呢?
回复

使用道具 举报

13#
ID:469589 发表于 2024-6-19 20:27 | 只看该作者
我也纠结过这个问题,最后发现是不清楚:补码的“满码”是多少,所以才会发现“混乱”。
满码对了,补码当然就对了!因为我当时处理的24位“零”在中间,并不在最大或最小,所以”很乱“。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表