STM32H750外设ADC之模拟窗口看门狗

news2024/9/23 17:21:39

目录

概述

1 相关寄存器

2 功能描述

3  AWDx 标志和中断

4  模拟看门狗 1

4.1 模拟看门狗 1 说明

4.2 模拟看门狗通道选择

4.3 阀值选择

5 模拟看门狗 2和3

6 ADCx_AWDy_OUT 信号输出生成

6.1 功能介绍

6.2 输出信号案例

7 模拟看门狗 1、 2、 3 比较


概述

本文主要介绍STM32H750外设ADC之模拟窗口看门狗的功能,包括与之相关的寄存器配置、模拟窗口看门狗的实现,各类型看门狗的功能等内容。

1 相关寄存器

和模拟窗口看门狗相关有如下这些:( AWD1EN、 JAWD1EN、 AWD1SGL、 AWD1CH、
AWD2CH、 AWD3CH、 AWD_HTRy、 AWD_LTRy、 AWDy)。

2 功能描述

三个 AWD 模拟看门狗会监测一些通道是否保持在配置的电压范围(窗口)内。

3  AWDx 标志和中断

可通过将 ADCx_IER 寄存器( x=1、 2、 3)中的 AWDyIE 置 1 的方式分别为 3 个模拟看门狗使能中断。AWDy( y=1、 2、 3)标志可通过由软件向其写入 1 的方式来清零。在对齐之前,会将 ADC 转换结果与阈值上限和下限进行比较。

ADC x 中断使能寄存器 (ADCx_IER)( x=1 到 3)
ADC x interrupt enable register
偏移地址: 0x04
复位值: 0x0000 0000

位 9 AWD3IE:模拟看门狗 3 中断使能 (Analog watchdog 3 interrupt enable)
此位由软件置 1 和清零,用于使能/禁止模拟看门狗 2 中断。
0:禁止模拟看门狗 3 中断
1:使能模拟看门狗 3 中断
注: 仅当 ADSTART=0 且 JADSTART=0 时(这可确保当前未进行任何转换),才允许通过软件对此位执行写操作。

位 8 AWD2IE:模拟看门狗 2 中断使能 (Analog watchdog 2 interrupt enable)
此位由软件置 1 和清零,用于使能/禁止模拟看门狗 2 中断。
0:禁止模拟看门狗 2 中断
1:使能模拟看门狗 2 中断

注: 仅当 ADSTART=0 且 JADSTART=0 时(这可确保当前未进行任何转换),才允许通过软件对此位执行写操作。

位 7 AWD1IE:模拟看门狗 1 中断使能 (Analog watchdog 1 interrupt enable)
此位由软件置 1 和清零,用于使能/禁止模拟看门狗 1 中断。
0:禁止模拟看门狗 1 中断
1:使能模拟看门狗 1 中断

注: 仅当 ADSTART=0 且 JADSTART=0 时(这可确保当前未进行任何转换),才允许通过软件对此位执行写操作。

4  模拟看门狗 1

4.1 模拟看门狗 1 说明

ADCx_CFGR 寄存器中的 AWD1EN 位置 1,可使能 AWD 模拟看门狗 1。该看门狗监测一条已选通道或所有已使能通道(1) 是否仍在配置的电压范围(窗口)内。

 位 23 AWD1EN:常规通道上的模拟看门狗 1 使能 (Analog watchdog 1 enable on regular channels)
此位由软件置 1 和清零
0:在常规通道上禁止模拟看门狗 1
1:在常规通道上使能模拟看门狗 1

4.2 模拟看门狗通道选择

应如何配置 ADCx_CFGRy 寄存器才能在一条或多个通道上使能模拟看门狗

 位 24 JAWD1EN:注入通道上的模拟看门狗 1 使能 (Analog watchdog 1 enable on injected channels)
此位由软件置 1 和清零
0:在注入通道上禁止模拟看门狗 1
1:在注入通道上使能模拟看门狗 1

位 22 AWD1SGL:在单一通道或所有通道上使能看门狗 1 (Enable the watchdog 1 on a single channel or onall channels)
此位由软件置 1 和清零,用于在通过 AWD1CH[4:0] 位确定的通道或所有通道上使能模拟看门狗。
0:在所有通道上使能模拟看门狗 1
1:在单一通道上使能模拟看门狗 1
 

