博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ARM | STM32F10xxx课堂学习笔记(时钟 & 高级控制定时器)
阅读量:6446 次
发布时间:2019-06-23

本文共 1685 字,大约阅读时间需要 5 分钟。

时钟

img_8d9ce3ae134b12b6560d4d421d021e11.png
STM32F10xxx参考手册中文版 6.2 时钟

peripheral n.外部设备

PCLK1 低速外设时钟
PCLK2 高速外设时钟
RC 阻容...振荡器

RTC Real time clock 实时时钟

prescaler 预分频器;预定标器

/x 即X分频
PLLSRC 选择信号
TIM 定时器
TIM2,3,4,5,6,7由APB1决定(判断逻辑选择如图)
TIMxCLK 通用定时器时钟

TIM1,8由APB2决定(判断逻辑选择如图)

TIM1 and TIM8高级定时器时钟

HSION 内部高速时钟开启

HSEON 外部高速时钟开启
PLLON 锁相环开启

img_b6f08a525ea69809aea1219f9a908714.png

HSEBYP BYP 即by past旁路

旁路指EXTERNAL SOURCE直接输入,不经过OSC_OUT

HSERDY 用于去抖

HSICAL8位加HSITRIM5位用来调整HSI频率
机器一开始会出现波形抖动,不稳定不可用,一段时间后才会变成可用的稳定的方波
波形抖动阶段,RDY位置 0
波形抖动结束,进入可用状态,RDY位则置1

img_100490fa0868815334d547a6151140a4.png
img_47eaab63acc4089bdc98b042e4e01736.png

所谓旁路,就是没有经过PLL(如下所示就是一条旁路):

img_0b38fd37dcea47e50b269aa87c593c9f.png

内部RC高速时钟一般不准确,准确性远不如外部晶振,对温度敏感性较强,需要对其进行调整。

如果HSE晶体振荡器失效,HSI时钟会被作为备用时钟

重点!RCC_CFGR

MCO 选择时钟源

img_7471a7749fe96a104c81409516bb6336.png
img_4586bcad7bb8ed4b6d98de7c47fd8b2f.png

看门狗监控运行的程序,程序出了问题,令之重启

APB(Advanced Peripheral Bus),外围总线的意思。<百度百科>

CSS 时钟安全系统

ITF Interface


高级控制定时器

互补PWM:

就是两组PWM信号,它们的波形是互补的,简单理解,就是这两个信号直接相加的话,结果是一条直线。互补PWM有时候需要增加一个“死区”,防止两个信号同时为1或者同时为0的瞬间出现。

寄生电容:

"寄生电容" 在学术文献中的解释
1、另一方面传感器除有极板间电容外,极板与周围体(各种元件甚至人体)也产生电容联系,极板之间空隙的空气,这种电容称为寄生电容。它不但改变了电容传感器的电容量,而且由于传感器本身电容量很小,寄生电容极不稳定,这也导致传感器特性不稳定,对传感器产生严重干扰。
2、分布在导线之间、线圈与机壳之间以及某些元件之间的分布电容等,这些电容称为寄生电容,它们的数值虽小,但是却是引起干扰的重要原因。

PWM

abbr. Pulse-Width Modulation 脉宽调制;

PR 周期

ck_cnt

clock count 时钟计数

IGBT

  • IGBT(Insulated Gate Bipolar Transistor),绝缘栅双极型晶体管,是由BJT(双极型三极管)和MOS(绝缘栅型场效应管)组成的复合全控型电压驱动式功率半导体器件,兼有MOSFET的高输入阻抗和GTR的低导通压降两方面的优点。
  • GTR饱和压降低,载流密度大,但驱动电流较大;MOSFET驱动功率很小,开关速度快,但导通压降大,载流密度小。IGBT综合了以上两种器件的优点,驱动功率小而饱和压降低。
  • 非常适合应用于直流电压为600V及以上的变流系统如交流电机、变频器、开关电源、照明电路、牵引传动等领域。

img_608458ce5b858ff99ea530ed15f97a11.png
PCR设定分频器的值,
等到计数寄存器计数完毕,
产生一个
UEV
随后设定的分频器参数即可启动

Auto reload register

自动重新加载寄存器
TIMx_ARR

Repetition

重复次数寄存器
TIMx_RCR

img_561344413d0de0989e55cd440d39ef98.png

关于影子寄存器的作用:

设计预装载寄存器和影子寄存器的好处是,所有真正需要起作用的寄存器(影子寄存器)可以在同一个时间(发生更新事件时)被更新为所对应的预装载寄存器的内容,这样可以保证多个通道的操作能够准确地同步。如果没有影子寄存器,软件更新预装载寄存器时,则同时更新了真正操作的寄存器,因为软件不可能在一个相同的时刻同时更新多个寄存器,结果造成多个通道的时序不能同步,如果再加上例如中断等其它因素,多个通道的时序关系有可能会混乱,造成是不可预知的结果。

转载地址:http://rdvwo.baihongyu.com/

你可能感兴趣的文章
最强面试题汇总:BAT最新前端题出炉,碰到技术HR这些题必考!
查看>>
我有个大胆的想法,用风格迁移玩《绝地》版的《堡垒之夜》
查看>>
自定义View之IndexView进度条(二)
查看>>
牢补基础,话说Service那点事
查看>>
【React源码解读】- 组件的实现
查看>>
模块化日常:CocoaPods 1.4.0 真好用(并不)
查看>>
微信小程序教学第三章第四节(含视频):小程序中级实战教程:下拉更新、分享、阅读标识...
查看>>
jquery的html()方法是个坑
查看>>
使用 webpack 4 和 Babel 7 配置 Vue.js 工程模板
查看>>
Vue + Mint-ui 封装滚轮选择器
查看>>
Struts2第五篇【类型转换器、全局、局部类型转换器】
查看>>
Shiro第四篇【Shiro与Spring整合、快速入门、Shiro过滤器、登陆认证】
查看>>
Android、iOS、Mac开源项目推荐
查看>>
Java 设计模式之工厂方法模式与抽象工厂模式
查看>>
VueConf 2017 大会现场笔记
查看>>
kafka数据迁移实践
查看>>
微服务入门权威指南
查看>>
CSS3基础
查看>>
五分钟看懂一个高难度的排序:堆排序
查看>>
lastTurnToMyCamile
查看>>