当前位置: 首页 > news >正文

【期末速成】《微机原理与接口技术》知识点总结

文章目录

  • 前言
  • 第一、二章 接口技术概述
    • 1. 接口的定义*
    • 2. 接口功能特点*
    • 3. 接口的分类*
    • 4. 接口中的传输信息及其组成
    • 5. 接口的编址与译码*
    • 6. CPU 与外设之间的数据传送方式*
  • 第三章 总线
    • 1. 总线(BUS)的定义*
    • 2. 总线的标准
    • 3. 采用标准总线的优点*
    • 4. 总线的操作过程*
    • 5. 总线的通信方式*
  • 第四章 并行接口
    • 1. 并行接口
    • 2. 并行 I/O 接口芯片 8255A*
  • 第五章 串行接口
    • 1. 串行接口
    • 2. 串行 I/O 接口芯片 8251A*
  • 第六章 定时/计数技术
    • 1. 定时/计数技术
    • 2. 可编程定时器/计数器 8253*
  • 第七章 中断技术
    • 1. 概念*
    • 2. 8086/8088 中断系统*
  • 第八章 DMA 控制器
    • 1. 概念*
    • 2. 可编程 DMA 控制器 8237A*
  • 第九章 A/D 和 D/A 接口
    • 1. 概念*
    • 2. D/A 转换及接口*
    • 3. 模拟信号*
    • 4. A/D 转换的类型*

前言

为了突击《微机原理与接口技术》这门课程,根据老师上课的课件以及提到的重点,我把重要的知识点提取出来整理成了本篇博客。参考性不大,仅用来应付通过考试~

参考教材:任向民的《微机接口技术实用教程》

最重要的还得是根据自己老师所给的 “情报” 进行针对性复习
祝所有考生都能顺利通过考试~~~


第一、二章 接口技术概述

1. 接口的定义*

接口是微处理器(CPU)与外界的连接部分,是 CPU 和外界进行信息交换的中转站

接口技术是研究 CPU 如何与外部世界进行最佳耦合与匹配,以实现双方高速、可靠地交换信息的一门技术。


2. 接口功能特点*

功能说明
寻址功能确定数据应发送到哪个特定设备或内存位置的功能
输入/输出功能可以从一个设备读取数据并将数据发送到另一个设备
数据缓冲功能平衡两个不同速度的设备之间的数据传输
设备选择功能允许接口选择与其通信的设备,比如在多个设备共享同一个接口时
信号转换功能将一种类型的信号转换为另一种类型的信号(模数转换)
接受、解释并执行 CPU 命令功能接口可以理解响应 CPU 的指令,从而执行特定的任务或操作
中断管理功能当一个设备需要 CPU 的注意时,接口可以生成一个中断,从而通知 CPU
可编程功能允许接口的行为或操作根据特定的需要或应用程序进行定制
错误检测及复位功能可以检查数据传输中的错误,允许接口返回到其初始状态

3. 接口的分类*

  1. 通用性
    • 专用接口
    • 通用接口
  2. 可编程性
    • 可编程接口
    • 不可编程接口
  3. 数据传输方式
    • 并行接口:按字节/字为单位进行传送
    • 串行接口:按进行传送
  4. 工作对象
    • 面向 CPU 的外围接口
    • 面向外设的 I/O 接口

4. 接口中的传输信息及其组成

  1. 数据信息:数字量、模拟量、开关量
  2. 状态信息:用于表示外设工作状态的信号叫状态信息
  3. 控制信息:控制信息是 CPU 通过接口传送给外设的

image-20241121113131644


5. 接口的编址与译码*

编址:指为每个设备或内存位置分配一个唯一的标识符,通常称为 “地址”,以便 CPU 或其他硬件组件可以准确地访问它。

译码:指将来自 CPU 或其他硬件组件的地址信号转换为实际的硬件控制信号,以便正确地访问目标设备或内存位置。

寄存器与端口:接口电路通常包含若干个寄存器,数据传送时,不同的信息送入不同的寄存器。能够用 IN/OUT 指令对其进行读写操作的寄存器称为端口寄存器,即能被 CPU 直接访问的寄存器,简称 “端口”

端口分类

  • 数据端口:数据端口存放数据信息
  • 状态端口:状态端口存放状态信息,表示外设当前工作状态的信息
  • 控制端口:控制端口存放控制信息,控制信息是 CPU 通过接口传送给外设的,以控制外设的工作

I/O 端口的编址方法

  • 采用存储器映像方式(统一编址):将存储空间划出一部分给 I/O 端口。I/O 操作能使用对存储器操作的所有指令,不需要专门的 I/O 指令,它使 CPU 访问 I/O 端口的操作更加灵活、方便,有利于提高端口数据处理速度,但 I/O 端口占用了有效的存储器空间
  • I/O 映像方式(独立编址):I/O 端口地址不占用存储空间,所有的 I/O 端口地址单独构成一个 I/O 空间,特点是取周期较短,效率较高,寻址范围大,是微机系统中普遍采用的一种编址方式,但需要专门的信号区分是访问存储器还是 I/O 端口。

I/O 端口地址的译码方法

  1. 固定式地址译码:逻辑门译码、译码器地址译码
  2. 可选式地址译码:允许用户或系统设计者根据需要选择或更改接口电路的端口地址

CPU 的 I/O 指令

  1. 直接寻址

    IN AL,n ;8 位端口地址,输入一个字节

    OUT n,AL ;8 位端口地址,输出一个字节

  2. 间接寻址

    IN AL,DX;16 位端口地址,输入一个字节

    OUT DX,AL;16 位端口地址,输出一个字节


