This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
我们正在使用 ADS1131设计体重秤 AD 转换。
有一个糟糕的特性、电路会不时为 SPI 总线提供极高的单个读数。
稳定读数可能会工作几分钟、但故障可能会在几秒钟内发生两次或更多。
由于不稳定更加明显,因此平均计算不起作用。
我们使用了干扰滤波器来进行非常高的转换、
但规模不会立即对重量的变化作出反应。
客户不接受我们的反应延迟,我们没有一个好的解决方案。
我们的速度为80SPS、PDWN 始终开启且未使用桥接开关。
SPI 时钟周期为32us。 时钟在检测就绪后150us 开始、MCU 为 cortex M3。
这些示波器图片只是正常的、只有几个最后的位变化了正常水平。
我还没有成功地将真正的错误纳入范围。
巴西(BR):
Timo Toivola
您好、Timo、
我看不到您的原理图或时序有任何问题。 了解输出代码的正常值和被视为"非常高"的输出代码将非常有帮助。 此代码是否会被视为超出刻度范围?
可能导致结果出现尖峰的问题是来自 EMI/RFI 噪声源、在转换结果更新期间读取数据结果、或未正确对二进制补码转换结果进行符号扩展。
如果转换结果的 MSB 为逻辑高电平、则结果为负、看起来非常大的输出代码实际上可能非常小。
您似乎仅传输18个 SCLK、因此在每次转换后不会将 DRDY/DOUT 强制为高电平。 您是否使用中断方法来检查 DRDY/DOUT 上从高电平到低电平的边沿转换? 还是使用轮询方法? 使用轮询方法而不强制 DRDY/DOUT 为高电平有时会导致在错误的时间读取转换结果、从而导致数据损坏。
如果尖峰是由外部噪声源引起的、则必须防止噪声进入系统。 这可能需要在进入 PCB 时正确端接的屏蔽电缆以及模拟输入信号路径中的一些附加滤波组件。
此致、
Bob B
您好 Bob
错误 trig 似乎就是这种情况、最后我在示波器上看到错误、如下图所示。
在最后一个数据位之后的某个操作会触发 MCU 并开始新的时钟周期。
这将导致所有数据位都为高电平、而这种数据将使平均操作变得混乱。
我们的方法是在 MCU 上使用自己的输入引脚进行 DRDY 中断。
我们认为、由于芯片在 DRDY 之前始终将数据置为高电平、因此终端情况可以根据最后一个位为高电平或低电平。
我们在数据之后添加了额外的时钟、并使数据线始终处于高位、但我们仍然会得到一段时间的虚假中断。
似乎我们需要在每次触发 MCU 时再次检查中断输入、并忽略错误情况。
现在、当数据线路处于高电平且只有静态低电平状态为实数 DRDY 时、应该可以实现这一点。
BR:T.Toivola
您好、Timo、
不幸的是、您的图片没有显示。 必须使用“插入媒体 ”图标插入图片。 如果您要挑选杂散触发器、那么我还建议您监控 DRDY/DOUT、以确保它确实处于低电平、然后再继续读取转换数据。
此致、
Bob B