STM32F407-14.3.12-01使用断路功能

使用断路功能
使用断路功能时,根据其它控制位(TIMx_BDTR 寄存器中的 MOE⑨、OSSI⑪ 和 OSSR⑩ 位以及 TIMx_CR2 寄存器中的 OISx⑰ 和 OISxN⑱ 位)修改输出使能信号和无效电平。任何情况下,OCx③ 和 OCxN④ 输出都不能同时置为有效电平。更多详细信息,请参见第 382 页的表 73:具有断路功能的互补通道 OCx③ 和 OCxN④ 的输出控制位。
断路源可以是断路输入引脚,也可以是时钟故障事件,后者由复位时钟控制器中的时钟安全系统 (CSS⑯) 生成。有关时钟安全系统的详细信息,请参见第 6.2.7 节:时钟安全系统 (CSS)。
退出复位状态后,断路功能处于禁止状态,MOE 位处于低电平。将 TIMx_BDTR 寄存器中的 BKE⑮ 位置 1,可使能断路功能。断路输入的极性可通过该寄存器中的 BKP⑭ 位来选择。BKE⑮ 和 BKP⑭ 位可同时修改。对 BKE⑮ 和 BKP⑭ 位执行写操作时,写操作会在 1 个 APB 时钟周期的延迟后生效。因此,执行写操作后,需要等待 1 个 APB 时钟周期,才能准确回读该位。
由于 MOE⑨ 下降沿可能是异步信号,因此在实际信号(作用于输出)与同步控制位(位于TIMx_BDTR 寄存器中)之间插入了再同步电路,从而在异步信号与同步信号之间产生延迟。具体而言,如果在 MOE⑨ 处于低电平时向其写入 1,则必须首先插入延迟(空指令),才能准确进行读取。这是因为写入的是异步信号,而读取的却是同步信号。
---------------------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------------------

发生断路(断路输入上出现所选电平)时:
●    MOE⑨ 位异步清零,使输出处于无效状态、空闲状态或复位状态(通过 OSSI⑪ 位进行选择)。即使 MCU 振荡器关闭,该功能仍然有效。
●    MOE=0 ⑨时,将以 TIMx_CR2 寄存器 OISx⑰ 位中编程的电平驱动每个输出通道。如果OSSI=0⑪,则定时器将释放使能输出,否则使能输出始终保持高电平。
●    使用互补输出时:
1.    输出首先置于复位状态或无效状态(取决于极性)。这是异步操作,因此即使没有为定时器提供时钟,该操作仍有效。
2.    如果定时器时钟仍存在,则将重新激活死区发生器,进而在死区后以 OISx⑰ 和 OISxN⑱位中编程的电平驱动输出。即使在这种情况下,也不能同时将 OCx③ 和 OCxN④ 驱动至其有效电平。请注意,MOE⑨ 进行再同步,因此死区的持续时间会比通常情况长一些(约 2 个 ck_tim 时钟周期)。
3.    如果 ⑪OSSI=0,则定时器会释放使能输出,否则只要 CCxE⑦ 位或 CCxNE⑦ 位处于高电平,使能输出就会保持或变为高电平。
·    断路状态标志(TIMx_SR 寄存器中的 BIF⑳ 位)置 1。如果 TIMx_DIER 寄存器中的 BIE(21)位置 1,可产生中断。如果 TIMx_DIER 寄存器中的 BDE(22)? 位置 1,可发送 DMA 请求。
·    ‚果 TIMx_BDTR 寄存器中的 AOE⑫ 位置 1,则 MOE⑨ 位会在发生下一更新事件 (UEV)时自动再次置 1。这一特性有许多用处,比如,可用于实现调节器的功能。否则,MOE⑨将始终保持低电平,直到再次向该位写入“1”。这种情况下,这一特性可用于确保安全。可以将断路输入连接到功率驱动器的警报、温度传感器或任何安全元件。