6. CPU 与外设之间的数据传送方式*

  1. 无条件传送方式(同步传送方式):数据的传输是按照预定的时间间隔或时钟周期进行的,不考虑接收设备的状态。优点是传输速度快缺点是如果接收设备不准备好接收数据,可能会导致数据丢失。
  2. 条件传送方式(查询传送方式):数据的传输是基于接收设备的状态或请求的优点是它可以确保数据的安全传输缺点是传输速度可能会比同步传送方式慢。
  3. 中断传送方式:计算机在执行正常程序的过程中,当出现某些紧急情况、异常事件或其他请求时,处理器会暂时中断正在运行的程序,转去执行对紧急情况或其他请求的操作处理。处理完成后,CPU 回到被中断程序的断点处接着继续执行,这个过程称为中断。
  4. DMA 传送方式(存储器直接存取方式):指外设与存储器或者存储器与存储器之间直接传输数据的方式。在这种方式中,外设与存储器或者存储器与存储器之间直接由专用接口芯片 DMA 控制器来管理直接数据的传输提高了传送速度和 CPU 的效率

第三章 总线

1. 总线(BUS)的定义*

一组能为多个部件分时共享的公共信息传送线路,是系统之间、模块之间、芯片内部用来传递信息的信号线的集合。

分时:指在同一时刻总线上只能传递一个部件的信息。

共享:指总线上可以连接多个部件,各个部件之间相互交换信息都可以通过总线来传送。


2. 总线的标准

机械结构规范:规定插件的尺寸大小、插槽、总线插头等的规格

时序规范:规定总线的定时、应答时序和周期及各种操作的时间参数

功能结构规范:规定信号的分类,数据传送方式、注射、位数,控制信号的功能等

电气规范:规定信号的逻辑电平、驱动类型、负载能力、交流与直流特性等

总线的分类

片内总线、片总线、内部总线(系统总线)外部总线(通信总线)


3. 采用标准总线的优点*

  1. 简化了系统的软硬件设计;
  2. 简化了系统结构,提高系统可靠性、可维护性;
  3. 便于系统的扩充;
  4. 便于系统的更新

4. 总线的操作过程*

  1. 总线请求和仲裁阶段

    当系统总线上接有多个总线主模块时,需要使用总线的主模块提出总线申请。由总线仲裁机构确定后把下一个传输周期的总线使用权分配给哪一个申请者,如果系统总线上只有一个总线主模块,就不需要这一阶段。

  2. 寻址阶段

    获得总线使用权的主模块通过总线发出本次需要访问的从模块的存储地址或 I/O 端口地址及有关操作命令,以启动参与本次传输的从模块。

  3. 数据传送阶段

    主模块和从模块进行数据交换,数据由源模块发出经数据总线传送到目的模块。

  4. 结束阶段:主从模块的有关信息均从系统总线上撤除,让出总线,以便其他主模块使用总线。


5. 总线的通信方式*

传输:通常是单向的,没有反馈或确认机制,只关注数据从一个地方到另一个地方的移动。

通信:通常是双向的,涉及发送方和接收方之间的反馈和确认。强调交互、解释和控制数据的过程。

同步通信方式

总线上的各个部件(模块)使用总线进行信息传输时都是在统一的时钟信号控制下步调一致地进行,从而实现整个系统工作的同步

实现同步的统一时钟信号有两种方法:一是由 CPU 总线控制部件发送到每个部件(模块)为所有部件共享;二是由每个部件(模块)自带时钟脉冲,但都必须由系统时钟同步。

特点同步传输速率较高,总线所连各部件工作速度比较接近的场合。采用同步方式的总线也称为同步总线。

异步通信方式

总线上的部件(模块)使用总线进行信息传送时不在统一的时钟信号控制下,通信双方(主、从模块间)采用 “请求” 和 “应答” 方式进行传输,不依赖于公共时钟。当源部件发出信息时,待收到目的部件确认信号后,才能进行通信,在通信的每个进程都有应答,彼此进行确认。

特点:异步通信方式的数据传输效率低于同步通信,对收发时钟要求不高


第四章 并行接口

1. 并行接口

概念:同时在多根传输线上,数据以字节(字)为单位进行传送。在并行传送方式下,外设(或被控对象)必须通过并行接口与系统总线相连接,如打印机、A/D、D/A 转换器等都通过并行接口与主机相连。

特点

  • 字节(字)为单位传送数据。

  • 传送速度快、成本高,适用于近距离、传送速度要求高的场合。

  • 从功能上可分为不可编程并行接口(简单并行接口)和可编程并行接口两种。


2. 并行 I/O 接口芯片 8255A*

基本特性

  • 8255A 是一个具有两个 8 位(A 和 B 口)和两个 4 位(C 口高/低四位),最多可达 24 位的并行输入输出端口的接口芯片。
  • 8255A 能适应 CPU 与 I/O 接口之间的多种数据传送方式的要求,如无条件传送,应答方式(查询)传送,中断方式传送。
  • 8255A 可执行功能很强,内容丰富的两条命令(方式字和控制字)为用户如何根据外界条件(I/O 设备需要哪些信号线以及它能提供哪些状态线)来使用 8255A 构成多种接口电路,为组建微机应用系统提供了灵活方便的编程环境。
  • 8255A芯片内部主要由控制寄存器、状态寄存器和数据寄存器组成,编程主要是对这三类寄存器进行访问。

内部结构

  • 数据总线缓冲器
  • 读写控制逻辑
  • A 组和 B 组控制电路
  • 数据端口 A、B、C

image-20241205155637784

控制字

方式字:定义了设备的工作模式或状态

控制字:用于指定设备应该执行的特定操作


image-20241205155943719

初始化编程

