嵌入式Linux知识第六章——单片机

目录

6.1 CPU 内存 虚拟内存 磁盘/硬盘 的关系⭐⭐⭐

6.2 CPU内部结构⭐⭐⭐⭐

6.3 ARM结构处理器简析 ⭐⭐

6.4波特率是什么,为什么双方波特率要相同,高低波特率有什么区别;⭐⭐⭐⭐

6.5arm和dsp有什么区别⭐⭐

6.6 ROM RAM的概念浅析⭐⭐⭐

6.7 IO口工作方式:上拉输入 下拉输入 推挽输出 开漏输出⭐⭐⭐⭐

6.8扇区 块 页 簇的概念⭐⭐⭐⭐

6.9简述处理器在读内存的过程中,CPU核、cache、MMU如何协同工作?画出CPU核、cache、MMU、内存之间的关系示意图加以说明⭐⭐

6.10请说明总线接口USRT、I2C、USB的异同点(串/并、速度、全/半双工、总线拓扑等)⭐⭐⭐⭐⭐

6.11什么是异步串口和同步串口⭐⭐⭐⭐⭐

6.12 I2C时序图⭐⭐⭐⭐⭐


  • 6.1 CPU 内存 虚拟内存 磁盘/硬盘 的关系⭐⭐⭐

CPU:

  CPU即中央处理器,是英语“Central Processing Unit”的缩写。CPU从内存或缓存中取出指令,放入指令寄存器,并对指令译码分解成一系列的微操作,然后发出各种控制命令,执行微操作系列,从而完成系统指令的执行。

内存:

  但是,CPU并不能直接调用存储在硬盘上的系统、程序和数据,必须首先将硬盘的有关内容存储在内存中,这样才能被CPU读取运行。因而,内存(即物理 内存,是相对于硬盘这个“外存”而言)作为硬盘和CPU的“中转站”,对电脑运行速度有较大影响。

虚拟内存:

  当运行数据超出物理内存容纳限度的时候,部分数据就会自行“溢出”,这时系统就会将硬盘上的部分空间模拟成内存——虚拟内存,并将暂时不运行的程序或不使用的数据存放到这部分空间之中,等待需要的时候方便及时调用。

硬盘:

  由于内存是带电存储的(一旦断电数据就会消失),而且容量有限,所以要长时间储存程序或数据就需要使用硬盘(外存储器)。硬盘也会影响系统速度,因为 系统从硬盘中读取数据并通过总线存入内存的速度也会影响系统运行的快慢。

  • 6.2 CPU内部结构⭐⭐⭐⭐

CPU总体构图

CPU中央处理器(Central Processing Unit)

CPU的结构框图:CPU内部由ALU(算术逻辑单元)、CU(控制器)、寄存器(PC、IR、PSW、DR、通用寄存器等)、中断系统组成,外部通过总线与控制总线、数据总线、地址总线进行相连,对数据和程序进行相关的操作。

  • 6.3 ARM结构处理器简析 ⭐⭐

  • 6.4波特率是什么,为什么双方波特率要相同,高低波特率有什么区别;⭐⭐⭐⭐

波特率是每秒钟可以传送的二进制位数,其单位是bps(bits/s),它是衡量出行数据速度快慢的重要指标。

波特率相当于通讯的采样率 这样的比方可能你会理解的容易一些就是2个玩杂耍的人面对面丢瓶子那样 2个人必须保持一样的速度。

  对于通信系统来说:

  (1)可靠性跟有效性是一对矛盾。有效性指信息的速率快慢问题,可靠性是指信息的质量好坏问题。

  (2)提高可靠性的同时是以牺牲有效性为代价的。

  (3)提高有效性的同时也会牺牲可靠性的。

  这里波特率就是有效性的一个指标,提高波特率就是提高信息的传输速率,也就是说信息的传输更快(波特率定义为单位时间内传输的码元个数)。误码率为可靠性指标。

  在实际中,常常采取折中办法,即在满足一定可靠性指标下,尽量提高消息的传输速率,即有效性;或者在维持一定有效性的条件下,尽可能提高系统的可靠性。

  综上所述,波特率的高低都未必是件坏事也未必是好事!

  • 6.5arm和dsp有什么区别⭐⭐

