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.

[参考译文] AM263P4-Q1:有关 ADC_REFBUF0_CTRL 寄存器的查询用于启用 ADC 基准缓冲器 0。

Guru**** 3001220 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1654701/am263p4-q1-query-regarding-the-adc_refbuf0_ctrl-register-is-used-to-enable-adc-reference-buffer-0

器件型号: AM263P4-Q1

尊敬的团队:

我正在研究 AM263P4-CC 板上的 ADC 外设。 对于 ADC 转换、我遵循以下顺序:

  1. 启用 ADC 时钟

  2. 启用 ADC 基准

  3. 配置 ADC 输入范围

  4. 为 ADC 内核上电

  5. 初始化 ADC 配置

  6. 配置 ADC 中断

  7. 定期扫描固定 ADC 通道

但是、在裸机代码中从头开始实现时钟配置时、在为 ADC0 实例启用 ADC 基准缓冲器时、我遇到了问题。

根据 TRM、我已经按照建议的顺序配置内核 PLL、外设 PLL、SYSCLK 和 R5SS PLL 时钟。 尽管如此、我无法通过设置 ADC_REFBUF0_CTRL ADC0 实例的寄存器来启用 ADC 基准缓冲区 0。

在访问该寄存器之前、您能否帮助确定是否需要任何额外的时钟、电源、复位或解锁相关性?

谢谢、
Shilpa.

 
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好、Shilpa、

    对于这个问题、我首先检查 Control MMR 访问序列。 ADC 基准使能不仅是 ADC 包装器配置、 ADC 基准控制是通过 CONTROLSS Control MMR 路径完成的、因此如果要从头开始实现时钟/启动代码、请确保在写入 ADC 基准缓冲区/控制寄存器之前解锁 CONTROLSS Control MMR 分区。 SDK 使用控制 MMR 解锁机制、例如与 SOC_controlModuleUnlockMMR (SOC_DOMAIN_ID_MAIN、CONTROLSS_CTRL_PARTITITION0) 配合使用。 此外、确认写入将转到 ADC 基准控制的 CONTROLSS/控制 MMR 地址、而不是来自 ADC0_BASE 的偏移量。 ADC 基准缓冲寄存器是 SOC/控制配置路径的一部分、而不是正常的 ADC0 包装程序寄存器空间。

    作为调试步骤、我建议将裸机序列与 SDK 生成的初始化进行比较、或者临时调用 SDK SOC 级 API(例如 SOC_enableAdcReference (0)/SOC_enableAdcInternalReference (0、true))、以确定问题是否是由 MMR 解锁/寻址与 ADC0 时钟/复位配置所致。
    因此要检查的主要依赖项是:ADC0 时钟取消门控、CONTROLSS 控制 MMR 解锁、正确的基准控制寄存器地址、ADC 复位/上电序列以及电路板上的物理基准源配置。

    此致、

    Masoud