邯郸网站建设企业,深圳集团网站开发,wordpress 生成pdf,wordpress 页面排序上一课#xff1a; 【小黑嵌入式系统第三课】嵌入式系统硬件平台#xff08;一#xff09;——概述、总线、存储设备#xff08;RAMROMFLASH) 文章目录 一、I/O设备1. 定时器/计数器2. ADC和DAC3. 人机接口设备3.1 键盘3.2 LCD显示器3.3 触摸屏 二、通信设备1. 通… 上一课 【小黑嵌入式系统第三课】嵌入式系统硬件平台一——概述、总线、存储设备RAMROMFLASH) 文章目录 一、I/O设备1. 定时器/计数器2. ADC和DAC3. 人机接口设备3.1 键盘3.2 LCD显示器3.3 触摸屏 二、通信设备1. 通用异步收发器UART(1) 数据通信模式(2) 标准串行通信电气接口(3) UART功能配置应用 2. USB设备(1) USB总线概述(2) USB优点(3) USB总线的硬件结构(4) USB级联星形拓扑(5) USB总线的软件结构(6) USB总线的数据传输方式(7) USB设备即插即用的实现(8) USB 器件的选择 3. 蓝牙(1) 体系结构(2) BLE工作流程角色广播扫描连接通信断开 三、其他1. 电源2. 时钟3. 复位4. 中断(1) 中断机制概述**(2) 中断源**(3) 中断系统的功能 一、I/O设备
一个实用的嵌入式系统常常配有一定的外部设备构成一个以微处理器为核心的计算机系统。
这些外部设备包括输入设备如键盘、触摸屏等输出设备如显示器等完成数据控制和转换的设备如定时器/计数器、模/数转换器、数/模转换器等。
这些外部设备中有的是集成为片上设备称为片上外围有的是片外单独实现。
定时器/计数器ADC和DAC人机接口设备
1. 定时器/计数器 所有的嵌入式处理器都集成了定时器/计数器模块。 系统中至少有一个定时器用作系统时钟。 定时器和计数器都是由带有保存当前值的寄存器和向当前寄存器值加1或减1的一个增量输入的加法器逻辑电路组成。或者说是一种能够累计输入脉冲的个数的数字电路。它由触发器构成具有记忆功能除了能够完成计数外还能够用作分频和定时。
下降沿动作的异步二进制加法计数器 三位加法计数器时序图 定时器、计数器的区别
定时器的计数装置是连到已知的周期性时钟信号上的用来测量时间间隔计数器的计数装置是连到非周期性信号上的用来计外部事件的发生次数。
因为同样的逻辑电路可以有这两种使用方式所以该设备经常被称为“定时器/计数器”。
嵌入式处理器上的定时器/计数器具有的作用
嵌入式操作系统的任务调度特别是具有时间片轮转调度功能的操作系统必须使用定时器产生时间片。嵌入式操作系统的软件时钟需要基于硬件定时器产生定时信号。通信电路的波特率发生器。实时时钟电路。集成的片上A/D转换和D/A转换电路。处理器监控电路如看门狗等。集成的液晶显示控制器用于液晶屏的刷新。集成的动态存储器控制器用于动态存储器的刷新。 ……
定时器的扩展——脉宽调制PWM器
通过在定时器电路中增加比较器等额外电路容易构成脉宽调制PWM器用于输出一个频率和占空比可调的矩形波。典型地用于电机调速、LED亮度调节、简易数/模转换等等 。 定时器/计数器的扩展——捕获Capture
通过在定时器/计数器电路中增加锁存器等额外电路容易实现捕获功能。此时向定时器提供已知频率的时钟用户通过设置捕获的硬件触发条件可在触发条件发生时刻将当前计数值锁存到捕获寄存器中。
捕获机制典型地用于硬件事件发生时刻的精确定时。可以避免“事件发生时刻→软件获取到计数值”这段时间的计时不准确性。 2. ADC和DAC
模/数A/D转换器和数/模D/A转换器是非数字即模拟信号设备和嵌入式系统之间联系的接口。
两者均需要一个参考电压它决定了可数字化的最大模拟输入电压值对于ADC或者可转换输出的最大模拟电压值对于DAC。
D/A转换器的控制相对简单输入数据值被连续转换成模拟输出信号。
R-2R电阻网络构造的4位DAC DAC关键技术指标分辨率、建立时间/更新率、积分非线性INL、微分非线性DNL、无杂散动态范围SFDR。
必须注意的是并非分辨率、更新率越高DAC性能就一定越好。其它技术指标在一些应用场合也许更关键
A/D转换器将连续变化的模拟信号转换为数字信号以便计算机和数字系统进行存储、处理。
A/D转换在将模拟输入转换为数字形式前需要对模拟输入进行采样获取某一“点时刻”的模拟输入信号值并在完成一次完整的转换期间保持该获取值稳定不变。这部分电路称为采样/保持电路。控制信号使得A/D转换器进行采样/保持并将其数字化。
典型的A/D转换器接口除了模拟输入外还有两个主要的数字接口。
一个数据端口允许A/D转换结果寄存器被读出一个控制信号通知什么时候开始下一次转换。
ADC主要类型并行比较型Flash、逐次比较型SAR、Σ-Δ型、积分型、电压—频率型。 选用何种类型ADC应根据使用场合具体需求分析转换速度、精度、价格、功能及接口条件等因素综合考虑。
ADC关键技术指标分辨率、转换速率、积分非线性INL、微分非线性DNL、信噪失真比SINAD/有效位数ENOB。 必须注意的是并非分辨率、转换速率越高ADC性能就一定越好。其它技术指标在一些应用场合也许更关键
3. 人机接口设备
虽然人机接口在许多应用中不是必须的但它们确实很常见。
为了使嵌入式系统具有友好的人机接口以方便使用需要给嵌入式系统配置显示装置如LED显示、LCD显示器或必要的音响提示等。
要进行人机交互还需要有输入装置如键盘、触摸屏等使得用户能够对嵌入式控制器发出命令或输入必要的控制参数。
键盘LCD显示器触摸屏
3.1 键盘
键盘是标准的输入设备广泛用于嵌入式产品如微波炉、传真机、复印机等。
键盘可以用来输入数字型数据或者选择控制设备的操作模式。键盘的组成 一个开关阵列一些逻辑电路简化它与微处理器的接口
矩阵式键盘按行扫描该行按键状态: 由于按键的触点是用机械方式通断的故按键接通或者断开的操作并不能理想地一次性地完成而是在经历一段较短时间由接触不良所引起的反复通断现象后才变得稳定。 消除按键抖动影响即在按键发生动作时仅产生一个边沿的方法有多种可用硬件也可用软件的方式典型的一种方法是定时采样按键的电平状态其采样间隔需大于按键抖动时长。 //Port 1 interrupt service routine
#pragma vectorPORT1 VECTOR
_interrupt void Port 1(void)
{
//Debounce
unsigned int Push Key 0;Push Key P1IFG(~P1DIR); // Detect which button is pushed
delay_cycles(10000); //Delay to debounce
if ((Push_KeyP1IN) 0) // Determine if it is Hi-low edge
{ //按下则P1.30; 松开P1.31; 如果是高则为毛刺 P10UT ^ BIT6; //P1.6 toggle
}P1IFG ~BIT3; // P1.3 IFG cleared}3.2 LCD显示器
液晶显示Liquid Crystal DisplayLCD是一种被动的显示它不能发光需在周围环境光下使用。 液晶显示器显示图案或字符时只需要很小的能量但有背光源时背光耗电则很大。因此低功耗、小型化的LCD成为较佳的显示设备。 一般情况下显示设备可以直接驱动也可以通过帧缓冲区驱动。
3.3 触摸屏
触摸屏是覆盖在输出设备上的输入设备用来记录触摸位置。把触摸屏覆盖在显示器上使用者可以对显示的信息做出反应。
触摸屏按其工作原理不同分为电阻屏、电容屏、红外屏和表面声波屏等。 其中常用的触摸屏是电阻式触摸屏。电阻式触摸屏通过测量二维电压来探测触摸的位置。 二、通信设备
通用异步收发器UARTUSB设备蓝牙设备
I2C、SPI、LIN、CAN、I2S、HDLC …
1. 通用异步收发器UART
通用异步收发器Universal Asynchronous Receiver and TransmitterUART是典型地用于计算机与异步串行设备的接口。
数据通信模式标准串行通信电气接口描述的是电气特性UART 描述的是逻辑方面的内容
(1) 数据通信模式
数据通信是两台数字设备之间的数据传输。
数据通信方式可以分为
单工和双工通信串行和并行通信同步和异步通信 各种通信方式的详情可以前往 【物联网】总结SPI、I2C、UART三者的区别以及有关知识 (2) 标准串行通信电气接口
标准异步串行通信电气接口主要有以下几种
RS-232CRS-422RS-485 各种接口的详情可以前往 【物联网】RS-232、RS-485和RS-422串行通信标准详解 (3) UART 功能
UART提供对RS-232C等数据终端设备的接口提供以下功能 将计算机外部传来的串行数据转换为字节供计算机内部使用并行数据的器件使用将由计算机内部传过来的并行数据转换为输出的串行数据在输出的串行数据流中加入奇偶校验位并对从外部接收的数据流进行奇偶校验在输出数据流中加入“起”、“止”标记并从接收数据流中删除“起”、“止”标记处理计算机与外部串行设备的同步管理问题。
配置
对于CPU而言可将一个UART视为包含若干个存储点及I/O端口。其它底层细节由硬件自动处理。UART一般包括一个或多个状态寄存器用于验证数据发送和接收时的状态、进程。UART还可以通过一个或多个控制寄存器进行配置配置内容包括波特率的设置、停止位数量的设置、奇偶校验的设置以及在发送/接收完成时产生中断等。异步通信过程在UART上几乎是透明地运作。为了收发数据程序只需简单地对UART相关寄存器执行读写操作。
应用
比较流行的UART类型有NS16550型、AMD Z8530、ACIA、Motorola 6850、Zilog Z-80 STO等。当UART用于嵌入式设计时嵌入式系统就能够非常方便地利用通信终端、计算机甚至是其它嵌入式微处理器上的数据资源或实现控制功能。当前多数PC机已不再配备硬件实现的UART串口但由于它是PC机与其它设备通信的最便捷方式故经常采用USB转UART的方式虚拟出一个UART串口。 UART可配合RS-232/422/485使用较多地是配合RS-232使用这时需要将 UART器件与某款RS-232收发器(如MAX232)连接。 UART的详情可以前往 【物联网】一文读懂UART通信协议 2. USB设备
(1) USB总线概述
通用串行总线Universal Serial BusUSB是1995年Intel、Microsoft、Compaq、IBM等公司联合制定的一种计算机外部串行通信标准。
USB自推出以来得到各PC厂商、芯片制造商和PC外设厂商的广泛支持。已成功替代串口和并口成为21世纪大量计算机和智能设备的标准扩展接口和必备接口之一现已发展到USB 4.0版本(???)。
USB 具有传输速度快、使用方便、支持热插拔、连接灵活、独立供电等优点可连接键盘、鼠标、大容量存储设备等多种外设该接口也被广泛用于智能手机中。
通用串行总线是一种将USB外围设备连接到主机的外部总线结构它通过PCI总线和PC的内部系统数据线连接实现数据传送。
USB同时又是一种通信协议它支持主机系统和USB外围设备之间的数据传送通过一个4针的标准插头采用菊花链形式把所有的外设连接起来。 (2) USB优点
支持热插拔hot plug和即插即用Plug-and-Play。为所有的USB外设提供单一的、易于操作的标准连接类型排除了外设对系统资源的需求。USB 1.1提供全速12Mb/s和低速1.5Mb/s的模式USB 2.0提供高达-480Mb/s的设计传输速率。USB 3.0 — 5Gb/sUSB提供了四种不同的数据传送类型。易于扩展理论上最多可支持127个设备。
(3) USB总线的硬件结构 USB总线是基于令牌的总线类似于令牌环网络。USB主控制器广播令牌总线上的设备检测令牌中的地址是否与自身相符通过接收或者发送数据来响应主机。USB通过支持悬挂/恢复操作来管理USB总线电源。
(4) USB级联星形拓扑
USB系统采用级联星形拓扑由三个基本部分组成
主机Host——也称为根或Root Hub它做在主板上或作为适配卡安装在计算机上。主机通过主控制器和根集线器Root Hub与USB设备进行交互控制着总线上的数据和控制信息的流动。集线器Hub每个USB系统只能有一个根集线器它连在主控制器上。集线器是USB结构中的特定成分它提供端口能够将设备连接到USB总线上同时检测连接在总线上的设备并为这些设备提供电源管理、负责总线的故障检测和恢复。集线器可为总线提供能源也可为自身提供能源从外部得到电源。功能设备通过端口与总线连接同时也可做Hub使用。
(5) USB总线的软件结构
每个USB系统仅有一个主机在通信过程中占主导地位。
包括USB总线接口、USB设备层和功能层三层结构。 主机各层具有的功能包括
检测连接和移去的USB设备管理主机和USB设备间的数据流连接USB状态和活动统计控制主控制器和USB设备间的电气接口包括限量能量供应
主机端
USB总线接口——USB总线接口处理电气层与协议层的互连由主控制器实现。USB系统软件——USB系统包括三个基本组件主控制器驱动程序HCD、USB驱动程序USBD和主机软件。USB客户软件——USB客户软件是软件结构的最高层负责处理特定的USB设备驱动。
(6) USB总线的数据传输方式
数据和控制信号在主机和USB设备之间的交换存在两种通道单向和双向。
USB的数据传送是在主机和某个USB设备的指定端点Endpoint之间进行的端点0专门作为控制端点这种主机和USB设备的端点间的联系称作管道Pipe。
对任何给定的设备进行设置时一个管道上的数据传输只能支持下列四种USB数据传输方式中的一种即同步isochronous、控制control、中断interrupt和批量bulk以支持各种不同用途的外设。
(7) USB设备即插即用的实现
USB设备可以实现热插拔。
当USB设备插入到主机中时主机通过查询设备的描述符Descriptor来了解设备进而建立通信这个过程叫作对设备的枚举。
当一个USB设备插入到主机后主机巡检到便通过控制端点开始询问设备的各种描述符。描述符中包含了设备端点号、设备类型和数据传输能力等信息使得主机能够了解设备的详细情况。
(8) USB 器件的选择
首先要根据具体使用要求选择合适的USB 控制器。目前市场上供应的USB控制器主要有两种带USB接口的单片机MCU和纯粹的USB接口芯片。 带USB接口的单片机MCUUSB接口的单片机从应用上可以分成两类一类是从底层设计专用于USB 控制的单片机另一类是增加了USB接口的普通单片机如Cypress公司的EZ-USB(基于8051。 纯粹的USB接口芯片仅处理USB通信必须有一个外部微处理器来进行协议处理和数据交换。典型产品有Philips公司的PDIUSBD11 (I2C 接口)、PDIUSBD12 (并行接口)NS公司的USBN9603/9604 (并行接口)等。
3. 蓝牙
蓝牙是一种近距离无线通信技术运行在2.4GHz免费频段目前已大量应用于各种移动终端、物联网、健康医疗、智能家居等行业。一般将蓝牙3.0之前的BR/EDR蓝牙称为传统蓝牙蓝牙4.0以后的版本分为两种模式单模蓝牙和双模蓝牙。
单模蓝牙即低功耗蓝牙BLE是蓝牙4.0中的重点技术低成本、低功耗、快连接、长距离。但不支持音频协议。BLE采用非常快速的连接方式因此平时可以处于“非连接”状态节省能源此时链路两端相互间只是知晓对方只有在必要时才开启链路然后在尽可能短时间内关闭链路每次最多传20字节。双模蓝牙支持BLE的同时还兼容经典蓝牙。经典蓝牙的特点是大数据高速率支持音频、数据两大类协议. 低功耗蓝牙瞄准多个市场特别是移动智能终端、智能家居、互联设备等领域主要特点包括低功耗使用纽扣电池就可以运行数月至数年。快连接毫秒级的连接速度传统蓝牙甚至长达数分钟。远距离长达数百米的通信距离而传统蓝牙通常10米左右。低成本是目前手机和智能硬件通信的性价比最高的手段。
蓝牙联盟沿用经典蓝牙的规范内容为低功耗蓝牙定义了一些配置Profile。Profile理解为数据规范只要遵守该规范任意厂家的蓝牙设备均可以相互连接与通信例如无线蓝牙键盘鼠标无论是安卓或是iOS还是Windows均是即插即用。低功耗蓝牙支持的标准Profile有
HID用于无线鼠标键盘或其他遥控设备。BatteryServices电池状态服务用于告知电池电量状态。HRP心率计Profile用于心率采集。等等。
另外低功耗蓝牙还可以自定义Profile。
(1) 体系结构
BLE协议栈一般是指芯片厂家依据 Bluetooth SIG 发布的 Bluetooth Core Specification 核心协议实现的代码固件并提供函数接口由芯片内部程序调用实现BLE工作流程等相关功能。
常见的协议栈有TI公司的ble-stack和Nordic的SoftDevice。 控制器是一个物理设备负责编/解码数据包和发/收射频信号。主机是软件栈包含了各种协议和配置用于管理两个或更多设备互相通信。应用使用软件栈和控制器来实现某种特定功能。
(2) BLE工作流程
角色
BLE设备角色主要分为两种角色主机Master或Central和从机Peripheral当主机和从机建立连接之后才能相互收发数据。
主机主机可以发起对从机的扫描连接。如手机常作为主机设备。从机从机只能广播并等待主机的连接。如智能手环。
另外还有观察者Observer和广播者Broadcaster这两种角色不常使用但也十分有用例如iBeacon就可以使用广播者角色来做只需要广播特定内容即可。
观察者观察者角色监听空中的广播事件和主机唯一的区别是不能发起连接只能持续扫描从机。广播者广播者可以持续广播信息和从机的唯一区别是不能被主机连接只能广播数据。
蓝牙协议栈没有限制设备的角色范围同一个BLE设备可以作为主机也可以作为从机可称之为主从一体。好处是每个BLE设备都是对等的可以发起连接也可以被别人连接更加实用。
广播
广播是指从机每经过一个时间间隔发送一次广播数据包这个时间间隔称为广播间隔这个动作叫做广播事件只有当从机处于广播状态时主机才能发现该从机。
在每个广播事件中广播包会分别在37、38和39三个信道上依次 广播如下图所示。
广播时间间隔的范围是从20ms到10.24s广播间隔影响建立连接的时间。广播间隔越大连接的时间越长。
另外BLE链路层会在两个广播事件之间添加一个0~ 10ms的随机延时保证多个设备广播时不会一直碰撞广播。也就是说设置100ms的广播事件间隔实际上两次广播事件的时间间隔可能是100~110ms之间的任意时间。
当主机收到从机广播的数据包后它可以再发送获取更多数据包的请求这个时候从机将广播扫描回应数据包。
扫描
扫描是主机监听从机广播数据包和发送扫描请求的过程主机通过扫描可以获取到从机的广播包以及扫描回应数据包主机可以对已扫描到的从机设备发起连接请求从而连接从机设备并通信。
扫描动作有两个比较重要的时间参数扫描窗口和扫描间隔如果扫描窗口等于扫描间隔那么主机将一直处于扫描状态之中持续监听从机广播包。 被动扫描主机监听广播信道的数据当接收到广播包时协议栈将向上层也就是应用层用户可编程传递广播包。主动扫描主动扫描除了完成被动扫描的动作外还会向从机发送一个扫描请求从机收到该请求时会再次发送一个称作扫描回应的广播包。
连接
在BLE连接中使用跳频方案两个设备在特定时间、特定频道上彼此发送和接收数据。这些设备稍后在新的通道协议栈的链路层处理通道切换上通过这个约定的时间相遇。这次用于收发数据的相遇称为连接事件。如果没有要发送或接收的应用数据则交换链路层数据来维护连接。
两个连接事件之间的时间跨度称为连接间隔是以1.25ms为单位范围从最小值7.5ms到最大值4.0s。
通信
通俗地说将从机具有的数据或者属性特征称之为Profile。
从机中添加Profile配置定义和存储Profile作为GATT的Server端。主机则作为GATT的Client端。 Profile包含一个或者多个Service服务每个Service又包含一个或者多个Characteristic特征值。主机可发现和获取从机的Service和Characteristic然后与之通信。
每个服务和特征值都有自己的唯一标识UUID标准UUID为128位蓝牙协议栈中一般采用16位即两个字节的UUID格式。
特征值是主从通信的最小单元每个特值都有自己的属性 Property属性的取值有可读 Read、可写 Write 以及 通知 Notify 。
主机可主动向从机Write或Read数据从机可主动向主机Notify通知数据
断开
主机或从机都可以发起断开连接请求对方会收到该请求然后断开连接恢复连接前的状态。 三、其他
1. 电源
大多数嵌入式系统本身都有电源且电源的供电具有一种特定的电压范围。
某些系统本身不具有供电子系统它们使用外部电源或者从信号线来取电。 开关电源
开关电源不同于线性电源开关电源利用的切换晶体管多半是在全开模式饱和区及全闭模式截止区之间切换这两个模式都有低耗散切换之间的转换会有较高的耗散但时间很短。理想上开关电源本身是不会消耗电能的开关电源的高转换效率是其一大优点。 电压稳压则是透过调整晶体管导通及断路的时间来达到。
要求高效率、小体积重量时开关电源比线性电源要好。但开关电源较复杂内部晶体管切换频繁若切换电流未加处理产生的噪声及电磁干扰可能会影响其它设备。且若无特别设计功率因数不高。
现代开关电源有两种直流开关电源、交流开关电源。直流开关电源的核心是DC/DC转换器按输入与输出之间是否有电气隔离可以分为两类隔离式DC/DC转换器、非隔离式DC/DC转换器。非隔离式DC/DC转换器按有源功率器件的个数可以分为单管、双管和四管三类。单管DC/DC转换器共有六种降压式(Buck)、升压式(Boost)、升压降压式(Buck Boost)、Cuk、Zeta和SEPIC。隔离式DC/DC转换器在实现输出与输入电气隔离时常采用变压器。
2. 时钟
在嵌入式系统中处理器需要有一个时钟振荡clock oscillator电路。时钟控制着CPU、以及其它同步外设。
嵌入式系统通常把时钟发生电路尽可能地集成在嵌入式处理器上外面只需要接石英晶体和补偿电容即可。
高性能的嵌入式处理器功能强大芯片上集成了众多的功能部件很多都需要各自不同频率的时钟源。这样的处理器会设计多时钟源分别为CPU内核、实时时钟电路、不同的I/O电路提供时钟信号。 嵌入式系统的时钟电路一般有以下几种形式RC振荡器、石英晶体振荡器、外部时钟输入、锁相倍频时钟。
3. 复位
复位是指使器件进入到一个确定的初始状态并且使处理器从起始地址开始执行指令。
这个起始地址是处理器程序计数器PC加电时的默认设置。处理器复位之后从存储器的这个地址开始取程序指令。
通常外部施加的复位信号有效一定时间后便可处于无效状态。由处理器内部电路保持复位处于有效状态初始化完毕后退出复位状态从而使程序从默认的起始地址开始执行。 常用的复位电路有阻容复位电路、专用复位电路、手动复位电路、看门狗定时器超时复位及软件复位。 看门狗定时器是一种特殊用途的定时器内部结构同一般定时器。当定时器计数值到达所设定的时长时将引起处理器复位。为使之不产生复位需及时喂狗重装计数值初值以避免其到达计时时长。
看门狗定时器是一种监控软件异常的机制。在应用时软件应在合适的位置加入及时喂狗代码以使得程序正常运行时不会产生看门狗复位但在程序执行异常时由于不满足及时喂狗条件而产生看门狗复位用复位的方式让系统重新回到一个确定的状态中。
若系统中有多个设备需要复位这时不仅要保证每个设备各自的复位时长要求而且需注意设备间的复位时序。
4. 中断
(1) 中断机制概述
问题的提出
有一类事件它们一定会发生但又无法预测什么时候发生比如说火灾等故障事件、键盘有按键按下、通信接口有数据发来等突发事件。此时可以采取以下两种方式进行处理
定时查询方式定期检测是否有事件发生。这将消耗大量的CPU时间来完成查询工作从而降低CPU的工作效率。中断方式当突发事件发生时提出请求CPU可以暂时停止当前正在处理的程序转去处理突发事件如故障处理、按键字符数据的接收、通信接口数据的接收等处理这些事务的程序执行完毕后再回到原先程序被打断的地方去继续执行后续程序。 应注意这个运作流程是由中断系统硬件来实现的用户程序仅仅是配置中断及编写中断服务程序 。中断服务程序并不能由用户调用。中断请求一般允许用户程序发起。
中断包括三个过程 请求过程中断控制器检测到中断事件发生时向CPU提出中断请求同时提供给CPU该中断事件对应的中断矢量 。响应过程CPU在合适的时候向中断控制器返回响应告知将进入中断处理。 CPU执行完当前指令保存下一条本应执行的指令的地址断点至栈中转入中断矢量处执行中断服务程序。服务过程执行请求事件的服务程序。结束时向中断控制器返回响应告知将退出中断从栈中取出之前保存的指令地址CPU转到该指令地址处执行即在原被中断的程序位置之后继续执行。
中断的基本概念 中断源引发中断的事件称为中断源。 中断断点(地址)CPU转入中断服务程序前原来程序将被暂停暂停点为将执行但没被执行的下一条指令的地址。 中断服务程序为中断事件服务的程序段称为中断服务程序。因此由不同中断源引发的中断需要转到各自对应的中断服务程序来执行。 中断向量/中断矢量中断服务程序的入口地址。 中断服务程序与子程序区别子程序由某个指令调用而跳入子程序模块执行因此它的调用是由程序设定的。中断服务程序由某个事件的发生而引发它是随机和不确定的由硬件自动控制CPU转入而不由用户主动调用。
使用中断的优点
同步操作实现实时处理故障处理
(2) 中断源
引起中断的原因或者能够发出中断申请的来源称为中断源。
分类
硬件和软件相关的中断源软件错误相关的硬件中断实时时钟为调试程序而设置的中断源
(3) 中断系统的功能
为了实现各种中断请求中断系统应具有以下功能
实现中断及返回能够实现优先级排队高级中断源能够中断低级的中断处理