注意: 
断路输入为电平有效。因此,当断路输入有效电平时,不能将 MOE 位置 1(自动或通过软件)。同时,不能将状态标志 BIF⑳ 清零。
断路可由 BRK 输入生成,该输入具有可编程极性,其使能位 BKE⑮ 位于 TIMx_BDTR 寄存器中。
断路有以下两种生成方案:
·    用 BRK⑬ 输入生成,该输入具有可编程极性,其使能位 BKE⑮ 位于 TIMx_BDTR 寄存器中。
·    1软件通过 TIMx_EGR 寄存器中的 BG(24) 位生成。
除断路输入和输出管理外,断路电路内部还实施了写保护,用以保护应用的安全。通过该功能,用户可冻结多个参数配置(死区持续时间、③OCx/OCxN④ 极性和禁止时的状态、OCxM⑤ 配置、断路使能和极性)。可以通过 TIMx_BDTR 寄存器中的 LOCK⑲ 位,从 3 种保护级别中进行选择。请参见第 386 页的第 14.4.18 节:TIM1 和 TIM8 断路和死区寄存器 (TIMx_BDTR)。MCU 复位后只能对 LOCK⑲ 位执行一次写操作。
---------------------------------------------------------------------------------------------------------------------------------------------


---------------------------------------------------------------------------------------------------------------------------------------------

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

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

相关文章

LD2450-24G人体移动跟踪轨迹雷达模块

文章目录 前言一、LD2450简介特点引脚定义 二、使用步骤上位机使用方法通信协议协议格式数据输出协议 雷达命令配置方式串口解析示例 前言 运动目标跟踪是指在区域内实时跟踪运动目标所在的位置,实现对区域内运动目标测距、测角和测速。LD2450是海凌科24G毫米波雷达…

基于paddlepaddle的FPS最远点采样

什么是FPS最远点采样? 最远点采样(Farthest Point Sampling,FPS)是一种常用的采样算法,主要用于点云数据(如激光雷达点云数据、分子坐标等)的采样。 为了方便解释,定义一下待采样点…

深入解析线程安全的Hashtable实现

目录 引言 1. Hashtable简介 2. Hashtable线程安全实现原理 2.1. 锁机制 2.2. 分段锁 2.3. CAS操作 3. 线程安全策略 3.1. 同步方法 3.2. 分段锁优化 3.3. 乐观锁和CAS 4. 性能优化 4.1. 负载均衡 4.2. 惰性加载 5. 注意事项 5.1. 死锁和性能问题 5.2. 内存开销…

嵌入式软件测试(黑盒测试)---三年嵌入式软件测试的理解

文章内容为本人这三年来在嵌入式软件测试(黑盒)上的一些积累吧,说起来也挺快的,毕业三年的时间就这样过去了,在两家公司工作过(现在这家是第二家),这几年的测试项目基本都是围绕着嵌…

第十三章 枚举类型和泛型

枚举类型可以取代以往的常用的定义方式,即将常量封装在类或者接口中,此外它还提供了安全检查功能。枚举类型本质上还剋以类的形式存在。泛型的出现不仅可以让程序员少写一些代码,更重要的是它可以解决类型安全问题。泛型提供了编译时的安全检…

redolog有什么用,是怎么工作的

redolog其实就是想干一件事:当一个事务commit了,那肯定是在内存中改了,但是在磁盘里未必。可能刚提交事务就宕机了,还没来得及写磁盘(并且也不会立刻写的,会隔一段时间才刷)。redolog就是要保证…

关于设计师的自我评价(合集)

设计师的自我评价篇一 本人接受过正规的美术教育,具有较好的美术功底及艺术素养,能够根据公司的需要进行设计制作,熟练掌握多种电脑制作软件,能够高效率地完成工作。本人性格开朗、思维活跃、极富创造力,易于沟通&…

软件测试必会:cookie、session和token的区别

今天就来说说session、cookie、token这三者之间的关系!最近这仨玩意搞得头有点大🤣 01 为什么会有它们三个 我们都知道 HTTP 协议是无状态的,所谓的无状态就是客户端每次想要与服务端通信,都必须重新与服务端链接,意…

Selenium Wire - 扩展 Selenium 能够检查浏览器发出的请求和响应

使用 Selenium 进行自动化操作时,会存在很多的特殊场景,比如会修改请求参数、响应参数等。 本篇将介绍一款 Selenium 的扩展,即能够检查浏览器发出的请求和响应 - Selenium Wire。 简介 Selenium Wire 扩展了 Selenium 的 Python 绑定&…