总的来说主要区别有:

ARM具有比较强的事务管理功能,可以用来跑界面以及应用程序等,其优势主要体现在控制方面,它的速度和数据处理能力一般,但是外围接口比较丰富,标准化和通用性做的很好,而且在功耗等方面做得也比较好,所以适合用在一些消费电子品方面;

而DSP主要是用来计算的,比如进行加密解密、调制解调等,优势是强大的数据处理能力和较高的运行速度。由于其在控制算法等方面很擅长,所以适合用在对控制要求比较高的场合,比如军用导航、电机伺服驱动等方面。

如果只是着眼于嵌入式应用的话,嵌入式CPU和DSP的区别应该只在于一个偏重控制一个偏重运算了。

  • 6.6 ROM RAM的概念浅析⭐⭐⭐

RAM - RamdomAccessMemory

 随机存取存储器,又称作“随机存储器”,是与CPU直接交换数据的内部存储器,也叫主存(内存)

这种存储器在断电时将丢失其存储内容,故主要用于存储短时间使用的程序。

易挥发性随机存取存储器,高速存取,读写时间相等,且与地址无关,如计算机内存等。 

可以随时读写,而且速度很快,通常作为操作系统或其他正在运行中的程序的临时数据存储媒介

当电源关闭时RAM不能保留数据。如果需要保存数据,就必须把它们写入一个长期的存储设备中(例如硬盘)。RAM和ROM相比,两者的最大区别是RAM在断电以后保存在上面的数据会自动消失,而ROM不会自动消失,可以长时间断电保存。

ROM-Read Only Memory

只读存储器。断电后信息不丢失ROM所存数据,一般是装入整机前事先写好的,整机工作过程中只能读出,而不像随机存储器那样能快速地、方便地加以改写。ROM所存数据稳定,断电后所存数据也不会改变;

从电脑来说一般比较好理解,RAM就是我们平时所说的运行内存,它的确是随时可读写的。因为CPU处理的数据都是以运行内存为中介的。断电后信息是不保存的。那么对于ROM来说,是不是就是硬盘呢?不是说ROM只可以读吗?硬盘却是可以修改的。的确,必须明确一点,RAM与ROM都是内存,而硬盘是外存,所以ROM不等于硬盘。计算机中的ROM主要是用来存储一些系统信息,或者启动程序BIOS程序,这些都是非常重要的,只可以读一般不能修改,断电也不会消失。

  • 6.7 IO口工作方式:上拉输入 下拉输入 推挽输出 开漏输出⭐⭐⭐⭐

1、上拉电阻:将一个不确定的信号,通过一个电阻与电源VCC相连,固定在高电平。在IO口为输入模式且为上拉电阻时,IO口的常态为高电平。

  2、下拉电阻:将一个不确定的信号,通过一个电阻与地GND相连,固定在低电平。在IO口为输入模式且为下拉电阻时,IO口的常态为低电平。

  3、推挽输出:可以输出高、低电平,连接数字器件。推挽结果一般是指两个三极管分别受两互补信号的控制,总是在一个三极管导通时令一个三极管截止。(推挽输出的最大特点是可以真正的输出高电平和低电平,且两种电平下都有驱动能力)。IO输出0-接GND, IO输出1 -接VCC

  4、开漏输出:输出端相当于三极管的集电极,要得到高电平状态需要加上拉电阻才行。适合做电流型的驱动,其吸收电流的能力比较强(20mA左右)(开漏输出最主要的特性就是高电平没有驱动能力,需要借助外部上拉电阻才能真正输出高电平)。开漏只能输出低电平,高电平的时候实际上是个高阻态,需要外接电阻来拉高的。

  • 6.8扇区 块 页 簇的概念⭐⭐⭐⭐

1)什么是簇?和块什么区别?