前置知识:

  • MOV:这是一个汇编指令,用于将数据从一个地方移动到另一个地方。
  • OUT:这是一个汇编指令,用于将数据从 CPU 发送到外部设备或端口。
  • IN:与 OUT 指令相反,IN 指令用于从外部设备或端口读取数据到 CPU。
  • LOP:这不是一个标准的汇编指令,它可能是一个用户定义的标签,用作代码的跳转点。
  • AH:是累加器(AX)的高 8 位。x86 架构的 CPU 有多个 16 位的寄存器,如 AX、BX、CX、DX 等。每个 16 位寄存器都可以分为两个 8 位的部分,高 8 位和低 8 位。对于 AX 寄存器,AH 代表高 8 位,而 AL 代表低 8 位。
  • JMP:是一个无条件跳转指令。它会导致程序跳转到指定的标签或地址,不考虑任何条件。例如,JMP LABEL 会导致程序跳转到名为 LABEL 的标签位置。
  • JNZ:是一个条件跳转指令,它的全称是 “Jump if Not Zero” 。当前一个指令的结果不为零(即 ZF,零标志位为 0)时,它会导致程序跳转到指定的标签或地址。如果结果为零,程序将继续顺序执行。
  • JZ:是另一个条件跳转指令,它的全称是 “Jump if Zero” 。当前一个指令的结果为零(即 ZF,零标志位为 1)时,它会导致程序跳转到指定的标签或地址。如果结果不为零,程序将继续顺序执行。
  • DEC:它的全称是 “decrement” 。该指令用于将指定寄存器或内存位置的值减少 1。例如,DEC AX 会将 AX 寄存器的值减少 1。
  • INC :它表示 “increment”(增加)。INC 指令用于将指定寄存器或内存位置的值增加 1。

image-20241207201123427


第五章 串行接口

1. 串行接口

串行通信(“串行” 是指外设与接口电路之间的信息传送方式,CPU 与接口之间仍按并行方式工作)

概念:指外设和计算机间使用一根数据信号线一位一位地传输数据,每一位数据都占据一个固定的时间长度

传输速率:在并行通信中,以每秒钟传送多少字节来表示的;在串行通信中,是以每秒钟传送数据的位数来表示的。

数据传输模式

单工通信(广播)、半双工通信(对讲机)、全双工通信(手机)

串行通信方式

image-20241205171625455

与并行通信的差异:

  1. 传输速度:串行慢,并行快
  2. 传输距离:串行远,并行近
  3. 有无校验:跟根据实际情况讨论

2. 串行 I/O 接口芯片 8251A*

微型计算机内部是并行系统,若在传输线路上采用串行传输,其串行接口的功能就是要进行串行和并行数据之间的切换,同时要完成串行数据的格式转换,如在异步通信方式时添加起始位/停止位,同步通信方式时添加同步字符,添加校验位以及出错检测电路等。

基本特性

  • 可用于同步和异步 2 种通信模式的数据传送
  • 产生中止字符,可产生 1,1.5,2 位停止位。可检查假启动位,自动检测和处理中止字符
  • 波特率:DC-19.2Kbps(异步);DC-64Kbps(同步)
  • 完全双工,双缓冲发送器和接收器
  • 具有奇偶、帧、溢出出错检测电路

内部结构

  • 数据总线缓冲器
  • 读写控制逻辑
  • 发送器
  • 接收器
  • 调制解调控制

image-20241205193759297

传送方式发送器接收器
异步传送发送器先在串行数据字符前加上起始位,并根据约定的要求加上校验位和停止位,然后在 TxC 作用下,由 TxD 线一位一位地串行发送出去。1. 若允许接收和准备好接收数据时,8251 监视 RxD 线。
2. 在无字符传送时,RxD 线上为高电平,当发现 RxD 线上出现低电平时,即认为它是起始位,就启动一个内部计数器,当计数器计到一个数据位宽度的一半(若时钟脉冲频率为波特率的 16 倍时,则为计数到第 8 个脉冲)时,又重新采样 RxD 线,若其仍为低电平,则确认它为起始位。
3. 此后在 RxC 作用下(若频率为波特率的 16 倍时,则每隔 16 个采样一次 RxD 线),把 RxD 线上的数据送至移位寄存器,经过移位,又经过奇偶校验和去掉停止位后,就得到了转换的并行数据,再传送给接收数据缓冲器,同时输出 RxRDY 有效信号,通知 CPU 取走字符。
同步传送发送器在准备发送的数据前面先插入一个或两个同步字符(在初始化时,由程序设定)。在数据块的每个字符后,插入奇偶校验位,然后在 TxC 作用下,将数据一位一位地由 TxD 线发送出去。1.接收器监视 RxD 线,每出现一个接收时钟,采样一位数据到接收数据移位寄存器中,构成并行字节,并送到接收数据缓冲器中,再与含有同步字符(由程序设定)的寄存器相比较,看是否相等,若不等,重复上述过程。
2.当找到同步字符后(若同步字符规定为两个字符,则出现在 RxD 线的两个相邻字符必须与规定的字符相同),则置 SYNDET 信号,表示已找到同步字符,启动接收。
3.在找到同步字符后,每隔一个接收时钟采样一次 RxD 线上的数据位,送到接收数据移位寄存器中,经移位并按规定的位数转换成并行字节数据,再把它并行送至接收数据缓冲器中,同时输出 RxRDY 有效信号,通知 CPU 取走字符。

控制字和状态字

image-20241208172134186

初始化编程

image-20241207205147083


第六章 定时/计数技术

1. 定时/计数技术

背景计算机是一种严格按照时序进行工作的工具,离不开定时与计数。一方面计算机系统本身需要一时间基准,使计算机能够在确定时刻完成规定工作,如存储器的定时刷新;另一方面,计算机控制系统需要提供定时和计数功能,如定时中断、定时检测、定时扫描、定时传送数据、定时处理以及所需要的某种延时等。

定时器和计数器的组成部分

  • 时钟源:提供周期性的时钟信号
  • 计数寄存器:用于存储计数值
  • 控制逻辑:用于启动、停止计数,以及在达到特定计数值时触发事件

