完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
之前的一个问题描述有点错误,重新描述一下问题。
我现在使用的是连续转换模式,使能了双差分通道,DATA_STA为1。每次我先读取DOUT/nRDY是否为低电平,然后就读取数据寄存器,这时我发现有时候数据寄存器的nRDY位为1,这次的数据到底有效还是没效?这种现象是正常现象吗? 还有个问题就是我发现有的时候两次读取的数据都是同一个通道的,会漏掉某个通道的一次转换数据,概率大概为0.3%.这种现象又是什么导致的? |
|
相关推荐
5个回答
|
|
|
|
|
|
芯片ODR双通道下为100Hz。上位机使用的HAL库的HAL_SPI_Transmit和HAL_SPI_Receive,先发送读数据寄存器,再阻塞式等待结果,没有使用中断 |
|
|
|
msvsudsdf 发表于 2018-7-27 10:05 很有可能是因为数据读取不及时(太频繁),导致数据寄存器被新的转换结果覆盖(新的结果仍然未完成),检查一下系统的查询周期。 在获取到转换完成的信号后,再发送指令 读取数据寄存器。 ADC始终是从机,不会主动发SPI时钟。 |
|
|
|
深圳王先生 发表于 2018-7-27 10:10 这个很没有道理,我每次都先查询DOUT/nRDY是否为低电平,然后就直接读取数据寄存器。很奇怪的是只会出现在32bit的数据寄存器的8位状态寄存器的nRDY位上。我一开始怀疑是不是SPI通信有干扰和噪声,所以我对每次数据的状态寄存器的每一位都进行有效性验证,还开了奇偶校验,最后结果是只有这个nRDY位会出现异常的‘1’,奇偶校验位和其它0位都是正常的。 所以应该不是通信问题。是否推荐在DOUT/nRDY为低电平后等待一段时间再进行数据寄存器读取操作? |
|
|
|
msvsudsdf 发表于 2018-7-27 10:18 Dout引脚变为低电平后,可以立即读取数据寄存器的值 |
|
|
|
只有小组成员才能发言,加入小组>>
给ADUM4223 增加信号驱动15V电压就不正常, 波动很大会被烧是什么情况?
1296 浏览 2 评论
ADP5092 SYS端口为2.09V,但是REG_OUT为0是什么原因?
1896 浏览 1 评论
ad7193差分输入ain1与ain2差是正值时,读到电压与实际值误差小,但为负值值,误差就变的很大
4237 浏览 2 评论
8994 浏览 1 评论
3138 浏览 1 评论
ADC3442采集,分析数据出现有规则毛刺,请问是哪方面的问题啊?
1420浏览 3评论
AD7190状态寄存器一直是0x80,连续转换模式下RDY不拉低
1645浏览 2评论
1615浏览 2评论
给ADUM4223 增加信号驱动15V电压就不正常, 波动很大会被烧是什么情况?
1298浏览 2评论
213浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-24 08:01 , Processed in 0.820847 second(s), Total 89, Slave 72 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号