锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

嵌入式接口复习资料

时间:2022-09-10 22:30:00 判断电阻大小内接外接v20f电容微型风速传感器0微型风速面风速传感器d风速变送器微型风速变送器0

文章目录

  • 前言
  • 题目
    • 冯诺依曼体系结构和哈佛体系结构是什么?各有哪些特点?
    • 什么是CISC和RISC?他们有什么区别?
    • 微型计算机系统的组成是什么?硬件部分主要由哪几部分组成?
    • 微型计算机的总线是什么?总线结构的优缺点是什么?
    • 简要介绍微型计算机的工作流程。
    • CPU内部主要包括哪些功能部件?
    • 什么是标志寄存器,它包含什么位置?这些位置的含义是什么?
    • 当两个无符号数量相对较大时,如何使用标志位来判断大于、等于、等于和等于关系?
    • 当两个有符号数比较大小时,如何利用标志位判断大于、等于、小于等于和大于等于关系?
    • CM内核中有哪些总线相关部件,它们有什么作用?
    • 连接寄存器R如何实现程序跳转和返回地?
    • STM32主系统由哪些单元组成?
    • 堆栈是什么?有什么作用?CM三是以什么形式堆栈?
    • 为什么微处理器和外设需要传输数据?I/O接口?
    • CPU外设交换的信息有哪些类型?接口和端口是什么?它们之间的关系是什么?
    • I/O端口编址有哪两种方式?各有哪些优缺点?
    • CPU在外设之间传输数据的方式有哪些?各有哪些特点?
    • 简要介绍输入传输模式的实现过程。
    • 硬件上输入接口和输出接口通常需要什么逻辑电路?
    • 上拉电阻和下拉电阻是什么?在什么情况下需要上拉电阻和下拉电阻?
    • 推拉输出的特点是什么,使用时应注意什么?
    • STM32的GPIO什么样的工作方法,用在什么场合?
    • STM32的GPIO什么是相关的寄存器?它们有什么作用?
    • 什么是中断?中断有什么作用?
    • 中断的工作机制是什么?中断请求与中断服务的关系是什么?中断系统的作用是什么?
    • 什么是外部中断?什么是内部异常?两者有什么区别?为什么很多时候不区分?
    • 外部中断请求将被记录在哪里?如何清除中断挂起寄存器的有效位置?
    • 如何表达优先级?为什么?STM32中的一些中断的优先级位负数?![在这里插入图片描述](https://img-blog.csdnimg.cn/300e8c290b5b4207bd0879a6e7e69e4f.png)
    • 中断优先级的作用是什么?为什么要划分优先级和子优先级?
    • 选用NVIC_PriorityGroup_0优先级分组的用途是什么?NVIC_PriorityGroup_4呢?
    • 中断服务程序是什么?它和普通子程序有什么区别?
    • 什么是中断向量?什么是中断向量表?中断向量表有哪两种?
    • 编制中断服务程序需要注意什么?
    • 为什么在中断过程中需要保护断点和现场?STM32这方面有什么特别之处?
    • 设置(延迟)的基本方法是什么?每个用途是什么?
    • 什么是影子寄存器?它有什么作用?STM32参考手册,说明一般定时器有哪些影子寄存器?哪些库函数可以使或关闭预加载控制?
    • STM32通用定时器由哪三部分组成?它们各自的功能是什么?
    • 更新事件是什么?STM32通用定时器有哪些更新事件?各有什么用?
    • 输入捕获有什么作用?STM如何实现输入捕获?
    • 连续转换是什么?扫描模式是什么?
  • 结语

前言

刚考完,以为以后还要看看?记录下来。

题目

冯诺依曼体系结构和哈佛体系结构是什么?各有哪些特点?

冯诺依曼结构具体有以下特点:
(1) 所有计算机处理的数据和指令都用二进制数表示,并存储在同一个地方。
(2) 计算机顺序执行程序,即将要执行的程序和处理的数据首先存储在主存储器中。执行程序时,自动从主存储器中逐一取出。
(3) 计算机硬件由五部分组成:运算器、控制器、存储器、输入设备和输出设备。
在这里插入图片描述

哈佛结构是一种并行的系统结构,其主要特点是在不同的存储空间中存储程序和数据,即程序存储器和数据存储器是两个独立的存储器,每个存储器独立编写地址和访问。与两个存储器相对应的是四条系统总线:程序数据总线和地址总线。数据总线和地址总线。

与冯诺依曼结构处理器相比,哈佛结构有两个明显的特点:一是使用两个独立的存储模块分别存储指令和数据,每个存储模块不允许指令和数据共存;二是使用两条独立的总线作为CPU与每个存储器之间的特殊通信路径无关。

什么是CISC和RISC?他们有什么区别?

CISC指复杂指令系统计算机;RISC指简化指令系统计算机。自计算机诞生以来,CISC一直使用指令集,X86系统结构的使用CISC技术。CISC基本上,一个功能对应于一个指令。其特点是指令系统庞大,指令功能复杂,指令格式多,寻址方式多;大多数指令需要多个机器周期才能完成;各种指令可访问存储器;微程序控制;专用存储器很少。

RISC技术的基本思想是尽可能简化计算机指令功能,只保留简单的功能,可以在拍内完成的指令,并使用一段程序实现更复杂的功能。RISC技术本质是简化计算机指令功能,减少指令的平均执行周期,提高计算机的主要工作频率,大量使用通用寄存器,提高子程序的执行效率。

区别:
(1) CISC计算机的指令系统比较丰富,有专门的指令来完成特定的功能,理特殊任务更有效。RISC机器实现特殊功能的效率可能较低,因为不常用的功能是通过组合指令完成的,但这一缺点可以通过流水技术和超标技术来改进和弥补。
(2) RISC限制内存操作,简化控制;CISC机器内存操作指令多,操作直接。
(3) RISC汇编语言程序一般需要较大的内存空间,实现特色功能时程序复杂;而CISC汇编语言程序相对简单,科学计算和复杂操作的程序设计相对简单高效。
(4) RISC机器可以在指令执行的适当地方响应中断;CISC该机器在指令执行后中断响应。
(5) RISC的CPU单元电路少,面积小,功耗低;CISC的CPU包含丰富的单元电路,功能强、面积大、功耗大。
(6) RISC微处理器结构简单,指令规则;CISC特殊功能易于实现,微处理器结构复杂,功能强大。
RISC和CISC技术试图平衡系统结构、操作操作、软件和硬件、编译时间和操作时间,单独偏向某一方面不是最佳选择。因此,随着技术的不断进步,微处理器的功能越来越强大,RISC和CISC为了提高微处理器的总和性能,技术也在相互学习。

什么是微型计算机系统?硬件主要由哪些部件组成?

微型计算机系统由硬件系统和软件系统组成。硬件系统构成微型计算机的物理设备,软件系统是硬件系统中的各种程序。

微型计算机的硬件主要由微处理器组成(CPU)、以微处理器为核心,通过地址总线、数据总线和控制总线连接主存储器、输入/输出接口和设备。

微型计算机的总线是什么?总线结构的优缺点是什么?

总线是微计算器各部件连接的纽带,是各功能部件之间信息交互的公共通道。当功能部件需要与功能部件相匹配时,每个功能部件必须通过三态门连接到总线CPU交换信息时,打开相应的三态门;不交换信息时,相应的三态门处于高阻状态。

总线根据不同的位置分为内部总线和外部总线。内部总线也称为系统总线,根据不同的传输信息分为地址总线、数据总线和控制总线。外部总线位于计算机或计算机与其他智能设备之间的信息传输线路,主要是串行总线,主要包括RS-232C、RS422/485、USB等。

自诞生以来,微型计算机一直采用总线结构。总线结构使整个系统的结构非常清晰,简化了系统结构和硬件设计,便于采用模块化结构设计方法。在同一总线标准下,系统具有良好的扩展性,便于故障诊断和维护。
总线结构的缺点是使用总线传输是分时的。当多个主机同时申请使用总线时,必须仲裁总线,以确定谁有使用总线的权利。

简要介绍微型计算机的工作流程。

在硬件和软件的密切配合下,微型计算机必须工作。工作前,程序代码必须存储在主存储器中,每个指令都有唯一的操作代码,代表操作的性质。绝大多数指令和操作数是操作对象,有些操作数位于CPU在内部,有些操作数位于CPU在内部,有些操作数位于存储单元中,甚至还有操作数位于外部设备中。计算机的工作过程是按照程序安排的指令顺序和逻辑逐一执行,具体步骤如下:
(1) 程序指针PC中,将PC地址信息发送到地址总线,通过地址译码器找到相地存储单元,将指令代码取出,并将取出地指令代码送到指令寄存器。
(2) 将指令代码送到指令译码器ID进行指令译码,得到各种控制信号,指挥CPU各部协调工作。
(3) 算术逻辑单元ALU对操作数进行运算,并存放运算结果,更新标志寄存器FR内容。
(4) 程序指针PC的值自动加1,指向下一个存储单元,开始取新的指令代码。
综上所述,微型计算机地工作过程就是取指令、译码指令、执行指令几个步骤不断重复地过程。

CPU内部主要包括哪些功能部件?

中央处理器(CPU),它是采用大规模集成电路技术制成的半导体芯片,内部集成了计算机的主要部件——控制器、运算器和寄存器,还有一些增强的功能部件,如MPU,Cache等。

什么是标志寄存器,它包含哪些位?这些位地含义是什么?

标志寄存器(FR);也称程序状态字(PSW)寄存器,用来保存最近一次ALU操作结果的特征标志,后续指令通过测试这些特征标志,判断程序是否转移。这些特征标志被称为标志位,各标志位的意义与具体的CPU有关。通常有以下几种标志位:
(1) 符号标志位(SF),表示运算结果是否为负数。
(2) 零标志位ZF,表示运算结果是否为零。
(3) 辅助进位标志位AF,也称为半进位标志位,表示运算时第三位与第四位之间是否有进位或借位
(4) 奇偶标志位PF,表示运算结果中1的数量是奇数还是偶数。
(5) 进/借位标志位CF,表示运算是否产生了进位或借位。
(6) 溢出标志位OF,表示有符号运算结果是否超出范围,产生溢出。

当两个无符号数比较大小时,如何利用标志位判断大于、等于、小于等于和大于等于关系?

A-B然后看进/借位标志位CF标志,有借位(CF=1)则B大,再看零标志位ZF标志,如果ZF=1则说明结果为0,说明A=B。

当两个有符号数比较大小时,如何利用标志位判断大于、等于、小于等于和大于等于关系?

A-B看符号标志位SF,如果SF=1说明结果为负数,那么说明B大,再看零标志位ZF,如果ZF=1说明结果为0,说明A=B。

CM3内核中有哪些总线相关部件,它们有什么作用?

ICode总线:该总线将CM3内核指令总线和闪存指令接口相连,完成指令的预取。
DCode总线:该总线将CM3内核的DCode总线与闪存存储器的数据接口相接,完成常量加载和调试访问。
系统总线:该总线连接CM3内核的系统总线到总线矩阵,总线矩阵协调内核和DMA间访问。

连接寄存器R14是如何实现程序地跳转和返回地?

R14是连接寄存器(LR)。当调用一个子程序时,由R14存储返回地址。与大多数其他处理器不同的是,ARM为了减少访问内存的次数(访问内存的操作往往需要3个代码以上指令周期),把返回地址直接存储在寄存器中。这样足以使很多只有1级子程序调用的代码,在返回时无需访问堆栈内存,从而提高了子程序调用的效率。如果多余1级,则需要把前一级的R14值压入堆栈。在ARM上编程时,应尽量只使用寄存器保存中间结果,迫不得已时才访问内存。

当调用一个子程序指令执行时,返回地址被自动装入LR;子程序返回时,借助LR,即可返回到主程序中调用指令的下一条指令。

STM32主系统由哪些单元构成?

STM32主系统由四个驱动单元和四个被动单元构成。四个驱动单元是:内核DCode总线、系统总线、通用DMA1、通用DMA2。四个被动单元是:AHB到APB的桥,连接所有的APB设备,内部Flash闪存,内部SRAM(静态随机存取存储器),FSMC(可变静态存储控制器)。

什么是堆栈?有什么作用?CM3采用了哪些形式地堆栈?

堆栈是一种存储器的使用模型,它由一块连续的内存和一个栈顶指针SP组成,用于实现LIFO的缓冲区。其最典型的应用,就是在数据处理前先保存寄存器的值,再在处理任务完成后从中恢复先前保存的这些值。它有压栈和出栈两种操作。

R13是堆栈指针寄存器SP,CM3支持内存中设置2个堆栈,分别称为主堆栈和进程堆栈,相应地CM3核中R13包含2个堆栈指针寄存器,分别为主堆栈指针MSP和进程堆栈指针PSP。
在没有OS环境下,用户程序一般使用主堆栈。在带有OS的环境中,OS使用主堆栈,用户程序使用进程堆栈。

微处理器与外设传送数据时为什么需要I/O接口?

I/O接口是指CPU与外部设备之间的连接通道及其相关的控制电路。I/O接口是连接CPU与外设的桥梁和纽带,他在CPU与外部设备交换信息中起着非常重要的作用。
I/O接口电路的作用:
(1) 为数据提供
存和缓冲功能:在计算机系统中,CPU的运行速度很高,而外设的速度往往很低,即使是快速的外部设备,其工作速度也远远不及CPU的工作速度,一般而言,CPU的工作速度是外设的几十倍乃至几千倍。计算机是通过数据总线输入或输出信息的,不允许任何外设长时间占用总线,I/O接口为数据提供输出锁存和输入缓冲功能,在CPU不操作外设时,I/O接口电路实现CPU与外设的隔离,解决速度匹配问题。
(2) 实现信号变换功能:计算机内部的信号都是并行的、数字的,采用TTL电平标准,而外设有串行的、模拟的,信号电平也千差万别,要实现这种不同信号的连接,必须通过I/O接口电路进行转换。实现并行信号与串行信号之间的转换需要移位寄存器,通信接口电路具有这种功能。实现模/数和数/模信号输入/输出需要A/D和D/A转换接口电路。实现各种电平的开关量信号的输入/输出需要进行电平转换,如TTL电平不能直接去驱动24V的直流继电器
(3) 提供外设控制、监制和管理功能:I/O接口电路接受来自CPU的控制信号,实现对外设的控制和管理。外设的工作状态也可以通过I/O接口送回CPU,确保操作同步。为实现CPU与外设并行工作,专用的I/O接口可以挂历来自外设的中断请求,以中断方式进行输入/输出,大大提高CPU的利用率。

CPU同外设交换的信息有哪些类型?什么是接口和端口?他们之间的关系如何?

CPU同外设交换的信息有数据信息、状态信息和控制信息三种。

I/O接口通常是指连接CPU与外设的集成芯片,不同的外设需要不同的I/O接口。一个I/O接口芯片往往有若干个I/O端口,根据CPU与外设之间传输信息类型不同可以分为数据、状态、控制三种I/O端口,需要说明的是,不是每个I/O接口都具有三种类型的端口,也不是同一种类型端口的数量只有一个,要根据实际需要确定。

I/O端口编址方式有哪两种?各有什么优缺点?

CPU与外设之间传送数据有哪几种方式?各有什么特点?

CPU与外设之间的数据传送方式一般分为4种:无条件传送、查询传送方式、中断传送方式和DMA传送方式。可将无条件传送和查询传送方式合称为程序控制传送方式。







简述查询输入传送方式的实现过程。

通常情况下输入接口和输出接口在硬件上需要什么逻辑电路?

在外部扩展并行I/O接口电路时,通常用缓冲器扩展输入接口电路,用锁存器扩展输出接口电路。上拉/下拉电阻输入;OC/OD输出电路;推挽输出电路

什么是上拉电阻和下拉电阻?在什么情况下需要上拉电阻和下拉电阻?


推挽输出有什么特点,使用的时候需要注意什么?


STM32的GPIO有哪几种工作方式,分别用于什么场合?


输入浮空模式:适用负载驱动能力强(允许大灌电流、大拉电流)的外部输入设备。例如,两态输出的按键设备。

输入上拉模式:适用于(1)拉电流承受能力弱的外部输入设备(2)仅能产生低电平信号的按键(闭合输出低电平,断开输出高阻)

输入下拉模式:适用于:(1)承受灌电流能力弱的外部设备.(2)仅能产生高电平信号的按键(闭合输出高电平,断开输出高阻)

模拟模式:适用于模拟信号输入(作为片内ADC接口的信号输入)。例如:模拟温度传感器、模拟压力传感器、模拟风速传感器、话筒、模拟摄像头等

开漏输出模式:适用于:
(1)外部输出设备需要大于接口电源电压的情况
例如芯片接口电源VCC=3.3V(输出高电平3.3v),而外部设备电机设备电压12V,为此采用开楼输出,通过外接上拉电阻连接到12V外设电源,即可提供12V输出驱动电机。
(2)需要将不同的输出信号相与,在此模式下,多个IO输出信号直接连到一起(外接上拉电阻),实现“线与”功能。省下专用的与门。

开漏复用输出模式:
适用于:复用功能情况下的开漏输出
例如,定时器接口、DAC接口、USART接口,它们无专用外设信号线,需要借助于GPIO接口输出信号,此时应该将GPIO接口设置为复用模式。如果需要线与,或加大输出电压,则设复用置开漏模式

推挽输出模式:
适用于:输出设备功率较大(额定输出功率3.3V20mA,实际可以达到3.3V 50mA),信号变化块的场合

推挽复用输出模式:
适用于:复用功能情况下的推挽输出
例如,定时器接口、DAC接口、USART接口,它们无专用外设信号线,需要借助于GPIO接口输出信号,此时应该将GPIO接口设置为复用模式。如果需要驱动功率大、速度快,则设复用置推挽模式

STM32的GPIO相关寄存器有哪些?各有什么作用?

    - GPIOx_CRL :端口配置低寄存器
    - GPIOx_CRH:端口配置高寄存器
    - GPIOx_IDR:端口输入寄存器
    - GPIOx_ODR:端口输出寄存器
    - GPIOx_BSRR:端口位设置/清除寄存器
    - GPIOx_BRR :端口位清除寄存器
    - GPIOx_LCKR:端口配置锁存寄存器





什么是中断?中断有什么作用?

中断的工作机制是什么?中断请求与中断服务的关系是什么?中断系统在其中起到什么作用?


中断系统对众多的中断源进行管理:
1)决定中断源是否有权请求以及有效的请求方式。
2)多个中断源随机产生中断请求,有可能先后产生,也有可能同时产生,而CPU在同一时间只能响应其中一个。这就需要中断系统的优先级管理来协调这种竞争关系。
3)为每个请求找到其相应的服务程序地址。