系统定时的分类:

  1. 软件定时:利用 CPU 每执行一条指令都需要几个固定的指令周期的原理,运用软件编程的方式进行定时。软件定时是实现系统定时或延时控制最简单的方法

    优点:不需要外加硬件电路。

    缺点:软件定时会占用 CPU 的时间;在定时期间,CPU 不能执行其他任务,导致系统的响应时间变慢;定时时间越长,CPU 的开销越大,而且不能响应中断,定时就会变得越不准确。

  2. 硬件定时:是利用专门的定时电路实现精确定时,一般用硬件电路来完成,以减轻 CPU 的负担。硬件定时又分为不可编程的和可编程的两种。

    • 不可编程定时:如 555 时基电路、单稳延时电路成计数电路等。缺点是它们的元件参数一经设定就不能改变,而且时间一长,电阻电容器件老化,电路工作不稳定,会严重影响定时准确度和稳定性。
    • 可编程定时:8253 芯片。这是一种软硬件结合的定时方法,它克服了单独的软件定时和硬件定时的缺点,可以直接对系统时钟进行计数,通过写入不同的计数初值,可方便地改变定时时间,且定时期间不需要 CPU 管理。

2. 可编程定时器/计数器 8253*

主要特性

  • 片内具有 3 个独立的 16 位计数通道,每个计数器又可分成两个 8 位的计数器
  • 计数频率为 0~2.6MHz(1/2.6 微秒)
  • 每个计数通道可按二进制计数或 BCD 方式计数
  • 每个计数通道有 6 种工作方式,可由程序设置和改变
  • 可由软件或硬件控制开始计数或停止计数

内部结构

  • 数据总线缓冲器
  • 读写逻辑电路
  • 控制字寄存器
  • 计数器
    • 控制单元:用以控制该计数器的工作方式
    • 计数初值寄存器:分为高 8 位和低 8 位,只能写入,不能读出。使计数器能从某个设定的初值开始计数
    • 16位的计数单元:这是计数器的核心部分,一般当初值寄存器的内容装入计数单元后,就可启动它以输入时钟速率递减工作
    • 输出锁存器:分为高8位和低8位,CPU可从该处读取当前计数值

image-20241207214540364

控制字

image-20241208193329213

初始化编程

使用 8253 之前,须先对其进行初始化编程,包括对所使用的计数器写入控制字和计数初值。每个计数器在写入控制字和计数初值后,才能进行工作,计数时还要结合具体工作方式。

image-20241208193646334


第七章 中断技术

1. 概念*

中断:指 CPU 在正常运行程序时,由于内部/外部事件或由程序的预先安排引起 CPU 暂停正在运行的程序,而转去执行为处理引起中断的事件服务的程序,执行完毕后再返回源程序继续执行的行为。即 CPU 在执行现行的程序时,插入了另外一段程序运行。

中断分为硬中断和软中断:由外部硬件引起的中断称为硬件中断;由主机内部产生或者由程序预先安排称为软件中断

断电地址:在中断过程中,CPU 正在执行的程序被中断的后继指令(下一条指令)的地址

现场:指的是 CPU 执行程序过程中所处的状态

中断源:指将发出中断请求的外部设备或内部原因。当系统有多个中断源同时请求中断时,CPU 根据它们的优先权顺序依次响应。中断源指定优先权的具体方法有软件查法硬件排队电路

中断请求

当中断源要求 CPU 为其服务时,必须先向 CPU 提出申请,这是通过发出中断请求信号实现的。CPU 在执行完每条指令后,自动检测中断请求输入线,以确定是否有外部发来的中断请求信号。

中断屏蔽

若 CPU 检测到有中断源提出中断请求,还不一定立即为它服务。因为有的程序是不能被打断的,无论中断源级别高低均不响应,即中断是屏蔽的。系统中的大部分中断源是可屏蔽的,称为可屏蔽中断,而个别的中断请求是不能被屏蔽的,例如:电源故障,无论在什么情况下,CPU都要及时处理,这种中断称为非屏蔽中断(BIOS 中断、硬件故障中断、系统管理中断、安全异常、调试异常、电源中断、系统复位)

可屏蔽中断

CPU 侧:CPU 内部有一个中断允许标志 IF(InterruptFlag),若其为 “1” ,则允许回应所有中断(即 CPU 开中断,enable interrupt),否则所有中断被屏蔽(即 CPU 关中断,disable interrupt)。因此,IF 相当于总开关,其开关状态用指令实现

中断源侧:每个中断源自己有单独的中断屏蔽逻辑。如 8255 的 INTE(中断允许信号)

中断服务程序:完成中断源所期望的功能而编写的程序。例如,有的外设提出中断请求是为了与 CPU 交换数据,则在中断服务程序中,主要是进行输入/输出操作;有的外设提出中断请求,是期望 CPU 给予控制,那么中断服务程序中的主要内容是发出一系列控制信号。这些具体操作构成了中断服务程序的主体。除此之外,还有一些堆栈操作,如现场的保护和恢复及中断返回等。

中断隐操作:CPU 响应中断时首先执行一系列由硬件安排的处理过程。通过隐操作,把 CPU 引向中断服务程序。在执行任何程序时,CPU 都是通过指令语句所在的地址来找到程序的,而在转向中断服务程序执行时也是一样。

中断向量:中断服务程序第一个可执行语句所在的地址。在 CPU 响应中断时,这个中断向量是由中断源硬件提供给 CPU 的。

中断响应过程

image-20241208014955600


2. 8086/8088 中断系统*

基本功能

  • 要求中断系统能实现中断和返回

  • 要求能判断中断的优先级,并按优先权的高低决定中断响应的顺序

  • 要求中断系统能实现中断嵌套功能,即高优先级的中断源能中断低优先级的中断源的服务

中断类型与中断向量表

  • 中断类型号:8086/8088 的每一个中断源都被指定了一个编号
  • 中断向量:每一个中断服务程序都有一个唯一确定的入口地址
  • 中断向量表:把系统中所有的中断向量集中起来,按中断类型号从小到大的顺序放到存储器的某一个区域内,这个存放中断向量的存储区叫中断向量表

image-20241208021607933


第八章 DMA 控制器

