机器人是怎么计时的(通用定时器 - 时基单元)

news2024/9/29 13:16:56

目录

一,引言

二,机器人的“大脑”

三,时基单元介绍

1,定时器框图

2,时基单元

(1)预分频器

(2)CNT计数器

(3)自动重装载寄存器

四,结尾


一,引言

        技术的迅猛发展,赋予了越来越多科技产品“智能化”的标签。如智能洗碗机,智能冰箱,智能电饭煲……这些“机器人”(我们姑且这样称呼它们)都有一个共同的功能——计时。你是否有过好奇——它们是如何精确而稳定地计量时间的呢?让我们一探究竟。

二,机器人的“大脑”

        机器人计时是在它们的“大脑”中进行的。这个“大脑”,学名叫“单片机(Single-Chip Microcomputer)”,又称“微控制器(Microcontroller Unit,MCU)”。

        想象一下,把一台电脑中的主板、CPU、内存、硬盘等各种部件全部浓缩在一枚指甲盖大小的芯片上——这就是单片机。由于普通机器人对于信息的处理并不像电脑那样,承载着巨量的数学计算,而是进行环境信号的采集与对应指令的输出,单片机也就不需要过大的容量与体积。

        而本系列的主要内容,就是介绍单片机中最强大、最复杂的外设——定时器。

        本文讲解定时器的时基单元,也就是“机器人的计时原理”。听起来似乎有些专业?不妨继续往下看,接下来的内容,我会尽我所能,让你对时基单元有一个基本的认识。

三,时基单元介绍

1,定时器框图

        如图1,是通用定时器的整体框图:

图1  定时器框图

        整体可分为四个模块:时钟模块,时基单元,输入捕获与输出比较。本文在介绍时基单元的基础上,会同时介绍一点时钟方面的知识。

2,时基单元

        我们将时基单元单独拆出,如图2:

图2 时基单元

        时钟脉冲(CK_PSC,72MHz)被预分频器接收,经过预分频器分频后,脉冲转变成CK_CNT(CK_CNT和CK_PSC的区别是频率不同,若预分频器设置为2分频,CK_CNT就是36MHz)进入CNT计数器中,时基单元开始计数——其中,计数方式有三种:向上计数、向下计数与中央对其计数,这里只介绍向上计数,顾名思义,就是从0开始,按照1、2、3的方式向数值较大的方向计数——在计数的同时,计数器中的值会与自动重装载寄存器(由我们设置)中的值相比较,若达到了我们期望比较的结果(如计数器的值大于我们设定的值),就会输出相应的指令。文字有点长,结合图2阅读也许会不那么抽象。

        以上,就是时基单元基本的情况。接下来,我们分别讨论时基单元中三个模块的原理。

(1)预分频器

        我们结合预分频器时序图来剖析原理:

图3 预分频器时序图

        可以看到,在图2中,预分频器由“PSC预分频器”与一块阴影组成,其中,“PSC预分频器”名字叫“预分频控制寄存器”,而“阴影”叫预分频缓冲器,也叫影子寄存器,这里我简称其为“缓冲器”。我们修改数值,是在预分频控制寄存器中,修改之后,预分频控制寄存器将设置的值放入缓冲器,由缓冲器控制预分频计数器的数值变化(如图3),也就是说,真正控制预分频器工作的,是缓冲器。但为什么会这样设计呢?在自动重装寄存器中,我会阐述答案。

        上文中,我们理出了预分频器本身的基本运作方式,读者可以在纸上画一下流程图熟悉一下大体框架。

        我们提到了“预分频计数器”,这就是预分频器的重点——预分频器本质也是个计数器,通过图3,我们来梳理它的原理。预分频缓冲器中的设定值,就是预分频计数器计数的最大值,这一点可以对比图3中   上下两幅图的最后一排   预分频计数器前后计数的变化理解。当预分频计数器计数值为0时,CK_INT输出一个高电平,同时,计数器向上计数一次,CK_INT的意思见图2。当计数器到达自动重装载寄存器的值时,就会从0重新计数(向上计数模式)。在每次计数到达设置值时,产生一个更新事件,更新事件就是图2中那个像闪电一样的箭头,上面写着U。而UI是产生定时中断的意思,这两个东西知道就行。

        可能会有些难以理解,但是照着图像一句话一句话地理解,能够梳理出思路。

(2)CNT计数器

        CNT计数器时序图如图4:

