您好!
我尝试设置 ADS8354的内部基准电压、但 IC 出现意外行为。
请提供任何帮助。
我尝试了以下内容:
设置:
-我使用的是48个下降沿时钟/3MHz 的 S32K 微控制器。
-数据在时钟的上升沿发生变化并在微端的下降沿捕获时、SPI 极性和相位会被设置
- AVDD (=5V)和 DVDD (=3.3V)的独立电源,微电源(3.3V)。 我尝试向整个系统提供相同的3.3V 电源、但没有区别。
1) 1)我将以下数据以相同的顺序写入寄存器、以配置和设置基准电压:
a)带有0x8640 0000 0000的 CFR =>使用单个 SDO、FSR=+-2*Vref 并启用内部基准
b) REFDAC_A、0x9FF8 0000 0000 =>设置为2.5V
c) REFDAC_B、0xAFF8 0000 0000 =>设置为2.5V
这会将 REFIO_B 引脚设置为2.5V、但 REFIO_A 仅为1V。 如果我将 REFDAC_x 寄存器中 A 的值更改为0x9348、B 的值更改为0xA348、那么只有 REFIO_B 更改为2.0V、但 REFIO_A 在1V 时相同。
这种行为是否有任何可能的解释、或者我是否遗漏了什么?
2) 2)当我先打开 AVDD、然后再打开 DVDD 时、REFIO_B 为2.5V、REFIO_A 为1V。
但是、如果我首先打开 DVDD、然后 AVDD REFIO_B 为~0.7、REFIO_A 为~0.3。 如果我重新刷写程序、此条件将更改为以前的2.5V 和1V 值。
这是我注意到的另一个奇怪行为。
3) 3)为了验证寄存器是否被正确写入、我尝试读取这些寄存器 CFR 和 REFDAC、这些位显然被左移1。
例如、对于 REFDAC_B、我将获得0101 (0xFF0)、而不是 MSB 中的0010 (0xFF8);对于 REFDAC_A、我将获得0011 (0xFF0)、而不是0001 (0xFF8)。
编辑:位正确、我读错了、我将 SCLK 第一个下降沿之后的位视为第一个 MSB。
我在读取 CFR 寄存器时遇到了另一个问题-数据是正确的、但数据位之前的四个位是0000b、而不是0011b。
REFDAC_x 寄存器的前四位和数据正确。 但 REFIO_A 仍固定在1.0V。 请就这种行为提出一些解释。
为了最大限度地减少电路板故障的可能性、我在多个电路板中执行了这些过程、但响应是相同的。
提前感谢。