1. 概念*

DMA 是用硬件实现不再通过 CPU 的,计算机内存储器与 I/O 设备之间的直接数据传送技术。该硬件称为 DMA 控制器(简称 DMAC),用来控制数据的输入和输出,复杂性堪比 CPU

在 DMA 传送期间,CPU 释放系统总线的控制权由 DMA 控制器接管,数据直接在存储器和 I/O设备之间传送,DMA 方式采用请求-响应方式工作,它的优先权高于中断方式的优先级别

CPU 响应 DMA 请求是在一个总线周期结束时

DMA 传输与中断传输的区别体现在对 CPU 的干扰程度不同:

中断:不但使 CPU 停下来,而且要 CPU 执行中断服务程序为中断请求服务。

DMA:仅仅使 CPU 暂停一下,不需要对断点和现场的处理,并且是由 DMA 控制外设与主存之间的数据传送,CPU 只需提供起始和结束地址,不需要全程监控。


2. 可编程 DMA 控制器 8237A*

主要特性

  • 物理特性:使用单一的 +5V 电源,单相时钟,40 条引脚,双列直插式封装
  • 具有 4 个独立的通道
  • 独立性:每一通道的 DMA 请求都可以分别允许和禁止
  • 4 种工作方式:单字节传送方式、数据块传送方式、请求传送方式、级联方式
  • 级联能力:可以用级联的方式扩展通道数,最多可达 16 个DMA通道
  • 复位:有一条结束 DMA 传送的输入信号 EOP 来结束 DMA 传送或重新初始化

内部结构

image-20241208141909871

程序设计:略


第九章 A/D 和 D/A 接口

1. 概念*

A/D(模/数转换):将模拟信号转换到数字信号

D/A(数/模转换):将数字信号转换到模拟信号

实现 A/D 转换的电路称为 A/D 转换器,实现 D/A 转换的电路称为 D/A 转换器

常见传感器:温度传感器、光电传感器、光纤传感器、CCD 图像传感器


2. D/A 转换及接口*

工作原理
V o = D ∗ V R V_o = D * V_R Vo=DVR

其中, V R V_R VR 为基准电压, D D D = ∑ i = 0 n − 1 D i \sum_{i=0}^{n-1}{D_i} i=0n1Di * 2 i 2^i 2i n n n 为输入位数


3. 模拟信号*

采样:模拟信号在时间上是连续的,有无限多个瞬间时值,采样过程将时间连续的信号变成时间不连续的离散信号。这个过程是通过模拟开关来实现的,模拟开关每隔一定的时间间隔 T(称为采样周期)闭合一次,一个连续信号通过这个开关,就形成一系列的脉冲信号,称为采样信号。

量化:采样后的信号虽然时间上不连续,但幅度仍然连续,仍为模拟信号,必须经过量化,给模拟信号选择一个离散值,转换成数字信号,才能送入计算机。

编码:为了方便处理,通常将量化值进行二进制编码,最大量化误差为 1/2LSB,对相同范围的模拟量,编码位数越多,量化误差越小(音频最常用的编码为 8bit)


4. A/D 转换的类型*

工作原理分为:计数式 A/D 转换、逐次逼近型、双积分型、并行 A/D 转换。

转换方法分为:直接 A/D 转换器,将模拟量转换成数字量;间接 A/D 转换器,将模拟量转换成中间量,再将中间量转换成数字量。

分辨率分为:二进制的 4 位、6 位、8 位、10 位、12 位、14 位、16 位和 BCD 码的 3 位半、4 位半、5 位半等。

转换速度分为:低速(转换时间 ≥ 1s)、中速(转换时间 ≤ 1ms)、高速(转换时间 ≥ 1μs)和超高速(转换时间 ≤ 1ns)

输出方式分为:并行、串行、串并行等。
个连续信号通过这个开关,就形成一系列的脉冲信号,称为采样信号。

end ~~~

相关文章:

【期末速成】《微机原理与接口技术》知识点总结

文章目录 前言第一、二章 接口技术概述1. 接口的定义*2. 接口功能特点*3. 接口的分类*4. 接口中的传输信息及其组成5. 接口的编址与译码*6. CPU 与外设之间的数据传送方式* 第三章 总线1. 总线(BUS)的定义*2. 总线的标准3. 采用标准总线的优点*4. 总线的…...

华为、华三交换机纯Web下如何创关键VLANIF、操作STP参数

华为交换机WEB操作 使用的是真机S5735,目前主流的版本都适用(V1R5~V2R1的就不在列了,版本太老了,界面完全不一样,这里调试线接的console口,电脑的网络接在ETH口) 「模拟器、工具合集」复制整段内…...

【Elasticsearch】初始化默认字段及分词

1、添加分词插件 1)在线安装 执行命令 需要指定相同的版本 bin/elasticsearch-plugin.bat install https://get.infini.cloud/elasticsearch/analysis-ik/7.17.24 2)离线安装 将安装包解压到 /plugins 目录下 安装包可以从对应的资源处下载 启动成…...

asdf-java配置

asdf list all java 无结果 asdf list all java 显示结果 No compatible versions available 解决方案 参考 执行 cp ~/.asdf/plugins/java/data/jdk-macosx-x86_64-ga.tsv $TMPDIR/asdf-java-$(whoami).cache/releases-macosx-x86_64.tsv 在此执行 asdf list all java 就可…...

2-2-18-14 QNX系统架构之 TCP/IP 网络

阅读前言 本文以QNX系统官方的文档英文原版资料为参考,翻译和逐句校对后,对QNX操作系统的相关概念进行了深度整理,旨在帮助想要了解QNX的读者及开发者可以快速阅读,而不必查看晦涩难懂的英文原文,这些文章将会作为一个…...

RabbitMQ延迟消息的实现