图4 计数器时序图

        其中,CK_INT和图3中的CK_PSC是一样的。到这里,也许我们会产生疑惑:时钟这么重要,它到底是个什么东西?结合图3和图4,可以看到,我们所设置的信号中,上升沿和时钟都是同时性的,也就是说,时钟就像是一块石头,我们通过去掉与保留石头的各个部分,把石头雕刻成我们想要的部分——时钟也是一样。

(3)自动重装载寄存器

        自动重装载寄存器时序图如图5:

图5 自动重装载寄存器

        自动重装载寄存器,是计数器的“顶点”,计数器到达了我们在自动重装载的值,就会“溢出”,如图5中,比如,我们让计数器达到4的时候进行“溢出”,也就是输出一个高电平,表示计了5次数字(从0开始计数),溢出之后,计数器就又会从0开始进行计数——是不是很像“画正字”呢?

        图5是分为上下两个图的,两个图的区别在于,上面的图没有使用缓冲器(框图中的“影子”),下面使用了缓冲器。可以看见,在没有使用缓冲器时,我们原先设置计数终点是FF,在计数到32时,将FF改成了36,计数器寄存器计数到36时,就重新从0开始计数了;而使用了缓冲器,当我们改变计数终点时,计数器会计数到F5后,才会从0开始重新计数,直到计数到我们新设置的36后,再从0开始重新计数。

        有些绕,但是慢下来,对着图画一下思维导图,就能理解这段文字。

四,结尾

        也许我们会疑惑:一开始不是讲计时吗,怎么讲到计数上了?

        是否有注意,在文中,我们提及了“时钟”的概念,定时器的标准时钟时72赫兹,我们给它一个倒数——便成了周期(单位:秒),一个高电平就对应着1/72秒?

        所以,以上便是机器人计时的方法。感谢你看到这里,让我们为自己的耐心与求知欲干杯!

欢迎交流

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

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

相关文章

如何在vue中使用echarts,与jquery中有啥不同。

一、vue中使用echarts的步骤 在 Vue 中使用 ECharts 可以按照以下步骤进行: 安装 ECharts:使用 npm 或 yarn 安装 ECharts: npm install echarts 在 Vue 组件中引入 ECharts: import echarts from echarts 在 Vue 组件的 mou…

BUUCTF-Misc15