什么是外部中断?什么是内部异常?二者有何不同?为什么许多时候又不区分它们?


一个外部中断请求会在哪些地方被挂起记录?中断挂起寄存器中的有效位是如何被清除的?

中断请求:中断源通过专用的中断请求信号线(外部中断源)或内部异常请求信号线(内部异常源)向CPU中的中断控制器(如CM3中的NVIC)发出规定的有效信号(如,约定高电平代表有效),表示“中断请求”

中断挂起:如果一个异常源或中断源发出请求后不能立即得到CPU的响应(CPU当前正在响应更高优先级的异常或相关屏蔽寄存器被设置,它将暂时得不到响应),这个状态称为“挂起”(悬而未决)。

EXTI1_PR、EXTI1_SWIER

如何表示优先级的高低?为什么STM32中的一些中断的优先级位负数?




3种系统内部异常(复位,NMI和硬FAULT)拥有固定不变的负数优先级(高于其它所有的异常)。

中断优先级的作用是什么?为何要划分抢占优先级和子优先级?


选用NVIC_PriorityGroup_0优先级分组有什么用途?选用NVIC_PriorityGroup_4呢?

NVIC_PriorityGroup_0选择第0组,抢占优先级0位,子优先级4位,说明抢占优先级只能为0,一直拥有最高的抢占优先级
NVIC_PriorityGroup_4选择第4组,抢占优先级4位,子优先级0位,说明子优先级只能为0,一直拥有最高的子优先级。(可能是这样)