RabbitMQ延迟队列的实现 延迟消息是什么延迟消息的实现死信交换机代码实现 延迟消息插件 延迟消息是什么 延迟消息是将消息发送到MQ中,消费者不会立即收到消息,而是过一段时间之后才会收到消息,进行处理。在一些业务中,可以用到延…...

Docker 安装 中文版 GitLab

Docker 安装系列 安装GitLab、解决服务器内存不足问题、使用域名/IP地址访问项目 1、拉取 [rootTseng ~]# docker pull twang2218/gitlab-ce-zh:latest latest: Pulling from twang2218/gitlab-ce-zh 8ee29e426c26: Pull complete 6e83b260b73b: Pull complete e26b65fd11…...

Ubuntu22.04深度学习环境安装【Anaconda+Pycharm】

anaconda可以提供多个独立的虚拟环境,方便我们学习深度学习(比如复现论文); Pycharm编辑器可以高效的编写python代码,也是一个很不错的工具。 下面就记录下Ubuntu22.04的安装流程: 1.Anaconda安装 下载Ana…...

springboot整合canal

学习链接 Cannal项目地址 SpringBoot整合Canal实现数据同步到ElasticSearch - 原文地址 Spring Boot整合canal实现数据一致性解决方案解析-部署实战 Java:SpringBoot整合Canal实现数据同步 docker环境安装mysql、canal、elasticsearch,基于binlog利…...

8.在 Vue 3 中使用 OpenLayers 加载天地图示例(多种形式)

前言 OpenLayers 是一个强大的开源地图框架,可以轻松实现地图加载与操作。而 Vue 3 则通过 Composition API 提供了更加简洁和灵活的开发体验。本文将介绍如何在 Vue 3 中结合 OpenLayers 实现对天地图的加载,包括矢量地图、卫星地图以及中文和英文标记等…...

如何设置 Java 开发环境

如果你在这里,可能是想学习如何为 Java 开发设置环境。第一步是安装 SDK(软件开发工具包),它是一组由硬件和软件供应商提供的工具和库。 对于 Java,我们使用 JDK(Java 开发工具包)。JDK 是一组…...

MetaGPT 安装

1. 创建环境 conda create -n metagpt python3.10 && conda activate metagpt2. 可编辑方式安装 git clone --depth 1 https://github.com/geekan/MetaGPT.git cd MetaGPT pip install -e .3. 配置 metagpt --init-config运行命令,在C盘位置C:\Users\325…...

石岩湿地公园的停车场收费情况

周末石岩湿地公园停车场【967个】小车停车费封顶14元价格还行,我还记得2020年的时候湿地公园还是10元一天封顶。现在的收费情况也是可以的,尤其是周末停车比工作日停车便宜还是很得民心的哈。 车型 收费标准 小车 工作日 高峰时间8:00~20:00 首小时…...

v3账号密码登录随机图片验证码

安装插件 pnpm i identify --save图形验证码组件 <template><div class"s-canvas"><!-- 图形验证码的宽和高都来自于父组件的传值&#xff0c;若父组件没有传值&#xff0c;那么就按当前子组件的默认值进行渲染 --><canvas id"s-canvas&…...

mysql8 主从复制一直失败

问题描述&#xff1a; 开启同步后从服务器一直失败&#xff0c;报错如下&#xff1a; Last_SQL_Error: Coordinator stopped because there were error(s) in the worker(s). The most recent failure being: Worker 1 failed executing transaction ANONYMOUS at source log …...

Java项目实战II基于微信小程序的消防隐患在线举报系统(开发文档+数据库+源码)

目录 一、前言 二、技术介绍 三、系统实现 四、核心代码 五、源码获取 全栈码农以及毕业设计实战开发&#xff0c;CSDN平台Java领域新星创作者&#xff0c;专注于大学生项目实战开发、讲解和毕业答疑辅导。获取源码联系方式请查看文末 一、前言 随着城市化进程的加快&…...

【第二十四周】从大语言模型到多模态大模型的发展

摘要 大语言模型&#xff08;Large Language Model, LLM&#xff09;是指一类基于深度学习的人工智能系统&#xff0c;它们被设计用来理解和生成自然语言。这些模型通常是在大量的文本数据上进行训练的&#xff0c;通过学习文本中的模式和结构&#xff0c;它们能够执行各种各样…...

深入理解Java的 JIT(即时编译器)

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家&#xff0c;历代文学网&#xff08;PC端可以访问&#xff1a;https://literature.sinhy.com/#/literature?__c1000&#xff0c;移动端可微信小程序搜索“历代文学”&#xff09;总架构师&#xff0c;15年工作经验&#xff0c;…...

数据库技术文档撰写:全方位剖析

在技术的浩瀚海洋中&#xff0c;一份优秀的技术文档宛如精准的航海图。它是知识传承的载体&#xff0c;是团队协作的桥梁&#xff0c;更是产品成功的幕后英雄。然而&#xff0c;打造这样一份出色的技术文档并非易事。你是否在为如何清晰阐释复杂技术而苦恼&#xff1f;是否纠结…...

设计模式之原型模式:深入浅出讲解对象克隆

~犬&#x1f4f0;余~ “我欲贱而贵&#xff0c;愚而智&#xff0c;贫而富&#xff0c;可乎&#xff1f; 曰&#xff1a;其唯学乎” 原型模式概述 在我们的日常生活中&#xff0c;经常会遇到"复制"这样的场景。比如我们在准备文件时&#xff0c;常常会复印一份原件&a…...

centos 查看版本

在 CentOS 中&#xff0c;查看系统版本有多种方法。以下是几种常用的方法&#xff1a; 方法 1&#xff1a;使用 cat 命令查看 /etc/centos-release 文件 cat /etc/centos-release 这个文件包含了 CentOS 的版本信息。例如&#xff0c;输出可能是&#xff1a; CentOS Linux rel…...

如何本地存储中的文件路径