24--泛型与Collections工具类

1、泛型 1.1 泛型概述 在前面学习集合时,我们都知道集合中是可以存放任意对象的,只要把对象存储集合后,那么这时他们都会被提升成Object类型。当我们在取出每一个对象,并且进行相应的操作,这时必须采用类型转换。 p…

Sectigo DV多域名证书能保护几个域名

多域名SSL证书不限制受保护的域名的类型,可以时多个主域名或者子域名,多域名SSL证书都可以同时保护,比较灵活。但是,多域名https证书并不是免费无限制保护域名数量,一把的多域名SSL证书默认保护3-5个域名记录&#xff…

云原生之深入解析强大的镜像构建工具Earthly

一、Earthly 简介 Earthly 是一个更加高级的 Docker 镜像构建工具,Earthly 通过自己定义的 Earthfile 来代替传统的 Dockerfile 完成镜像构建;Earthfile 就如同 Earthly 官方所描述: Makefile Dockerfile Earthfile在使用 Earthly 进行构建镜像时目前…

使用终端启动若依ruoyi

使用终端启动若依ruoyi 01 找到ruoyi-ui文件夹 02 cmd界面两个指令 npm i 下载完成后出现这个界面即为成功 npm run dev 加载结束后出现端口号即可 03 默认账号密码 访问localhost8080可得以上界面默认账号是admin默认密码是damin123

selenium元素定位与操作

说明:本篇博客基于selenium 4.1.0 在selenium中,想要对元素进行操作,一般需要如下步骤: 在浏览器中查看元素属性,便于selenium在页面中找到该元素在代码中创建元素对象元素操作、获取元素信息 查看元素属性 浏览器…

项目实战:自动驾驶之方向盘操纵

项目介绍 根据汽车前方摄像头捕捉的画面,控制汽车方向盘转动的方向和角度,这是自动驾驶要解决的核心问题。这个项目主要是通过使用深度神经网络解决一个回归问题。不同于分类、识别场景,回归问题中神经网络输出的是一个连续的值。 通过这个项目的学习,可以将神经网络用于通…

【ESP32填坑日记】问题篇⑧ VScode中提示无法使用compilerPath解析配置:“C:/xxx/xtensa-esp32-elf-gcc.exe“

关注星标公众号,不错过精彩内容 作者 | 量子君 微信公众号 | 极客工作室 问题描述 在编译成功,重启之后就编译不成功了,并报如图错误: 无法使用 compilerPath 解析配置:“C:/xxx/xtensa-esp32-elf-gcc.exe” 解决…

【软件工程】软件工程复习题库2023

🐌个人主页: 🐌 叶落闲庭 💨我的专栏:💨 SpringCloud MybatisPlus JVM 石可破也,而不可夺坚;丹可磨也,而不可夺赤。 软件工程复习题库 一、选择题二、填空题三、判断题四…

数据结构 -- 堆

一.堆的概念 1.1 堆是什么 堆也叫做优先队列,一些按照重要性或优先级来组织的对象称为优先队列。 1.2 为什么需要堆 在现实生活中,存在许多需要从一群人、一些任务或一些对象中找出“下一位最重要”目标的情况。例如:在平时处理事情的时候我…

不同版本QT使用qmake时创建QML项目的区别

不同版本QT使用qmake时创建QML项目的区别 文章目录 不同版本QT使用qmake时创建QML项目的区别一、QT5新建QML项目1.1 目录结构1.2 .pro 文件内容1.3 main.cpp1.4 main.qml 二、QT6新建QML项目2.1 目录结构2.2 .pro文件内容2.3 main.cpp2.4 main.qml 三、两个版本使用资源文件的区…

鼠标响应突然不灵敏的检查方法

鼠标突然响应缓慢或者失灵,如下检测步骤: 1、首先排查电源问题,更换电池或者充电; 2、观察光标移动响应、鼠标左键响应、鼠标右键响应、鼠标滚轮等操作,哪些正常,哪些异常。 2、把鼠标接到别的机器上实验…