4.3 阀值选择

如果 ADC 转换的模拟电压低于阈值下限或高于阈值上限,则 AWD1 模拟看门狗状态位会
置 1。这些阈值编程到模拟看门狗 1 的 ADCx_HTR1 寄存器的 HTR1[25:0] 位和 ADCx_LTR1 寄存器的 LTR1[25:0] 位。

ADC x 看门狗阈值寄存器 1 (ADCx_LTR1)( x=1 到 3)
ADC x watchdog threshold register 1
偏移地址: 0x20
复位值: 0x0000 0000


 位 25:0 LTR1[25:0]: 模拟看门狗 1 阈值下限 (Analog watchdog 1 lower threshold)
这些位由软件写入,用于定义模拟看门狗 1 的阈值下限。

ADC x 看门狗阈值寄存器 1 (ADCx_HTR1)( x=1 到 3)
ADC x watchdog threshold register 1
偏移地址: 0x24
复位值: 0x03FF FFFF
 

位 25:0 HTR1[25:0]: 模拟看门狗 1 阈值上限 (Analog watchdog 1 higher threshold)
这些位由软件写入,用于定义模拟看门狗的阈值上限。
 

阈值最高可达到 26 位( 16 位分辨率,过采样, OSR=1024)。如果转换的数据分辨率小于 16 位(取决于 RES[2:0] 位),编程阈值的 LSB 必须保持清零状态,并且会在内部对完整的 16 位转换数据进行比较(左对齐到半字边界)。

ADC x 配置寄存器 2 (ADCx_CFGR2)( x=1 到 3)
ADC x configuration register 2
偏移地址: 0x10
复位值: 0x0000 0000
 

位 25:16 OSR[9:0]:过采样率 (Oversampling ratio)
此位域由软件置 1 和清零,用于定义过采样率。
0: 1x(不进行过采样)
1: 2x
2: 3x
...
1023: 1024x
 

5 模拟看门狗 2和3

第二个和第三个模拟看门狗更加灵活,可通过编程 AWDCHy[19:0]( y=2、 3)中的相应位来保护多条已选通道。

以模拟看门狗 2为例,介绍寄存器配置:

ADC x 模拟看门狗 2 配置寄存器 (ADCx_AWD2CR)( x=1 到 3)
ADC x Analog Watchdog 2 Configuration Register
偏移地址: 0xA0
复位值: 0x0000 0000
 

位 19:0 AWD2CH[19:0]:模拟看门狗 2 通道选择 (Analog watchdog 2 channel selection)
这些位将由软件置 1 和清零。它们用于使能和选择由模拟看门狗 2 监控的输入通道。
AWD2CH[i] = 0:不通过 AWD2 监控 ADC 模拟输入通道 i
AWD2CH[i] = 1:通过 AWD2 监控 ADC 模拟输入通道 i
当 AWD2CH[19:0] = 000..0 时,会禁止模拟看门狗 2

AWDCHy[19:0]( y=2、 3)的任何位置 1 时,会使能相应的看门狗。阈值最高可达到 26 位(16 位分辨率,过采样, OSR=1024) ,通过 ADCx_HTR2、 ADCx_LTR2、ADCx_LTR3 和 ADCx_HTR3 寄存器进行编程。

如果转换的数据分辨率小于 16 位(取决于 RES[2:0] 位),编程阈值的 LSB 必须保持清零
状态,并且会在内部对完整的 16 位转换数据进行比较(左对齐到半字边界)。

6 ADCx_AWDy_OUT 信号输出生成

6.1 功能介绍

每个模拟看门狗都关联到一个内部硬件信号 ADCx_AWDy_OUT( x = ADC 编号, y = 看门狗编号),该信号直接连接到一些片上定时器的 ETR 输入(外部触发)。请参见片上定时器部分以了解如何选择 ADCx_AWDy_OUT 信号作为 ETR。

当关联的模拟看门狗使能时, ADCx_AWDy_OUT 会激活:
1)当受保护的转换超出编程阈值时, ADCx_AWDy_OUT 会置 1。


2)在编程阈值范围内的下一受保护转换结束后, ADCx_AWDy_OUT 会复位(如果下一受保护转换仍超出编程阈值范围,该位仍保持置 1)。