文章目录 1. 概念介绍2. 实现方法3. 示例代码我们在上一章回中介绍了"如何实现本地存储"相关的内容,本章回中将介绍如何实现文件存储.闲话休提,让我们一起Talk Flutter吧。 1. 概念介绍 我们在上一章回中介绍的本地存储只能存储dart语言中基本类型的数值,如果遇到…...

服务器加固

1.服务器密码复杂度 密码最小长度&#xff0c;密码复杂度策略 vim /etc/pam.d/system-auth --------------- #密码配置 #ucredit&#xff1a;大写字母个数&#xff1b;lcredit&#xff1a;小写字母个数&#xff1b;dcredit&#xff1a;数字个数&#xff1b;ocredit&#xff1a;…...

MongoDB change stream实战

什么是 Chang Stream Change Stream指数据的变化事件流&#xff0c;MongoDB从3.6版本开始提供订阅数据变更的功能。 Change Stream 是 MongoDB 用于实现变更追踪的解决方案&#xff0c;类似于关系数据库的触发器&#xff0c;但原理不完全相同&#xff1a; Change Stream 的实…...

TSWIKI知识库软件

TSWIKI 知识库软件介绍 推荐一个适合本地化部署、自托管的知识库软件 TSWIKI介绍 tswiki 是一个适合小团队、个人的知识库、资料管理的软件&#xff0c;所有数据均本地化存储。可以本地化、私有云部署&#xff0c;安装简单。在线预览。 主要功能说明 1、简化的软件依赖和安…...

【Linux课程学习】第十九弹---深入理解进程间通信---匿名管道,命名管道,多匿名管道的BUG

&#x1f381;个人主页&#xff1a;我们的五年 &#x1f50d;系列专栏&#xff1a;Linux课程学习 &#x1f337;追光的人&#xff0c;终会万丈光芒 &#x1f389;欢迎大家点赞&#x1f44d;评论&#x1f4dd;收藏⭐文章 ​ Linux学习笔记&#xff1a; https://blog.csdn.n…...

【C语言】库函数常见的陷阱与缺陷(1):字符串处理函数

目录 一、 strcpy 函数 1.1. 功能与常见用法 1.2. 陷阱与缺陷 1.3. 安全替代 1.4. 代码示例 二、strcat 函数 2.1. 功能与常见用法 2.2. 陷阱与缺陷 2.3. 安全替代 2.4. 代码示例 三、strcmp 函数 3.1. 功能与常见用法 3.2. 陷阱与缺陷 3.3. 安全替代 3.4. 代…...

Qt中的 tableView 设置 二进制 十六进制 序号表头

二 进制序号 因为QTableView的垂直表头并不支持使用委托来自定义。 相反&#xff0c;可以通过将自定义的QWidget作为QHeaderView的标签来实现这一目标。 代码&#xff1a; #include <QApplication> #include <QMainWindow> #include <QVBoxLayout> #include …...

leetCode121.买卖股票的最佳时机

题目&#xff1a; 给定一个数组prices,它的第i个元素prices[i]表示一支给定股票第i天的价格。 你只能选择某一天买入这只股票&#xff0c;并选择在未来的某一个不同的日子卖出该股票。设计一个算法来计算你所能获取的最大利润。 返回你可以从这笔交易中获取的最大利润。如果你…...

基于单片机的自限位电机正反转控制电路

【摘要】 针对减速直流电机正反转和停转控制问题,设计了正反转及自限位控制电路,编制了基于STM8S103单片机的控制电机正反转及自限位的子程序,并应用IAR软件进行仿真,搭建实验装置验证设计效果,实验结果表明所设计控制电路能够良好地控制电机正转、反转和停转,在生活实际…...

为什么使用 Token 而不是 Cookie 来管理用户认证和会话

使用 Token 而不是 Cookie 来管理用户认证和会话的原因主要有以下几点&#xff1a; 跨域问题 (Cross-Domain) Token&#xff1a;通常是存储在客户端的 localStorage 或 sessionStorage 中&#xff0c;不会自动随请求发送到服务器&#xff0c;这使得它在处理跨域请求时更加灵活…...

WIDER FACE数据集转YOLO格式

1. 引出问题 本人最近在做毕设相关内容&#xff0c;第一阶段目标是通过目标检测来统计课堂人数&#xff0c;因此需要对人脸和人头进行目标检测。模型方面没什么好说的无脑用YOLO&#xff0c;数据集方面&#xff0c;人脸部分找到了来自港中文的WIDER FACE数据集。但是解压后发现…...

机器学习概述详解

文章目录 机器学习概述详解一、引言二、机器学习基础1、机器学习定义及应用场景2、监督学习与无监督学习 三、机器学习开发流程四、使用示例1、LeNet网络结构代码示例2、AlexNet网络结构代码示例 五、总结 机器学习概述详解 一、引言 机器学习作为人工智能的一个重要分支&…...

VTK编程指南<三>:基于VTK入门程序解析来理解VTK基础知识

1、VTK入门程序 下面是一个完整的Vtk入门程序&#xff0c;我们基于这个程序来对VTK的基本知识进行一个初步了解。 #include <iostream>#include <vtkAutoInit.h> VTK_MODULE_INIT(vtkRenderingOpenGL2);// VTK was built with vtkRenderingOpenGL2 VTK_MODULE_INI…...

【UE5 C++课程系列笔记】07——使用定时器实现倒计时效果

使用定时器实现如下倒计时效果 效果 步骤 1. 新建一个Actor类&#xff0c;这里命名为“CountDownTimerActor” 2. 在头文件中先定义倒计时时间和更新剩余时间的函数方法 前向声明一个文本渲染组件 3. 在源文件中引入文本渲染组件 创建文本渲染组件并进行一些设置 实现Update…...

基于DDPM的PyTorch简单实现

基于DDPM的PyTorch简单实现 文章目录 基于DDPM的PyTorch简单实现摘要Abstract一、DDPM实现1. 获取数据集2. DDPM类3. 训练算法4. 去噪神经网络5. 实验结果与采样 总结 摘要 本周的学习与实践围绕扩散模型&#xff08;Diffusion Model&#xff09;的基础理论和实现展开&#xf…...