什么是中断服务程序?它与普通的子程序有什么区别?


什么是中断向量?什么是中断向量表?有哪两种类型的中断向量表?


编写中断服务程序需要注意些什么?


编写位置、不宜过长等

中断处理过程中为什么需要保护断点和保护现场?STM32再这方面有何特别?


定(延)时有哪些基本方法?各有什么用途?


1.软件延时:CPU执行一段“空”程序实现延时
优点:不需要添加额外的硬件设备,简单易实现
缺点:占用CPU时间,精度受中断及CPU主频时钟影响

2.硬件延时电路:采用附加的数字电路(如555单稳态芯片)产生特定的延时。

优点:不占用CPU时间
缺点:改变延时时间需要调整电路参数(电阻、电容值),通用性灵活性差,时间精度受电路参数影响,稳定性差。

3.可编程定时器(计数器):
以专用芯片(如Intel8253)或MCU中集成的定时器接口设备(如STM32中的TIM1~8 )来进行定时。

优点:定时器初始化后就独立于CPU工作,不占用CPU时间,时间长短不限,使用灵活精度高。
缺点:增加硬件成本

什么是影子寄存器?它有何作用?查阅STM32参考手册,说明通用定时器有哪些影子寄存器?哪些库函数可以使能或关闭预加载控制?