通俗的来讲,Windows下如NTFS等文件系统中叫做簇;在Linux下如Ext4等文件系统中叫做块(block。每个簇或者块可以包括248163264…2n次方个扇区。

2为什么存在磁盘块?

读取方便:由于扇区的数量比较小,数目众多在寻址时比较困难,所以操作系统就将相邻的扇区组合在一起,形成一个块,再对块进行整体的操作。

分离对底层的依赖:操作系统忽略对底层物理存储结构的设计。通过虚拟出来磁盘块的概念,在系统中认为块是最小的单位

3)怎么映射磁盘块?

磁盘控制器,其作用除了读取数据、控制磁头等作用外,还有的功能就是映射扇区和磁盘块的关系。

4)磁盘的读写基本单位是什么?

答案:读写基本单位是扇区。磁盘的原理,物理实现,磁盘控制器是按照扇区这个单位读取等操作数据的。操作系统是通过块簇来做为单位读取等操作数据的。此题问磁盘的读写,和操作系统没有关系,千万不要联系到操作系统层面去了。

文件系统就是操作系统的一部分,所以文件系统操作文件的最小单位是块。

5磁盘块与扇区的大小

既然磁盘块是一个虚拟概念。是操作系统自己"杜撰"的。软件的概念,不是真实的。所以大小由操作系统决定,操作系统可以配置一个块多大

一个块大小=一个扇区大小*2n次方。

N是可以修改的。

6块与页的关系

操作系统经常与内存和硬盘这两种存储设备进行通信,类似于的概念,都需要一种虚拟的基本单位。所以,与内存操作,是虚拟一个页的概念来作为最小单位。与硬盘打交道,就是以块为最小单位。

  • 6.9简述处理器在读内存的过程中,CPU核、cache、MMU如何协同工作?画出CPU核、cache、MMU、内存之间的关系示意图加以说明⭐⭐

  • 6.10请说明总线接口USRT、I2C、USB的异同点(串/并、速度、全/半双工、总线拓扑等)⭐⭐⭐⭐⭐

UART:通用异步串行口,速率不快,可全双工,结构上一般由波特率产生器、UART发送器、UART接收器组成,硬件上两线,一收一发。

I2C:双向、两线、串行、多主控接口标准。速率不快,半双工,同步接口,具有总线仲裁机制,非常适合器件间近距离经常性数据通信,可实现设备组网。

SPI:高速同步串行口,高速,可全双工,收发独立,同步接口,可实现多个SPI设备互联,硬件3-4线,

USB:通用串行总线,高速,半双工,由主机、hub、设备组成。设备可以与下级hub相连构成星形结构。

  • 6.11什么是异步串口和同步串口⭐⭐⭐⭐⭐

异步通信,是指数据传送以字符为单位,字符与字符间的传送是完全异步的,位与位之间的传送基本上是同步的。异步通信采用固定的通信格式,数据以相同的帧格式传送。每一帧由起始位、数据位、奇偶校验位和停止位组成。异步串行通信的特点可以概括为:

1)以字符为单位传送信息。

2相邻两字符间的间隔是任意长

3)因为一个字符中的比特位长度有限,所以需要的接收时钟和发送时钟只要相近就可以。

4)异步方式特点简单的说就是:字符间异步,字符内部各位同步。

  异步位系统是面向字符来传输信息的,也就是我们一般情况下的一个字符,8位,1bit,当然了传输的时候还要加上起始位和结束位,没有这两位接收方就不知道什么时候开始接收数据什么时候结束了

  同步通信,是指数据传送是以数据块(一组字符)为单位,字符与字符之间、字符内部的位与位之间都同步同步通信时,通信双方共用一个时钟,这是同步通信区分于异步通信的最显著的特点。同步串行通信的特点可以概括为:

1)以数据块为单位传送信息。

2在一个数据块(信息帧)内,字符与字符间无间隔

3)因为一次传输的数据块中包含的数据较多,所以接收时钟与发送进钟严格同步,通常要有同步时钟。

  • 6.12 I2C时序图⭐⭐⭐⭐⭐

  • 28
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值