3)禁止 ADC 时(将 ADDIS 置 1 时), ADCx_AWDy_OUT 也保持复位状态。请注意,停止常规转换或注入转换(将 ADSTP 或 JADSTP 置 1)对 ADCy_AWDx_OUT 的生成没有任何影响。

ADC x 控制寄存器 (ADCx_CR)( x=1 到 3)
ADC x control register
偏移地址: 0x08
复位值: 0x2000 0000


位 1 ADDIS: ADC 禁止命令 (ADC disable command)
该位由软件置 1,用于禁止 ADC( ADDIS 命令)并使其进入掉电状态( OFF 状态)。
ADC 已有效禁止后,会立即通过硬件将该位清零(此时也会通过硬件将 ADEN 清零)。
0:当前未执行 ADDIS 命令。
1:写入 1 可禁止 ADC。读取值为 1 表示正在执行 ADDIS 命令
 

6.2 输出信号案例

1)ADCy_AWDx_OUT 信号生成(所有常规通道上)

2)ADCy_AWDx_OUT 信号生成( AWDx 标志未通过软件清零)

3)ADCy_AWDx_OUT 信号生成(单条常规通道上)

 4)ADCy_AWDx_OUT 信号生成(所有注入通道上)

7 模拟看门狗 1、 2、 3 比较

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1616405.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深度学习从入门到精通—Transformer

