[课程与套件] 第二课时 机器人控制器 单片机运行原理(二)

[复制链接]
版主xavier.fan
2018-3-27 20:25:54 显示全部楼层

马上注册,玩转Robomaster!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 xavier.fan 于 2018-3-28 15:59 编辑

     接上一部分内容我们来继续学习单片机的运行原理:     单片机的内部组成结构如下图所示:
221606qnepndasdzanznst.jpg

     CPU(Central Processing Unit,中央处理器)

     cpu又叫中央处理器。它具备数据计算和指令执行的功能。它具体能做哪些运算呢?比如我们常用的加、减、乘、除、微分、积分等等。哪些属于指令的执行呢,比如,需要计算加法,那么就需要一个指令。当然CPU还能执行很多指令,具体的指令要看单片机的指令系统。

microprocessor-chip-in-circuit-board-85757306-596fa28e6f53ba0011f9135c.jpg

     RAM(Random Access Memory,随机存取存储器)
     在运算的时候,会产生大量的临时数据,这些数据会记录在一个叫做RAM存储器里。RAM就是一个草稿本,能够快速更新迭代,CPU会按程序的要求,在RAM的特定位置读写数据。
     但由于技术所限,目前的 RAM 都需要电来维持体内数据的存在。一旦失去电源,RAM 内的数据就会全部消失。
      caogaozhishangdefangchengshishiliangsucai_4046622.jpg

      ROM(Read-Only Memory,只读内存)
      CPU 想要工作,需要我们事先写好工作流程(指令或程序),这个工作流程就被刻在了一个叫 ROM 的存储器里。有些数据需要长期保存,比如说机器人今天学到的新知识,也会被写到 ROM 上。
微信图片_20180327200246.jpg
      ROM 就像一个石碑,上面记的程序是固定不变的,能够在断电后继续保持体内的数据(失电保护),但它的读写速度较慢。
      时钟
      所有的数字系统的工作都离不开一个东西——时钟。这里说的时钟不是家里挂的钟或者手上戴的表,而是一种基准信号。就像队列齐步走的时候,有人在喊一二一,大家会跟着喊的节奏来走路。单片机的工作节奏就是跟着时钟走的。
微信图片_20180327200553.gif
       无论是计算机还是单片机,在一个时钟周期里都只完成一个最基本的操作,时钟周期越小,处理器工作频率越高,因此时钟频率是处理器性能的重要衡量标准。但根据指令的复杂程度不同,完成一个指令的所需的时钟周期也是不同的,所以时钟频率也并不等同于指令执行速率或系统总体性能。

       输入/输出设备:并行I/O端口和串行通信端口
       单片机用密密麻麻的引脚与外界联系,它们就像电脑上的 USB、HDMI、网口等插口。引脚往往拥有多种功能,就像奥特曼可以切换不同形态来改变功能。引脚也可以通过程序更改功能(术语叫复用功能)。
微信图片_20180327200857.jpg
       并行 I/O 口
       单片机四周的许多引脚都可以被复用为 I/O口。I/O 口可以设置为输入(Input)模式或输出(Output)模式,1 和 0 用高低电平表示。
微信图片_20180327201028.jpg

       这种通信方式用了大量的引脚,理论上数据传输率高,但是由于传输过程需要保持时序一致,导致速度有限、易受干扰。
       串行通信
       在机器人比赛中,机器人往往会搭载多块单片机和电脑,它们之间通常采用通信效率更高的串行通信。串行通信通过少量的引脚发送变化的电平来交流。
虽然理论上引脚少了会降低传输效率,但因为不需要保持每个引脚的时序一致,所以反而耗时更短。
微信图片_20180327201044.gif



       中断


       无论是个人电脑还是单片机,在工作中都少不了一个帮手——中断。




       中断是指,正常程序运行过程中出现特殊情况需要处理,处理器就会自动停止当前运行程序,并转入处理新情况的程序,处理完毕后又返回之前被暂停的程序继续运行。
微信图片_20180327201854.jpg


       中断机制提高了系统效率,在维持系统可靠工作的同时,又满足了实时处理要求。为什么会有特殊的情况需要处理呢? 我们举个例子:
       在 RoboMaster 赛场上,当机器人在运动时,裁判系统会同时传来信息,告诉你机器人现在的功率、速度等等。这时单片机会停止机器人运动,并且记下当前的程序运行到哪了,然后去运行接收裁判系统数据的程序,接收完再回来继续运行机器人运动的程序。

微信图片_20180327202004.jpg

       由于这个过程耗时十分之短,机器人实现了“近似的”一边控制运动一边接收数据的功能。
       再比如,我们日常会一边美滋滋地看电影,一边在后台下载其他资源,我们会以为这两件事在同步进行。其实,电脑是通过中断功能“假装自己同步进行”,不停地在播放电影和下载资源之间来回切换,切换速度快到我们感受不到。
微信图片_20180327202054.gif
跳转到指定楼层

[课程与套件] 第二课时 机器人控制器 单片机运行原理(二)

[复制链接]
上等兵yangliuyonggood
2018-6-17 13:55:05 显示全部楼层
大佬牛逼,佩服佩服6666666

[课程与套件] 第二课时 机器人控制器 单片机运行原理(二)

[复制链接]
上等兵xiaojindong
2018-7-16 16:41:40 显示全部楼层
66666666666666666666

[课程与套件] 第二课时 机器人控制器 单片机运行原理(二)

[复制链接]
上等兵yzsszy
2018-10-18 15:58:27 显示全部楼层
这介绍通俗易懂,棒棒棒

[课程与套件] 第二课时 机器人控制器 单片机运行原理(二)

[复制链接]
上等兵年少有为
2018-10-28 14:03:16 显示全部楼层
大佬牛逼,佩服佩服6666666
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

触屏版 | 电脑版

Copyright © 2019 RoboMasters 版权所有

快速回复 返回顶部 返回列表