从工作模式和时钟的角度来看,有许多 ADC 用例,但其中大多数适合以下项目之一:
- 在 RUN 或 SLEEP 模式下触发
- 如果触发 ADC 以启动转换(软件或事件),并且器件处于 RUN0/RUN1/SLEEP0/SLEEP1 模式(SYSOSC 已在任何频率下运行),则:
- 在此模式下,采样时钟可以是 ULPCLK、HFCLK 或 SYSOSC
- 转换过程在不改变 SYSOSC 频率的情况下运行
- 允许使用 4MHz、16MHz、24MHz 或 32MHz SYSOSC 频率
- 如果触发 ADC 以启动转换(软件或事件),并且器件处于 RUN2 或 SLEEP2 模式(SYSOSC 被禁用,MCLK = LFCLK = 32kHz),则:
- 在此模式下,采样时钟可以是 ULPCLK 或 SYSOSC
- SYSCTL 将 ADC CLK REQ 解读为异步快速时钟请求,在 32MHz 时启用 SYSOSC,并强制 MCLK 或 ULPCLK 为 32MHz,直到 ADC 使该请求无效
- 在此用例中 CCONRUN 必须清零
- 在此用例中 CCONSTOP 必须清零
- 在 STOP 模式下触发
- 在此模式下,采样时钟可以是 ULPCLK 或 SYSOSC
- 如果触发 ADC 以启动转换(事件),并且器件处于 STOP0 模式(SYSOSC 以任意频率运行,ULPCLK = 4MHz),则:
- 转换过程在不改变 SYSOSC 频率的情况下运行
- 允许使用 4MHz、16MHz、24MHz 或 32MHz SYSOSC 频率
- 如果触发 ADC 以启动转换(事件),并且器件处于 STOP1 模式(SYSOSC 转换为 4MHz),则:
- 当接收到 ADC CLK REQ 时,SYSCTL 强制 SYSOSC 为 BASE(与 RUN 模式一致,因为设置了 USE4MHZSTOP),而 SYSCTL 会在 ADC CLK REQ 被移除后将 SYSOSC 释放回 4MHz
- CCONRUN 必须清零
- CCONSTOP 必须清零
- 如果触发 ADC 以启动转换(事件),并且器件处于 STOP2 模式(SYSOSC 禁用),则:
- 触发事件以 32kHz 的频率通过事件结构传播,ADC 接收触发并使 ADC CLK REQ (CPCLK REQ) 对 SYSCTL 有效,SYSCTL 接收 ADC CLK REQ 作为异步快速时钟请求,暂停 STOP 模式,以 32MHz 的频率启用 SYSOSC,并强制 MCLK 或 ULPCLK 为 32MHz,直到 ADC 使 ADC CLK REQ 无效
- CCONRUN 必须清零
- CCONSTOP 必须清零
- 在 STANDBY 模式下触发
- 在此模式下,采样时钟可以是 ULPCLK 或 SYSOSC
- 如果触发 ADC 以启动转换(事件),并且器件处于 STANDBY0 模式(SYSOSC 被禁用但 ULPCLK 正在运行),则:
- 触发事件以 32kHz 的频率通过事件结构传播,ADC 会接收触发信号并使 ADC CLK REQ (CPCLK REQ) 对 SYSCTL 有效,SYSCTL 将 ADC CLK REQ 解读为异步快速时钟请求,暂停 STANDBY 模式,以 32MHz 的频率启用 SYSOSC,并强制 MCLK/ULPCLK 为 32MHz,直到 ADC 使 ADC CLK REQ 无效
- CCONRUN 必须清零
- CCONSTOP 必须清零
- 如果触发 ADC 以启动转换(TIMG0 或 TIMG1 事件),并且器件处于 STANDBY1(在 STOPCLKSTBY 置位的情况下选通 ULPCLK),则:
- TIMG0 或 TIMG1 事件会触发异步快速时钟请求以暂停 STANDBY 模式,以 32MHz 的频率启动 SYSOSC,并强制 MCLK 或 ULPCLK 为 32MHz;然后,TIMG0 或 TIMG1 事件有 32 个 SYSOSC 周期来继续完成整个事件结构,而 ADC 也可以捕获计时器事件并使 ADC CLK REQ 有效来保持 SYSOSC 启用以运行转换
- 当 ADC 使 ADC CLK REQ 无效时,ULPCLK 将运行 32 个额外周期使任何 ADC 事件(DMA 请求或 IRQ)传播,之后 SYSCTL 将通过 STOPCLKSTBY (STANDBY1) 恢复 STANDBY 模式
- CCONRUN 必须清零
- CCONSTOP 必须清零