1.绪论介绍 1.1 传统的RNN网络 传统的RNN(递归神经网络)主要存在以下几个问题: 梯度消失和梯度爆炸:这是RNN最主要的问题。由于序列的长距离依赖,当错误通过层传播时,梯度可以变得非常小(消失…

MATLAB中左边的大括号最后一行为什么会留很大的空白——解决

看了一些帖子说改字体,但是并没有什么用,在此给出亲测有效的方法:改变矩阵的行间距 先说一下问题 上图中留有大块空白 **解决办法:**光标放在矩阵上 格式——矩阵——更改矩阵,在矩阵设置中选中“行高相等”&#xff…

基于Springboot的学生毕业离校系统

基于SpringbootVue的学生毕业离校系统的设计与实现 开发语言:Java数据库:MySQL技术:SpringbootMybatis工具:IDEA、Maven、Navicat 系统展示 用户登录 网站首页 离校流程 网站公告 留言反馈 后台登录 学生管理 教师管理 离校流程…

【UI】element-ui的el-dialog的遮罩层在模态框的前面bug

最近在写element ui 的时候使用dialog组件,偶然出现了这种情况 原因: 是因为遮罩层插入进了body标签下,z-index高于当前父元素。 解决:在el-dialog标签里加上:modal-append-to-body"false"就可以了。 饿了么官网文档&a…

Redis - Redisson tryLock 函数参数分析

这里有三个参数: waitTime:等待时间leaseTime:超时施放时间TimeUnit:时间单位 等待时间 如果 ABC… 多个线程去抢夺一把锁,A 成功了,如果设置的是 -1,那么 BCD... 就不等待,直接返…

虚拟化+Docker基本管理

一、虚拟化简介 1、云端 华为云、谷歌云、腾讯云、阿里云、亚马逊、百度云、移动云、天翼云、西部数码云等 1.国内云 华为云、阿里云、腾讯云、天翼云(私有云) 2.国外云 谷歌云、亚马逊 2、云计算的服务模式是分层的 IaaS:Infrastructure(基础设…

蓝桥杯第17169题——兽之泪II

问题描述 在蓝桥王国,流传着一个古老的传说:在怪兽谷,有一笔由神圣骑士留下的宝藏。 小蓝是一位年轻而勇敢的冒险家,他决定去寻找宝藏。根据远古卷轴的提示,如果要找到宝藏,那么需要集齐 n 滴兽之泪&#…

【YOLOv8改进[注意力]】YOLOv8添加DAT(Vision Transformer with Deformable Attention)助力涨点

目录 一 DAT 二 YOLOv8添加DAT助力涨点 1 总体修改 2 配置文件 3 训练 其他 一 DAT 官方论文地址:https://openaccess.thecvf.com/content/CVPR2022/papers/Xia_Vision_Transformer_With_Deformable_Attention_CVPR_2022_paper.pdf Transformers最近在各种视…

js连接抖音打印组件实现打印

js连接抖音打印组件实现打印小票 安装抖音打印组件 抖音打印组件文档: https://bytedance.larkoffice.com/docs/doccn2vbOOdd3KWrCd6Z93nIlvg 跟着文档案例一步步配基本上没问题, 打印的时候需要设置下打印机名称 export class DouyinPrint {construct…

完美运营版商城/拼团/团购/秒杀/积分/砍价/实物商品/虚拟商品等全功能商城

源码下载地址:完美运营版商城.zip 后台可以自由拖曳修改前端UI页面 还支持虚拟商品自动发货等功能 挺不错的一套源码 前端UNIAPP 后端PHP 一键部署版本

【计算机组成原理】浮点运算方法和浮点运算器

浮点加法、减法运算 浮点数加减法的步骤结合题目分析步骤 浮点数加减法的步骤 ① 0 操作数检查 ② 比较阶码大小,完成对阶 ③ 尾数进行加减法运算 ④ 结果规格化 ⑤ 舍入处理 ⑥ 判断结果是否溢出 结合题目分析步骤 例:设 x 2010 0.11011011&#x…

展商企业【广东伟创科技开发有限公司】| 2024水科技大会暨技术装备成果展

企业介绍 广东伟创科技开发有限公司成立于2006年,位于广东省江门市。公司是华南理工大学造纸与污染控制国家工程研究中心科技成果转化单位;是华南理工大学产学研合作单位;是广东省高新技术企业;是江门市现代信息服务业重点企业&am…

在线音乐播放网站项目测试(selenium+Junit5)

在做完在线音乐播放网站项目之后,需要对项目的功能、接口进行测试,利用测试的工具:selenium以及Java的单元测试工具Junit进行测试,下面式测试的思维导图,列出该项目需要测试的所有测试用例: 测试结果&#…

嵌入式系统相关知识总结

一、概述 嵌入式系统是以应用为中心、以计算机技术为基础,并将可配置与可裁剪的软、硬件集成与一体的专用计算机系统,需要满足应用对功能、可靠性、成本、提及和功耗等方面的严格要求。 从计算机角度看,嵌入式系统是指嵌入各种设备及应用产品…

使用Jest测试框架测试JS项目

前言 JavaScript的测试框架有很多,这里主要记录一些自己在初次使用jest时遇到的一些问题。详细使用文档可以参照官方说明文档。 简介 Jest 是一款优雅、简洁的 JavaScript 测试框架。 Jest 支持 Babel、TypeScript、Node、React、Angular、Vue 等诸多框架&#…

软件测试之【合理的利用GPT来辅助软件测试一】

读者大大们好呀!!!☀️☀️☀️ 🔥 欢迎来到我的博客 👀期待大大的关注哦❗️❗️❗️ 🚀欢迎收看我的主页文章➡️寻至善的主页 文章目录 前言GPT的原理及技巧GPT辅助接口自动化测试 前言 在编程基础栏目中&#xff…

循环神经网络实例——序列预测

我们生活的世界充满了形形色色的序列数据,只要是有顺序的数据统统都可以看作是序列数据,比如文字是字符的序列,音乐是音符组成的序列,股价数据也是序列,连DNA序列也属于序列数据。循环神经网络RNN天生就具有处理序列数…

嵌入式linux学习之arm开发板移植ssh

1.下载源码 (1)zlib 下载网址:http://www.zlib.net/fossils/ 教程中版本选择的是: zlib-1.2.11.tar.gz (2)openssl下载网址:https://www.openssl.org/source/mirror.html 教程中版本选择的是: openssl-1.1…

用友U8-Cloud api/hr接口存在SQL注入漏洞

声明: 本文仅用于技术交流,请勿用于非法用途 由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任。 简介 U8 Cloud是由用友推出的新一代云ERP系统&#xff0…

VSCode的C/C++开发 ===> Windows

一、开发环境搭建 安装mingw-w64编译器(GCC for Windows 64 & 32 bits)、Cmake工具(选装) VSCode插件安装 C/C cmake cmake tools 二、代码实践演练 基于g命令 g编译单文件,生成带调试信息的可执行文件、并调试 g -g main.cpp -o my_single_swap g编译多文件…