php laravel 学习管理系统(LMS)

Lernen LMS&#xff08;学习管理系统&#xff09;是一个综合性的在线教育平台&#xff0c;旨在为学生和导师提供灵活、高效、便捷的学习体验。该系统不仅帮助学生找到最适合自己的导师&#xff0c;还通过一系列强大的功能&#xff0c;提升了课程安排、学习管理和师生互动的效率…...

【JAVA】Java高级:数据库监控与调优:SQL调优与执行计划的分析

作为Java开发工程师&#xff0c;理解SQL调优和执行计划的分析是至关重要的。这不仅可以帮助我们提高数据库查询的效率&#xff0c;还能减少系统资源的消耗&#xff0c;提升整体应用的性能。 1. SQL调优的重要性 随着数据量的增加和用户请求的增多&#xff0c;数据库的性能问题…...

centos9升级OpenSSH

需求 Centos9系统升级OpenSSH和OpenSSL OpenSSH升级为openssh-9.8p1 OpenSSL默认为OpenSSL-3.2.2&#xff08;根据需求进行升级&#xff09; 将源码包编译为rpm包 查看OpenSSH和OpenSSL版本 ssh -V下载源码包并上传到服务器 openssh最新版本下载地址 wget https://cdn.openb…...

jeccg-boot修改密码

最近在使用jeccg-boot框架&#xff0c;遇到一个需要批量修改用户密码的问题 由于框架使用的是加密盐算法生成的密码 &#xff0c;无法直接通过数据库修改密码 例如将password字段和salt值复制过去&#xff0c;密码是不对的 查看代码发现通过user.getUsername(), user.getPasswo…...

linux 生成 nginx 的https ssl 证书详解

证书生成 1. 生成证书 会提示输入密码&#xff0c;输入两次相同密码即可。 openssl genrsa -des3 -out server.key 20482. 去除密码校验 如果想去除此输密码的步骤&#xff0c;可以执行如下命令&#xff0c;根据使用需求选择。 openssl rsa -in server.key -out server.ke…...

详细介绍vue的递归组件(重要)

递归组件在 Vue 中是一个非常强大的概念&#xff0c;尤其在渲染层级结构&#xff08;如树形结构、嵌套列表、评论系统等&#xff09;时&#xff0c;能够极大地简化代码。 什么是递归组件&#xff1f; 递归组件就是一个组件在其模板中引用自身。这种做法通常用于渲染树形结构或…...

gitlab配置调试minio

官方文档 rails console 调试 查看配置Settings.uploads.object_store加载minio clientrequire fog/awsfog_connection Fog::Storage.new(provider: AWS,aws_access_key_id: 你的MINIO_ACCESS_KEY,aws_secret_access_key: 你的MINIO_SECRET_KEY,region: <S3 region>,e…...

Docker(Nginx) 部署 uniapp

目录 一、准备工作 1.Docker安装nginx 2.安装HBuild X工具 二、HBuild X打包项目 1.在HBuild X导入项目 2.配置manifest.json 3.打包 &#xff08;1&#xff09;点击发行 &#xff08;2&#xff09;填写信息&#xff0c;点击发行 三、nginx部署uniapp 1.生成文件上传…...

Camp4-L2:LMDeploy 量化部署进阶实践

书生浦语大模型实战营第四期&#xff1a;LMDeploy 量化部署进阶实践 教程链接&#xff1a;https://github.com/InternLM/Tutorial/tree/camp4/docs/L2/LMDeploy视频链接&#xff1a;https://www.bilibili.com/video/BV18aUHY3EEG/?vd_sourceb96c7e6e6d1a48e73edafa36a36f1697…...

第二十四周学习周报

目录 摘要Abstract1. 文献阅读1.1 RNN1.2 Deep Recurrent Neural Networks1.3 实验1.4 讨论 2. AI虚拟主播生成总结 摘要 本周的主要任务是阅读了一篇关于循环神经网络的论文&#xff0c;该论文旨在探索将RNN扩展到深度RNN的不同方法。论文通过对RNN结构的理解和分析&#xff…...

深入解析 Android PMS —— APK 安装与解析全流程

文章目录 前言1. PMS 的初始化1.1 SystemServer 启动 PMS1.2 PMS 的入口方法 main1.3 PMS 构造函数1.4 扫描 APK 文件1.5 权限初始化1.6 提供对外服务 2. APK 安装机制2.1. 安装请求的触发2.2 APK 文件解析与验证2.3 签名校验2.4 权限管理2.4.1 权限声明2.4.2 权限校验与分配 2…...

RL仿真库pybullet

1. 介绍 PyBullet是一个基于Bullet Physics引擎的物理仿真Python接口&#xff0c;主要用于机器人仿真模拟。 1.1 主要特点 提供大量预设的机器人模型&#xff0c;例如URDF(统一机器人描述格式)、SDF、MJCF 格式。适用于训练和评估强化学习算法&#xff0c;提供了大量的强化学…...

Vue3组件通信(父传子,子传父,跨组件通信)

本文主要是讲述Vue3在setup语法糖下的组件间通信 Vue组件通信是指在Vue.js中&#xff0c;不同组件之间进行信息交流和共享数据的过程。在前端开发中&#xff0c;组件通信是非常重要的一部分&#xff0c;因为在一个复杂的应用中&#xff0c;不同的组件通常需要相互协作&#xff…...

从失败中学习:如何将错误转化为学习机会

失败是人生的一部分&#xff0c;无论是在个人生活还是职业生涯中&#xff0c;我们都难免会遇到挫折和错误。然而&#xff0c;失败并不意味着终结&#xff0c;而是一个潜在的学习机会。通过正确的态度和方法&#xff0c;我们可以从失败中汲取经验&#xff0c;转化为成长的动力。…...