[SWPU2019]我有一只马里奥1 1.打开附件 是一个可执行文件 2.执行 双击可执行文件生成一个1.txt的文件 文件提示ntfs,需要一个工具ntfsStreamsEditor 3.ntfsStreamsEditor “ntfsStreamsEditor” 是一个用于管理 Windows 操作系统中 NTFS(新技术文件系统&#xff…

node的安装

官网下载(建议使用预编译包安装) 地址(https://nodejs.org/en/download/prebuilt-binaries) 解压包,并将 bin下面的 node npm npx加入到环境变量中或者建立软连接 ln -s 安装位置/bin/node PATH下面的路径 npm配置…

Vivado工程收敛之报告分析大全

目录 一、前言 二、分析报告 2.1 时钟分析 2.1.1 时钟报告 2.1.2 时钟网络报告 2.1.3 时钟利用率报告 2.1.4 跨时钟域报告 2.2 时序分析 2.3 约束分析 2.4 资源分析 2.5 逻辑级数分析 2.6 扇出分析 2.7 进位链分析 2.8 控制集分析 2.9 复杂度分析 2.10 pipelin…

运筹学基础(一)求解线性规划的单纯形法详解

文章目录 前言线性规划的标准形式一个例子理解单纯形法1. 将线性规划转化为标准形式2. 找到一个初始可行解3. 旋转操作4. 重复旋转 一些badcase退化初始解不是可行解以及无解的情况找不到有限制条件的替入变量——无界解 时间复杂度参考资料 前言 大学的《运筹学》课程中&…

【分享】Word文档的5个隐藏功能

编辑Word文档的过程中,有时候我们需要隐藏一些格式,或者重要信息,今天小编来分享4个Word文档的隐藏功能,记得收藏哦! 功能1:隐藏文本内容 对于不想被他人看到的文本内容,可以设置隐藏起来。 首…

备份SQLserver数据库到本地位置

怎么选择合适的数据库备份方案? 有人可能会说SSMS,确实,SSMS作为一个微软官方提供的SQLserver数据库管理工具,是可以帮助我们完成对数据库的备份还原任务的,但是它也有一些局限性,比如不能进行批量化的备份…

区块链技术与大数据结合的商业模式探索

hello宝子们...我们是艾斯视觉擅长ui设计和前端开发10年经验!希望我的分享能帮助到您!如需帮助可以评论关注私信我们一起探讨!致敬感谢感恩! 随着区块链技术和大数据技术的不断发展,两者的结合为企业带来了新的商业模式…

大话设计模式之装饰模式

装饰模式(Decorator Pattern)是一种结构型设计模式,它允许向现有对象动态地添加新功能,同时又不改变其结构。装饰模式通过将对象放入包装器中来实现,在包装器中可以动态地添加功能。 在装饰模式中,通常会有…

碳素光线疗法与宠物健康

碳素光线与宠物健康 生息在地球上的所有动物、在自然太阳光奇妙的作用下、生长发育。太阳光的能量使它们不断进化、繁衍种族。现在、生物能够生存、全仰仗于太阳的光线。太阳光线中、包含有动物健康所需要的极为重要的波长。因此、和户外饲养的动物相比、在室内喂养的观赏动物、…

基于深度学习的心律异常分类算法

基于深度学习的心律异常分类系统——算法设计 第一章 研究背景算法流程本文研究内容 第二章 心电信号分类理论基础心电信号产生机理MIT-BIH 心律失常数据库 第三章 心电信号预处理心电信号噪声来源与特点基线漂移工频干扰肌电干扰 心电信号读取与加噪基于小波阈值去噪技术的应用…

JetBrains全家桶激活,分享 WebStorm 2024 激活的方案

大家好,欢迎来到金榜探云手! WebStorm公司简介 JetBrains 是一家专注于开发工具的软件公司,总部位于捷克。他们以提供强大的集成开发环境(IDE)而闻名,如 IntelliJ IDEA、PyCharm、和 WebStorm等。这些工具…

Tire树-不学面试后悔

先来一张图,看多少同学在面试中遇到这个题,然后被迫放弃,那就太可惜,因为这个题只要你往下看就会了 Trie(发音类似 "try")或者说 前缀树 是一种树形数据结构,用于高效地存储和检索字…

追光而遇 沐光同行——锐捷网络召开2024教育行业核心合作伙伴论坛

3月21日,主题为“追光而遇 沐光同行”的2024锐捷网络教育行业核心伙伴论坛在福州启幕。论坛汇聚了教育行业的精英与合作伙伴,议题主要聚焦于教育行业的数字化转型与创新发展,以及如何通过技术驱动,构建智慧教育生态,推动教育事业的高质量发展。作为行业领先的ICT基础设施及解决…

AXI Memory Mapped to PCI Express学习笔记(三)——IP核参数配置

在配置 AXI Memory Mapped to PCI Express core的过程中,需要根据设计需求调整各种参数,如数据位宽、时钟频率、输入输出接口等。这些参数将直接影响IP核的行为和性能,因此请务必仔细选择和配置。完成配置后,IP核生成,…

[激光原理与应用-77]:基于激光器加工板卡的二次开发软件的系统软硬件架构

目录 一、1个板卡、1个激光器、1个振镜的应用架构、1个工位 (1)PLC (2)MES (3)加工板卡 (4)激光加工板卡与激光器之间的转接卡 (5)DB25、DB15 &#x…

手机termux免root安装kali:一步到位+图形界面_termux安装kali-

1.工具 安卓包括鸿蒙手机、WiFi、充足的电量、脑子 2.浏览器搜索termuxvnc viewer下载安装。 3.对抗华为纯净模式需要一些操作先断网弹窗提示先不开等到继续安装的时候连上网智能检测过后就可以了 termux正常版本可以通过智能监测失败了就说明安装包是盗版 4.以后出现类似…

OpenCV初识

1、OpenCV简介 OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习软件库。它由一系列的C函数和少量C类构成,同时提供Python、Java和MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算…

【前端学习——js篇】11.元素可见区域

具体见:https://github.com/febobo/web-interview 11.元素可见区域 ①offsetTop、scrollTop offsetTop,元素的上外边框至包含元素的上内边框之间的像素距离,其他offset属性如下图所示: 下面再来了解下clientWidth、clientHeight…

Memcached非关系型数据库介绍

使用背景 Memcached 不是一个数据库,而是一个高性能的分布式内存对象缓存系统。它主要用于减轻数据库负载,提高动态Web应用的速度、可扩展性和性能。Memcached 的工作原理是将数据存储在内存中,以提供快速的数据访问。当应用程序需要访问数据…