学做网站 为了熊掌号,wordpress第一次进来要几秒钟,kindeditor代码高亮 wordpress,注册公司网站模板目录
概述
1 外部触发转换和触发极性
1.1 外部触发条件
1.2 忽略硬件触发条件
1.3 触发框图
1.4 常规通道的外部触发
1.5 注入通道的外部触发
2 注入通道管理
2.1 触发注入模式
2.2 自动注入模式
2.3 注入转换延迟 概述
本文主要介绍STM32H750外设ADC之外部触发和注…目录
概述
1 外部触发转换和触发极性
1.1 外部触发条件
1.2 忽略硬件触发条件
1.3 触发框图
1.4 常规通道的外部触发
1.5 注入通道的外部触发
2 注入通道管理
2.1 触发注入模式
2.2 自动注入模式
2.3 注入转换延迟 概述
本文主要介绍STM32H750外设ADC之外部触发和注入管理的相关内容。ADC模块可通过外部触发转换它的触发极性 EXTSEL、 EXTEN、 JEXTSEL、 JEXTEN可以通过相关的寄存器来设置参数。
1 外部触发转换和触发极性
1.1 外部触发条件
可通过软件或外部事件例如定时器捕获、输入引脚触发转换或转换序列。触发外部事件能够以所选极性转换条件
1EXTEN[1:0] 不等于“0b00 位 11:10 EXTEN[1:0]常规通道的外部触发使能和极性选择 (External trigger enable and polarity selection forregular channels) 通过软件将这些位置 1 和清零可选择外部触发极性和使能常规组的触发。 00禁止硬件触发检测可通过软件启动转换 01在上升沿执行硬件触发检测 10在下降沿执行硬件触发检测 11在上升沿和下降沿都执行硬件触发检测 注 仅当 ADSTART0 时这可确保当前未进行任何常规转换才允许通过软件对这些位执行写操作 2JEXTEN[1:0] 不等于“0b00 位 8:7 JEXTEN[1:0]注入通道的外部触发使能和极性选择 (External Trigger Enable and Polarity Selection for injected channels) 通过软件将这些位置 1 和清零可选择外部触发极性和使能注入组的触发。 00如果 JQDIS0队列使能同时禁止硬件和软件触发检测 00如果 JQDIS1队列禁止禁止硬件触发检测可通过软件启动转换 01在上升沿执行硬件触发检测 10在下降沿执行硬件触发检测 11在上升沿和下降沿都执行硬件触发检测 注 ADC 使能后 (ADEN1)允许随时通过软件写入这些位。如果 JQM1 且上下文队列为空则会在内部禁止注入序列的软件和硬件触发 3 EXTEN[1:0] 和 JEXTEN[1:0] 值与触发极性之间的对应关系。 1.2 忽略硬件触发条件
在转换进行时发生的硬件触发会被忽略。 1 如果位 ADSTART0则会忽略发生的任何常规硬件触发。 位 2 ADSTART ADC 开始常规转换 (ADC start of regular conversion) 此位由软件置 1用于开始 ADC 的常规通道转换。根据配置位 EXTEN 的值可以立即开始转换软件触发配置也可以在发生常规硬件触发事件后开始转换硬件触发配置。 该位通过硬件清零– 在单次转换模式下CONT0、 DISCEN0如果选择了软件触发 (EXTEN0x0)出现常规转换序列结束 (EOS) 标志时清零。 – 在不连续转换模式下CONT0、 DISCEN1如果选择了软件触发 (EXTEN0x0)出现转换结束(EOC) 标志时清零。 – 在所有其他情况下执行完 ADSTP 命令后由硬件将 ADSTP 位清零的同时清零。 0当前未进行 ADC 常规转换。 1写入 1 可开始常规转换。读取值为 1 表示 ADC 正在运行最终会转换常规通道。 注 仅当 ADEN1 且 ADDIS0 时ADC 已使能并且没有任何待处理的禁止 ADC 的请求才允许通过软件将 ADSTART 置 1。在自动注入模式下 (JAUTO1)通过将ADSTART 位置 1 开始常规转换和自动注入转换 JADSTART 必须保持清零 2如果位 JADSTART0则会忽略发生的任何注入硬件触发。 位 3 JADSTART ADC 开始注入转换 (ADC start of injected conversion) 此位由软件置 1用于开始 ADC 的注入通道转换。根据配置位 JEXTEN 的值可以立即开始转换软件触发配置也可以在发生注入硬件触发事件后开始转换硬件触发配置。该位通过硬件清零 – 在单次转换模式下如果选择了软件触发 (JEXTSEL0x0)出现注入转换序列结束(JEOS) 标志时清零。– 在所有情况下执行完 JADSTP 命令后由硬件将 JADSTP 位清零的同时清零。 0当前未进行 ADC 注入转换。 1写入 1 可开始注入转换。读取值为 1 表示 ADC 正在运行最终会转换注入通道。 注 仅当 ADEN1 且 ADDIS0 时ADC 已使能并且没有任何待处理的禁止 ADC 的请求才允许通过软件将 JADSTART 置 1。在自动注入模式下 (JAUTO1)通过将 ADSTART 位置 1 开始常规转换和自动注入转换 JADSTART 必须保持清零 1.3 触发框图
触发由主 ADC 和从 ADC 共享 1.4 常规通道的外部触发 ADC x 配置寄存器 (ADCx_CFGR) x1 到 3 ADC x configuration register 偏移地址 0x0C 复位值 0x8000 0000 位 9:5 EXTSEL[4:0]常规组的外部触发选择 (External trigger selection for regular group) 这些位可选择用于触发常规组转换的外部事件。 00000事件 0 00001事件 1 00010事件 2 00011事件 3 00100事件 4 00101事件 5 00110事件 6 00111事件 7 ... 11111事件 31 注 仅当 ADSTART0 时这可确保当前未进行任何常规转换才允许通过软件对这些位执行写操作。 ADC1、 ADC2 和 ADC3 - 常规通道的外部触发 1.5 注入通道的外部触发
ADC1、 ADC2 和 ADC3 - 注入通道的外部触发 2 注入通道管理
2.1 触发注入模式
要使用触发注入必须将 ADCx_CFGR 寄存器中的 JAUTO 位清零。 位 25 JAUTO 注入组自动转换 (Automatic injected group conversion) 通过软件将该位置 1 和清零可在常规组转换后分别使能/禁止注入组自动转换。 0禁止注入组自动转换 1使能注入组自动转换 注 仅当 ADSTART0 且 JADSTART0 时这可确保当前未进行常规转换、也未进行注入转换才允许通过软件对此位执行写操作。 如果使能了双重模式 ADCx_CCR 寄存器的 DAMDF 位不等于零则从 ADC 的 JAUTO 位不再可写其内容与主 ADC 的 JAUTO 位相等。 1. 通过外部触发或将 ADCx_CR 寄存器中的 ADSTART 位置 1 来启动常规通道组转换。
2. 如果在常规通道组转换期间出现外部注入触发或者 ADCx_CR 寄存器中的 JADSTART位置 1则当前的转换会复位并会启动注入通道序列切换所有注入通道都会转换一次。
3. 然后常规通道组的常规转换会从上次中断的常规转换处恢复。
4. 如果在注入转换期间出现常规事件注入转换不会中断但在注入序列结束时会执行常规序列。 注意
使用触发注入时必须确保触发事件之间的间隔长于注入序列。例如如果序列长度为 20 个 ADC 时钟周期即采样时间为 1.5 个时钟周期的两次转换则触发事件的最小间隔不能小于 21 个 ADC 时钟周期。
2.2 自动注入模式
如果将 ADCx_CFGR 寄存器中的 JAUTO 位置 1则注入组中的通道会在常规组通道之后自动转换。这可用于转换最多由 20 个转换构成的序列这些转换在 ADCx_SQRy 和 ADCx_JSQR寄存器中编程。 在该模式下必须将 ADCx_CR 寄存器中的 ADSTART 位置 1 以开始常规转换然后再进行注入转换 JADSTART 必须保持清零。将 ADSTP 位置 1 会中止常规转换和注入转换不得使用 JADSTP 位。 在此模式下必须禁止注入通道上的外部触发。 如果 CONT 位和 JAUTO 位均已置 1则在转换常规通道之后会继续转换注入通道。 位 13 CONT常规转换的单次/连续转换模式 (Single / continuous conversion mode for regular conversions) 此位由软件置 1 和清零。该位置 1 时常规转换将持续进行直到该位清零。 0单次转换模式 1连续转换模式 注意点 不能同时使能不连续模式和连续模式禁止同时将 DISCEN 和 CONT 位置 1。仅当 ADSTART0 时这可确保当前未进行任何常规转换才允许通过软件对此位执行写操作。如果使能了双重模式 ADCx_CCR 寄存器的 DAMDF 位不等于零则从 ADC 的 CONT 位不再可写其内容与主 ADC 的 CONT 位相等。 注意点
不能同时使用自动注入和不连续采样模式。如果在 JAUTO 模式下使用 DMA 导出常规定序器的数据需要将其设定为循环模式将DMA_CCRx 寄存器中的 CIRC 位置 1。如果 CIRC 位复位单发模式 JAUTO 序列将在出现 DMA 传输完成事件时停止。
2.3 注入转换延迟