Other Parts Discussed in Thread: ADS9327
部件号: ADS9327
接口:FPGA/MCU(通过 SPI 直接访问寄存器、不使用 GUI/EVM 软件)
尊敬的团队:
我们目前正在开发一款采用 ADS9327 ADC 的定制电路板。 虽然数据转换和 SPI 通信在默认条件(4.096V 基准)下运行良好、但在尝试通过软件更改内部基准电压时、我们会遇到一个关键问题。
问题:当我们使用寄存器 14h (INT_REF_MODE[1:0]) 修改内部基准电压时、转换过程似乎冻结或卡住:
-
默认状态 (4.096V):ADC 正常转换、数字输出 (D_0、D_1、D_2、D_3) 根据模拟输入动态更新。
-
切换到 2.5V 或 3.3V:一旦我们写入寄存器 14h 以切换到 2.5V 或 3.3V、通道 D_0 至 D_3 上的数字输出数据就 会停止完全更新。 该电压保持严格钳位/冻结为其在设置为 4.096V 时的最后一个有效转换值。
-
恢复:如果我们写回寄存器 14h 并将基准切换回 4.096V、芯片会立即恢复并再次开始正常转换。 仅当基准电压设置为 2.5V 或 3.3V 时才会出现冻结。
为了隔离问题、我们执行了广泛的测试矩阵、排除了以下几个潜在原因:
-
硬件/控制器独立性:我们使用 FPGA 和微控制器 (MCU) 来驱动 ADC 时观察到这种完全相同的行为。 该问题完全相同、排除了特定于控制器的时序或 SPI 驱动程序错误。
-
SPI 完整性和 VREF 引脚:我们可以成功地写入寄存器 14h 并读回完全相同的值。 此外、我们使用万用表直接在 VREF 和 VREF_CAP 引脚上测量物理电压:电压根据寄存器写入值正确变化(按预期降至 2.5V 或 3.3V)。 这样可确认内部基准缓冲器正在物理响应。
-
CONVST 门控实验:我们在寄存器配置期间尝试了不同的转换时钟方法:
-
读取和写入寄存器时保持 CONVST 主动运行/切换。
-
在整个 SPI 寄存器写入/读取序列期间选通/保持 CONVST 低电平 (0V)、仅在返回到数据转换模式时重新启动。
-
结果: 两种方法都不改变行为;输出仍在 2.5V 和 3.3V 上冻结。
-
-
寄存器配置和模式:我们进行了实验、通过更改其他几种配置来查看它们是否解除阻止 SAR 内核、包括:
-
在默认模式和低延迟模式之间切换。
-
启用和禁用片上均值计算功能。
-
反相转换沿(CONVST_INVERT 在上升沿与下降沿)。
-
结果: 这些设置均不能解决 2.5V/3.3V 模式下的冻结问题。
-
-
模拟输入:在所有测试期间、模拟输入信号都完全保持在预期电压范围内、以防止任何电过应力或硬件削波。
似乎当寄存器 14h 成功地将内部基准缓冲区输出更改为外部引脚时、内部转换内核会停止转换或无法锁存新的基准状态、除非设置为 4.096V。
如果您对如何解决此问题有任何建议、我们非常感谢您的意见。
此致、
Andrea