预分频器PSC、自动重加载寄存器ARR、捕获/比较寄存器1234


举例说明: TIMx_CR1中ARPE位(自动加载使能位)

ARPE =0时:每次软件写入自动更新寄存器ARR新计数初值时,硬件自动将ARR的预加载寄存器的值传送到其影子寄存器(无缓冲直通);

ARPE=1时:只有在下一次更新事件发生时,硬件才将ARR的预加载寄存器的值传送到其影子寄存器。

STM32的通用定时器由哪三部分组成?它们各自有什么功能?




什么是更新事件?STM32通用定时器有哪些更新事件?各有什么用途?

输入捕获有什么作用?STM32是如何实现输入捕获的?

什么是连续转换?什么是扫描模式?

连续转换模式
当前面一次ADC转换结束后,马上启动另一次转换。将ADC_CR2寄存器中的CONT位置可选择连续转换模式,此模式可通过外部触发启动或软件触发启动,一旦启动后,ADC执行转换将转换结果存放ADC_DR寄存器中,如果使能中断则产生中断信号,ADC会继续启动下一次的ADC转换,一直往复循环。
扫描模式
用来扫描一组模拟通道,该模式可通过设置ADC_CR1寄存器中的SCAN位设置,SCAN=0表示关闭扫描模式,ADC_会扫描被ADC_SQRx寄存器或ADC_JSQR寄存器选中的所有通道。在每个组的每个通道执行一次单词转换,在单次转换结束时,同一组的下一个通道会被自动转换。如果选择了单词转换模式CONT=0,则会在该组最后一个通道转换完成后停止,并产生一个结束信号。如果选择了连续转换模式CONT=1,则不会在选择组的最后一个通道上停止,而是再次从选择组中的第一个通道继续转换。

结语

就整理了这些,然后可能里面会有些错误,因为有的是按自己的理解来的,难免会不准确。

本文参考 : 微机原理与嵌入式接口技术 by 刘显荣

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章