找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1837|回復(fù): 12
打印 上一主題 下一主題
收起左側(cè)

AD1256讀數(shù)跳變問題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:1108750 發(fā)表于 2024-6-5 00:04 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
請教各位大佬,用AD1256讀數(shù)再用SPI與單片機(jī)通信,讀到的值要么是最大值(0XFFFFFFD8這種),要么是最小值(0X00000006這種),想請教是什么原因?是算法問題嗎?不知道為什么會有8位16進(jìn)制數(shù),是不是讀到地址了。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:879809 發(fā)表于 2024-6-5 22:50 | 只看該作者
1)ADS1256是24位ADC,你給出的32位數(shù)據(jù)如果是準(zhǔn)確結(jié)果,必然有8位是無意義的,猜測多出來的8位是因?yàn)閏語言沒有24位數(shù)據(jù)類型,用了32位的。

2)你對二進(jìn)制補(bǔ)碼數(shù)據(jù)的含義完全不理解,最大值是0x7fffff,最小值是0x800000,你給出的數(shù)據(jù)如果去掉最后8位無意義數(shù)據(jù),那么就是0x000000和0xffffff之間波動(dòng),非常理想的0的狀態(tài),24位精度完全達(dá)到了。
回復(fù)

使用道具 舉報(bào)

板凳
ID:1108750 發(fā)表于 2024-6-6 21:38 | 只看該作者
rundstedt 發(fā)表于 2024-6-5 22:50
1)ADS1256是24位ADC,你給出的32位數(shù)據(jù)如果是準(zhǔn)確結(jié)果,必然有8位是無意義的,猜測多出來的8位是因?yàn)閏語言 ...

大佬,那為什么會有這種波動(dòng)呢?通道輸入的是特定的直流電壓,不應(yīng)該在這個(gè)電壓值附近波動(dòng)嗎?
回復(fù)

使用道具 舉報(bào)

地板
ID:879809 發(fā)表于 2024-6-7 06:55 | 只看該作者
0x000000和0xffffff只相差Vref*(1/2^24),你就不能親自算算這個(gè)電壓有多高?
回復(fù)

使用道具 舉報(bào)

5#
ID:879348 發(fā)表于 2024-6-7 08:37 | 只看該作者
可能是有符號數(shù)吧,在負(fù)數(shù)和正數(shù)之間波動(dòng),你看起來波動(dòng)大,實(shí)際就是幾點(diǎn)的漂移
回復(fù)

使用道具 舉報(bào)

6#
ID:23640 發(fā)表于 2024-6-7 08:49 | 只看該作者
最大值應(yīng)該是個(gè)負(fù)數(shù),應(yīng)該把最大值取反減1
回復(fù)

使用道具 舉報(bào)

7#
ID:879809 發(fā)表于 2024-6-9 15:31 | 只看該作者
yaosongjin 發(fā)表于 2024-6-7 08:49
最大值應(yīng)該是個(gè)負(fù)數(shù),應(yīng)該把最大值取反減1

請親自查下ADS1256的datasheet,不能信口開河。
回復(fù)

使用道具 舉報(bào)

8#
ID:1110945 發(fā)表于 2024-6-12 08:12 | 只看該作者
我估計(jì)0X00000006是很小的大于0的數(shù),0XFFFFFFD8是接近于0的負(fù)數(shù),這些數(shù)都在0附近。
回復(fù)

使用道具 舉報(bào)

9#
ID:879809 發(fā)表于 2024-6-15 20:46 | 只看該作者
明日之星8 發(fā)表于 2024-6-12 08:12
我估計(jì)0X00000006是很小的大于0的數(shù),0XFFFFFFD8是接近于0的負(fù)數(shù),這些數(shù)都在0附近。

你說的非常對,樓主的問題應(yīng)該是不知道如何把24位數(shù)據(jù)轉(zhuǎn)換到編譯器的有符號變量上面。
回復(fù)

使用道具 舉報(bào)

10#
ID:1108750 發(fā)表于 2024-6-19 15:35 | 只看該作者
rundstedt 發(fā)表于 2024-6-15 20:46
你說的非常對,樓主的問題應(yīng)該是不知道如何把24位數(shù)據(jù)轉(zhuǎn)換到編譯器的有符號變量上面。

是的,所以想請問一下大佬怎么處理呢?
回復(fù)

使用道具 舉報(bào)

11#
ID:1108750 發(fā)表于 2024-6-19 15:36 | 只看該作者
wufa1986 發(fā)表于 2024-6-7 08:37
可能是有符號數(shù)吧,在負(fù)數(shù)和正數(shù)之間波動(dòng),你看起來波動(dòng)大,實(shí)際就是幾點(diǎn)的漂移

但是我測量了輸入口的電壓為1.5V左右,怎么樣也不應(yīng)該在0附近波動(dòng)吧。
回復(fù)

使用道具 舉報(bào)

12#
ID:1108750 發(fā)表于 2024-6-19 15:37 | 只看該作者
明日之星8 發(fā)表于 2024-6-12 08:12
我估計(jì)0X00000006是很小的大于0的數(shù),0XFFFFFFD8是接近于0的負(fù)數(shù),這些數(shù)都在0附近。

大佬,但是我測量輸入口的電壓為1.5V左右,為什么讀數(shù)會在0附近波動(dòng)呢?
回復(fù)

使用道具 舉報(bào)

13#
ID:469589 發(fā)表于 2024-6-19 20:27 | 只看該作者
我也糾結(jié)過這個(gè)問題,最后發(fā)現(xiàn)是不清楚:補(bǔ)碼的“滿碼”是多少,所以才會發(fā)現(xiàn)“混亂”。
滿碼對了,補(bǔ)碼當(dāng)然就對了!因?yàn)槲耶?dāng)時(shí)處理的24位“零”在中間,并不在最大或最小,所以”很亂“。
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表