嵌入式三级笔记

(注:这是自己准备9月份的考试踩的坑,网上找的资料看的,然后复制粘贴的笔记,理性参考)
1、嵌入式系统的定义
1)定义:以 应用为中心 ,以 计算机技术为基础 ,软硬件 可裁剪 ,适应应用系统对功能、可靠性、成 本、体积、功耗严格要求的 专用计算机系统
2)嵌入式系统发展的 4 个阶段:无操作系统阶段、简单操作系统阶段、实时操作系统阶段、面向
Internet 阶段。
3)知识产权核(IP 核):具有知识产权的、功能具体、接口规范、可在多个集成电路设计中重复使 用的功能模块,是实现系统芯片(SOC)的基本构件。
4)IP 核模块有 行为 结构 物理 3 级不同程度的设计,对应描述功能行为的不同可以分为三类: 核、固核、硬核
2、嵌入式系统的组成: 硬件层、中间层、系统软件层和应用软件层
1)硬件层:嵌入式微处理器、存储器、通用设备接口和 I/O 接口。
嵌入式核心模块 =微处理器+电源电路+时钟电路+存储器
Cache: 位于主存和嵌入式微处理器内核之间,存放的是最近一段时间微处理器使用最多的程序代
码和数据。它的主要目标是减小存储器给微处理器内核造成的存储器访问瓶颈,使处理速
度更快。
2) 中间层(也称为硬件抽象层 HAL 或者板级支持包 BSP) :它将系统上层软件和底层硬件分离开来 , 使系统上层软件开发人员无需关系底层硬件的具体情况,根据 BSP 层提供的接口开发即可。
BSP 有两个特点:硬件相关性和操作系统相关性。
设计一个完整的 BSP 需要完成两部分工作:
A、 嵌入式系统的硬件初始化和 BSP 功能。
        片级初始化 :纯硬件的初始化过程,把嵌入式微处理器从上电的默认状态逐步设置成系统所要 求的工作状态。
        板级初始化 :包含软硬件两部分在内的初始化过程,为随后的系统初始化和应用程序建立硬件 和软件的运行环境。
        系统级初始化 :以软件为主的初始化过程,进行操作系统的初始化。
B、 设计硬件相关的设备驱动。
3)系统软件层:由 RTOS、文件系统、GUI、网络系统及通用组件模块组成。
RTOS 是嵌入式应用软件的基础和开发平台.
4)应用软件:由基于实时系统开发的应用程序组成
3、实时系统
1)定义:能在指定或确定的时间内完成系统功能和对外部或内部、同步或异步时间做出响应的系统。
2)区别:通用系统一般追求的是系统的 平均响应时间和用户的使用方便 ;而实时系统主要考虑的是 在最坏情况下的系统行为
3)特点:时间约束性、可预测性、可靠性、与外部环境的交互性。
4) 硬实时(强实时) :指应用的时间需求应能够得到完全满足,否则就造成重大安全事故,甚至造 成重大的生命财产损失和生态破坏,如:航天、军事。
5) 软实时(弱实时) :指某些应用虽然提出了时间的要求,但实时任务偶尔违反这种需求对系统运 行及环境不会造成严重影响,如:监控系统、实时信息采集系统。
6)任务的约束包括:时间约束、资源约束、执行顺序约束和性能约束。
4、实时系统的调度
1)调度:给定一组实时任务和系统资源,确定每个任务何时何地执行的整个过程。
2)抢占式调度:通常是优先级驱动的调度,如 uCOS。优点是实时性好、反应快,调度算法相对简单 , 可以保证高优先级任务的时间约束;缺点是上下文切换多。
3)非抢占式调度:通常是按时间片分配的调度,不允许任务在执行期间被中断,任务一旦占用处理 器就必须执行完毕或自愿放弃,如 WinCE。优点是上下文切换少;缺点是处理器有效资源利用率低,可调度 性不好。
4)静态表驱动策略:系统在运行前根据各任务的时间约束及关联关系,采用某种搜索策略生成一张 运行时刻表,指明各任务的起始运行时刻及运行时间。
5)优先级驱动策略:按照任务优先级的高低确定任务的执行顺序。
6)实时任务分类:周期任务、偶发任务、非周期任务。
7)实时系统的 通用结构模型 数据采集任务 实现传感器数据的采集, 数据处理任务 处理采集的数据 、 并将加工后的数据送到 执行机构管理任务 控制机构执行。
5、嵌入式微处理器体系结构
1)冯诺依曼结构:程序和数据 共用一个存储空间 ,程序指令存储地址和数据存储地址指向同一个存 储器的不同物理位置,采用单一的地址及数据总线,程序和数据的宽度相同。例如:8086、ARM7、MIPS…
2)哈佛结构:程序和数据是 两个相互独立的存储器 ,每个存储器独立编址、独立访问,是一种将程 序存储和数据存储分开的存储器结构。例如:AVR、ARM9、ARM10…
3)CISC 与 RISC 的特点比较(参照教程 22 页)。
计算机执行程序所需要的时间 P 可以用下面公式计算:
P=I×CPI×T
I:高级语言程序编译后在机器上运行的指令数。
CPI:为执行每条指令所需要的平均周期数。
T:每个机器周期的时间。
4)流水线的思想:在 CPU 中把一条指令的串行执行过程变为若干指令的子过程在 CPU 中重叠执行。
5)流水线的指标:
吞吐率 :单位时间里流水线处理机流出的结果数。如果流水线的子过程所用时间不一样长,则吞
吐率应为最长子过程的倒数。
建立时间 :流水线开始工作到达最大吞吐率的时间。若 m 个子过程所用时间一样,均为 t,则建
立时间 T=mt。
6)信息存储的字节顺序
        A、存储器单位:字节(8 位)
        B、 字长 决定了微处理器的寻址能力,即虚拟地址空间的大小。
        C、32 位微处理器的虚拟地址空间位 2 32 ,即 4GB。
        D、 小端字节顺序 :低字节在内存低地址处,高字节在内存高地址处。
        E、 大端字节顺序 :高字节在内存低地址处,低字节在内存高地址处。
        F、网络设备的存储顺序问题取决于 OSI 模型底层中的 数据链路层
6、逻辑电路基础
1)根据电路 是否具有存储功能 ,将逻辑电路划分为: 组合逻辑电路 时序逻辑电路
2)组合逻辑电路:电路在任一时刻的输出,仅取决于该时刻的输入信号,而与输入信号作用前电路 的状态无关。常用的逻辑电路有 译码器 多路选择器等
3)时序逻辑电路:电路任一时刻的输出不仅与该时刻的输入有关,而且还与该时刻电路的状态有关 。 因此,时序电路中必须包含 记忆元件 触发器 是构成时序逻辑电路的 基础 。常用的时序逻辑电路有 寄存器 计数器等
4)真值表、布尔代数、摩根定律、门电路的概念。(教程 28、29 页)
5)NOR(或非)和 NAND(与非)的门电路称为 全能门电路 ,可以实现任何一种逻辑函数。
6)译码器:多输入多输出的组合逻辑网络。
每输入一个 n 位的二进制代码,在 m 个输出端中最多有一个有效。
当 m=2 n 是,为 全译码 ;当 m<2 n 时,为 部分译码
7)由于集成电路的高电平输出电流小,而低电平输出电流相对比较大,采用集成门电路直接驱动 LED 时,较多采用 低电平驱动方式 。液晶七段字符显示器 LCD 利用液晶有外加电场和无外加电场时不同的光学 特性来显示字符。
8) 时钟信号 是时序逻辑的基础,它用于决定逻辑单元中的状态合适更新。 同步 是时钟控制系统中的 主要制约条件。
9)在选用触发器的时候, 触发方式 是必须考虑的因素。触发方式有两种:
电平触发 方式:具有结构简单的有点,常用来组成暂存器。
边沿触发 方式:具有很强的抗数据端干扰能力,常用来组成寄存器、计数器等。
7、总线电路及信号驱动
1)总线是各种信号线的集合,是嵌入式系统中各部件之间传送 数据 地址 控制信息 的公共通路 。 在同一时刻,每条通路线路上能够传输一位二进制信号。按照总线所传送的信息类型,可以分为: 数据总 线(DB)、地址总线(AB) 控制总线(CB)
2)总线的主要参数:
        总线带宽 :一定时间内总线上可以传送的数据量,一般用 MByte/s 表示。
        总线宽度 :总线能同时传送的数据位数(bit),即人们常说的 32 位、64 位等总线宽度的概念, 也叫 总线位宽 。总线的位宽越宽,总线每秒数据传输率越大,也就是总线带宽越宽。
        总线频率 :工作时钟频率以 MHz 为单位,工作频率越高,则总线工作速度越快,也即总线带宽越宽。
总线带宽 = 总线位宽×总线频率/8, 单位是 MBps。
常用总线:ISA 总线、PCI 总线、IIC 总线、SPI 总线、PC104 总线和 CAN 总线等。
3)只有具有 三态 输出的设备才能够连接到数据总线上,常用的三态门为输出缓冲器。
4)当总线上所接的负载超过总线的负载能力时,必须在总线和负载之间加接缓冲器或驱动器,最常 用的是 三态缓冲器 ,其作用是 驱动 隔离
5)采用 总线复用技术 可以实现数据总线和地址总线的共用。但会带来两个问题:
        A、需要增加外部电路对总线信号进行复用解耦,例如:地址锁存器。
        B、总线速度相对非复用总线系统低。
6)两类总线通信协议:同步方式、异步方式。
7)对总线仲裁问题的解决是以优先级(优先权)的概念为基础。
8、电平转换电路
1)数字集成电路可以分为两大类:双极型集成电路(TTL)、金属氧化物半导体(MOS)。
2)CMOS 电路由于其静态功耗极低,工作速度较高,抗干扰能力较强,被广泛使用。
3)解决 TTL 与 CMOS 电路接口困难的办法是在 TTL 电路输出端与电源之间接一上拉电阻 R,上拉电阻 R 的取值由 TTL 的高电平输出漏电流 IOH 来决定,不同系列的 TTL 应选用不同的 R 值。
9、可编程逻辑器件基础(具体参见教程 51 到 61 页)
        这方面的内容,从总体上有个概念性的认识应该就可以了。
10、嵌入式系统中信息表示与运算基础
1)进位计数制与转换:这样比较简单,也应该掌握怎么样进行换算,有出题的可能。
2)计算机中数的表示:源码、反码与补码。
        正数的反码与源码相同,负数的反码为该数的源码除符号位外按位取反。
        正数的补码与源码相同,负数的补码为该数的反码加一。
        
        例如-98 的源码:11100010B
        反码:10011101B
        补码:10011110B
3)定点表示法:数的小数点的位置人为约定固定不变。
浮点表示法:数的小数点位置是浮动的,它由尾数部分和阶数部分组成。
任意一个二进制 N 总可以写成:N=2 P ×S。S 为尾数,P 为阶数。
4)汉字表示法(教程 67、68 页),搞清楚 GB2318-80 中国标码和机内码的变换。
5)语音编码中波形量化参数(可能会出简单的计算题目哦)
采样频率 :一秒内采样的次数,反映了采样点之间的间隔大小。
        人耳的听觉上限是 20kHz,因此 40kHz 以上的采样频率足以使人满意。
        CD 唱片采用的采样频率是 44.1kHz。
测量精度 :样本的量化等级,目前标准采样量级有 8 位和 16 位两种。
声道数 :单声道和立体声双道。立体声需要两倍的存储空间。
11、差错控制编码
1)根据码组的功能,可以分为检错码和纠错码两类。 检错码 是指能自动发现差错的码,例如奇偶检 验码; 纠错码 是指不仅能发现差错而且能自动纠正差错的码,例如循环冗余校验码。
2)奇偶检验码、海明码、循环冗余校验码(CRC)。(教程 70 到 77 页)
12、嵌入式系统的度量项目
1)性能指标:分为部件性能指标和综合性能指标,主要包括:吞吐率、实时性和各种利用率。
2)可靠性与安全性
可靠性 是嵌入式系统最重要、最突出的基本要求,是一个嵌入式系统能正常工作的保证,一般用
平均故障间隔时间 MTBF 来度量。
3)可维护性:一般用 平均修复时间 MTTR 表示。
4)可用性
5)功耗
6)环境适应性
7)通用性
8)安全性
9)保密性
10)可扩展性
性价比中的价格,除了直接购买嵌入式系统的价格外,还应包含安装费用、若干年的运行维修费用和 软件租用费
13、嵌入式系统的评价方法: 测量法 模型法
1)测量法是最直接最基本的方法,需要解决两个问题:
A、根据研究的目的,确定要测量的系统参数。
B、选择测量的工具和方式。
2)测量的方式有两种:采样方式和事件跟踪方式。
3)模型法分为分析模型法和模拟模型法。分析模型法是用一些数学方程去刻画系统的模型,而模拟 模型法是用模拟程序的运行去动态表达嵌入式系统的状态,而进行系统统计分析,得出性能指标。
4)分析模型法中使用最多的是排队模型,它包括三个部分:输入流、排队规则和服务机构。
5)使用模型对系统进行评价需要解决 3 个问题:设计模型、解模型、校准和证实模型。
1. 嵌入式微处理器的基本结构
1 )嵌入式硬件系统一般由嵌入式微处理器、存储器和输入 / 输出部分组成。
2 )嵌入式微处理器是嵌入式硬件系统的核心,通常由控制单元、算术逻辑单元和寄存器 3 大部分组成:
A 、控制单元:主要负责取指、译码和取数等基本操作并发送主要的控制指令。
B 、算术逻辑单元:主要处理数值型数据和进行逻辑运算工作。
C 、寄存器:用于暂存临时性的数据。
2. 嵌入式微处理器的分类(根据用途)
1 )嵌入式微控制器( MCU ):又称为单片机,片上外设资源一般比较丰富,适合于控制。最大的特点 是单片化,体积小,功耗和成本低,可靠性高。目前约占70% 的市场份额。
2 )嵌入式微处理器( EMPU ):又称为单板机,由通用计算机中的 CPU 发展而来,它的特征是具有 32 位以上的处理器,具有较高的性能。通常嵌入式微处理器把 CPU ROM RAM I/O 等模块做到同一个 芯片上。
3 )嵌入式 DSP 处理器( DSP ):专门用于信号处理方面的处理器,其在系统结构和指令算法方面进行 了特殊设计,使其处理速度比最快的 CPU 还快 10 50 倍,在数字滤波、 FFT 、频谱分析等方面获得了大 量的应用。
4 )嵌入式片上系统( SOC ):追求产品系统最大包容的集成器件,其最大的特点是成功实现了软硬件的无缝结合,直接在微处理器片内嵌入操作系统的代码模块。
6 、单片机系统的基本概念
1 )单片机组成 :中央处理器、存储器、 I/O 设备。
2 )存储器 :物理实质是一组或多组具备数据输入 / 输出和数据存储功能的集成电路,用于充当设备缓存 或保存固定的程序及数据。
A ROM (只读存储器):一般用于存放固定的程序或数据表格等,数据在掉电后仍然会保留下来。
B RAM (随机存储器):用于暂存程序和数据、中间计算结果,或用作堆栈用等,数据在掉电后就 会丢失。
3 I/O 端口 :单片机与外界联系的通道,它可以对各类外部信号(开关量、模拟量、频率信号)进行 检测、判断、处理,并可控制各类外部设备。现在的单片机 I/O 口已经集成了更多的特性和功能,对 I/O 端口的功能进行了拓展和复用,例如外部中断、ADC 检测以及 PWM 输出等等。
4 )输出电平 :高电平电压(输出“ 1 ”时)和低电平电压(输出“ 0 ”时)
A TTL 电平:正逻辑, 5V 为逻辑正, 0V 为逻辑负,例如单片机的输出。
B RS232 电平:负逻辑,- 12V 为逻辑正,+ 12V 为逻辑负,例如 PC 的输出。
注:因此在单片机和 PC 进行通讯的时候需要一个 MAX232 芯片进行电平转换。
5 )堆栈 :它是一种线性的数据结构,是一个只有一个进出口的一维空间。
A 、堆栈特性:后进先出( LIFO
B 、堆栈指针:用于指示栈顶的位置(地址),当发生压栈或者出栈操作时,导致栈顶位置变化时,堆 栈指针会随之变化。
C 、堆栈操作:压栈操作( PUSH )和出栈操作( POP )。
D 、堆栈类型:“向上生长”型堆栈,每次压栈时堆栈指针加 1 ;“向下生长”型堆栈,每次压栈堆
栈时指针减 1
E 、堆栈应用:调用子程序、响应中断时,堆栈用于保护现场;还可以用作临时数据缓冲区来使用。
F 、使用注意:堆栈溢出问题,压栈和出栈的匹配问题。
6 )定时 / 计数器 :实质都是计数器。用作定时器时是对单片机内部的时钟脉冲进行计数,而在用作计 数器时是对单片机外部的输入脉冲进行计数,其作用如下:
A 、计时、定时或延时控制;
B 、脉冲技术;
C 、测量脉冲宽度或频率(捕获功能)
7 )中断 :优先级更高的事件发生,打断优先级低的时间进程。引起中断的事件称为中断源。一个单片 机可能支持多个中断源,这些中断源可以分为可屏蔽中断和非可屏蔽中断,而这些中断源并不都是系统工 作所需的,我们可以根据系统需求屏蔽那些不需要的中断源。
A 、中断嵌套:当一个低级中断尚未执行完毕,又发生了一个高级优先级的中断,系统转而执行高级 中断服务程序,待处理完高级中断后再回过头来执行低级中断服务程序。
B、中断响应时间是指从发出中断请求到进入中断处理所用的时间;中断处理时间是指中断处理开始到中断处理结束的时间。
C 、中断响应过程:
        a、保护现场:将当前地址、累加器 ACC 、状态寄存器保存到堆栈中。
        b、切换 PC 指针:根据不同的中断源所产生的中断,切换到相应的入口地址。
        c、执行中断服务处理程序。
        d、恢复现场:将保存在堆栈中的主程序地址、累加器 ACC 、状态寄存器恢复。
        e、中断返回:从中断处返回到主程序,继续执行。
D 、中断入口地址:单片机为每个中断源分配了不同的中断入口地址,也称为中断向量
8 )复位: 通过外部电路给单片机的复位引进一个复位信号,让系统重新开始运行。
A 、复位发生时的动作:
a PC 指针从起始位置开始执行(大多数单片机都时从 0x0000 处开始执行)。
b I/O 端口设置成缺省状态(高阻态、或者输出低电平)。
c 、部分专用控制寄存器 SFR 恢复到缺省状态。
d 、普通 RAM 不变(如果时上电复位,则是随即数)。
B 、两种不同的复位启动方式:
a 、冷启动:也叫上电复位,指在断电状态下给系统加电,让系统开始正常运行。
b 、热启动:在不断电的状态下,给单片机复位引进一个复位信号,让系统重新开始。
C 、两种类型的复位电路:高电平复位和低电平复位。
D 注意事项:
a 、 注意复位信号的电平状态及持续时间必须满足系统要求。
b 、 注意避免复位信号抖动。
9 )时钟电路: 单片机是一种时序电路,必须提供脉冲电路才能正常工作。时钟电路相当于单片机的心 脏,它的每一次跳动(振动节拍)都控制着单片机的工作节奏。振荡得慢时,系统工作速度就慢,振荡得 快时,系统工作速度就快(功耗也增大)。
A 、振荡周期:振荡源的振荡节拍。
B 、机器周期:单片机完成一个基本操作需要的振荡周期(节拍)。
C 、指令周期:执行一条指令需要几个机器周期。不同的指令需要的机器周期数不同
7 ARM 体系结构的基本概念
1
ARM Advanced RISC Machine
2 ARM 体系结构中支持两种指令集: ARM 指令集和 Thumb 指令集。
3 ARM 内核有 T D M I 四个功能模块:
A T 模块:表示 16 Thumb ,可以在兼顾性能的同时减少代码尺寸。
B D 模块:表示 Debug ,内核中放置了用于调试的结构,通常为一个边界扫描链 JTAG
C M 模块:表示 8 位乘法器。
D I 模块:表示 EmbeddedICE Logic ,用于实时断点观测及变量观测的逻辑电路部分。
4 ARM 处理器有 7 种运行模式:
A 、用户模式( User ):正常程序执行模式,用于应用程序。
D 、快速中断模式( FIQ ):快速中断处理,用于高速数据传输和通道处理。
C 、外部中断模式( IRQ ):用于通用的中断处理。
D 、管理模式( SVE ):供操作系统使用的一种保护模式。
E 、数据访问中止模式( Abort ):用于虚拟存储及存储保护。
F 、未定义指令中止模式( Undefined ):当未定义指令执行时进入该模式。
G 、系统模式( System ):用于运行特权级的操作系统任务。
        除了用户模式之外的其他6 种处理器模式称为 特权模式 ,在这些模式下,程序可以访问所有的系统资源 , 也可以任意地进行处理器模式切换,其中,除了系统模式外,其他的5 种特权模式又称为 异常模式
        处理器模式可以通过 软件控制 进行切换,也可以通过 外部中断或异常处理过程 进行切换。大多数的用 户程序运行在用户模式下,这时,应用程序不能访问一些受操作系统保护的系统资源,应用程序也不能直 接进行处理器模式切换。当需要进行处理器模式切换时,应用程序可以产生异常处理,在异常处理中进行 处理器模式的切换。这种体系结构可以使操作系统控制整个系统的资源。
        当应用程序发生异常中断时,处理器进入相应的异常模式。在每一种异常模式种都有一组寄存器,供 相应的异常处理程序使用,这样就可以保证进入异常模式时,用户模式下的寄存器不被破坏。
        系统模式并不是通过异常过程进入的,它和用户模式具有完全一样的寄存器,但是系统模式属于特权 模式,可以访问所有的系统资源,也可以直接进行处理器模式切换,它主要供操作系统任务使用。
5
ARM 处理器共有 37 个寄存器: 31 个通用寄存器和 6 个状态寄存器
A 、通用寄存器包括 R0~R15 ,可以分为 3 类:
        a、未备份寄存器 R0~R7 :在所有的处理器模式下,未备份寄存器都是指向同一个物理寄存器。
        b、备份寄存器 R8~R14 : 对于 R8~R12 来说,每个寄存器对于 2 个不同的物理寄存器,它们每次所访问的物理寄存器都 与当前的处理器运行模式有关。 对于 R13 R14 来说,每个寄存器对于 6 个不同的物理寄存器,其中一个是用户模式和系统模 式共用。
        R13在 ARM 指令种常用作堆栈指针。由于处理器的每种运行模式都有自己独立的物理寄存器
R13 ,所有在用户应用程序的初始化部分,一般要初始化每种模式下的 R13 ,使其指向该运行
模式的栈空间。
        R14又称为连接寄存器( LR ),在 ARM 体系种具有下面两种特殊作用:在通过 BL BLX 指 令 调用子程序时 ,存放当前子程序的返回地址;在 异常中断发生时 ,存放异常模式将要返回的
地址。
        c、程序计数器 R15 PC )。
        由于 ARM 采用了流水线机制,在三级流水线中,当正确读取了 PC 的值时,该值为当前指令地址值加 8个字节。也就是说, PC 指向当前指令的下两条指令的地址。在 ARM 指令状态下, PC 0 1 位是 0 , 在 Thumb 指令状态下, PC 0 位是 0
B 、程序状态寄存器
        a、 ARM 体系结构包含 1 个当前程序状态寄存器( CPSR )和 5 个备份的程序状态寄存器( SPSR ),使用 MSR 和 MRS 指令来设置和读取这些寄存器。
        b、当前程序状态寄存器 CPSR :保存当前处理器状态的信息,可以在任何处理器模式下被访问。
        c、备份程序状态寄存器 SPSR :每一种异常处理器模式下都有一个专用的物理状态寄存器。当特定的 异常中断发生时,这个寄存器用于存放当前程序状态寄存器的内容,在异常中断程序退出时,可以 用 SPSR 中保存的值来恢复 CPSR
d 、由于用户模式和系统模式不属于异常模式,它们没有 SPSR ,当在这两种模式下访问 SPSR 时,结 果是未知的。
6
ARM 指令的寻址方式
所谓寻址方式就是处理器根据指令中给出的地址信息来寻找物理地址的方式。
A 立即寻址 :操作数本身就在指令中给出,只要取出指令也就取到了操作数。
ADD R0, R0, #1
B 寄存器寻址 :利用寄存器中的数值作为操作数。
ADD R0, R1, R2
C 寄存器间接寻址 :以寄存器中的值作为操作数地址,而操作数本身存放在存储器中。
ADD R0, R1, [R2]
LDR R0, [R1]
STR R0, [R1]
D 基址变址寻址 :将寄存器(该寄存器一般称作基址寄存器)的内容与指令中给出的地址偏移量相 加,从而得到一个操作数的有效地址。
LDR R0, [R1, #4]
LDR R0, [R1, #4]!
LDR R0, [R1], #4
LDR R0, [R1, R2]!
E 多寄存器寻址 :一条指令可以完成多个寄存器值的传送。
LDMIA R0, {R1, R2, R3}
F 相对寻址 :以程序计数器 PC 的当前值作为基地址,指令中的地址标号作为偏移量,两者相加之 后得到操作数的有效地址。
BL NEXT ;        跳转到子程序 NEXT 处执行
……
NEXT
……
MOV PC, LR         ;从子程序返回
G 堆栈寻址 :支持 4 种类型的堆栈工作方式:
        a、 满递增堆栈:堆栈指针指向最后压入的数据,且由低地址向高地址生长。
        b、 满递减堆栈:堆栈指针指向最后压入的数据,且由高地址向低地址生长。
        c、 空递增堆栈:堆栈指针指向下一个将要放入数据的空位置,且由低地址向高地址生长。
        d、 空递减堆栈:堆栈指针指向下一个将要放入数据的空位置,且由高地址向低地址生长。
7 ARM 的存储方法
A 、大端模式:数据的高字节存储在低地址中,低字节存储在高地址中。
B 、小端模式:数据的低字节存储在低地址中,高字节存储在高地址中。
8 ARM 中断与异常
A ARM 内核支持 7 种中断,不同的中断处于不同的处理模式,具有不同的优先级,而且每个中断都有 固定的中断地址入口。当一个中断发生是,相应的 R14 LR )存储中断返回地址, SPSR 存储当前 程序状态寄存器 CPSR 的值。
B 、由于 ARM 内核支持流水线工作, LR 寄存器存储的地址可能是发生中断后面指令的地址,所以不同 的中断处理完成后,必须将 LR 寄存器值经过处理后再写入 P15 PC )寄存器。
C ARM 异常的具体含义:
        a、复位:当处理器的复位电平有效时,产生复位异常,程序跳转到异常复位异常处理程序处执行。
        b、未定义的指令:当 ARM 处理器或协处理器遇到不能处理的指令时,产生未定义指令异常。可 以使用该异常机制进行软件仿真。
        c、软件中断:该异常由执行 SWI 指令产生,可用于用户模式下的程序调用特权操作指令。可使用 该异常机制实现操作系统调用功能。
        d、指令预取中止:如果处理器预取指令的地址不存在或该地址不允许当前指令访问,存储器向处 理器发出中止信号,但当预取的指令被执行时,才会产生指令预取中止异常。
        e、数据访问中止:如果处理器数据访问指令的目标地址不存在,或者该地址不允许当前指令访问 , 处理器产生数据访问中止异常。
        f、外部中断请求:当 ARM 外部中断请求管脚有效,而且 CPSR 中的 I 位为 0 时,产生 IRQ 异常 。 系统的外设可以通过该异常请求中断服务。
        g 、快速中断请求:当 ARM 快速中断请求管脚有效,而且 CPSR F 位为 0 时,产生 FIQ 异常
D ARM 处理器对异常中断的响应过程
        a、将下一条指令的地址存入相应的连接寄存器 LR 中。
        b、将 CPSR 复制到相应的 SPSR 中。
        c、根据异常的类型,强制设置 CPSR 的运行模式位。
        d、强制 PC 从相关的异常向量地址取下一条指令执行,从而跳转到相应的异常处理程序处。
E ARM 处理器从异常中断处理程序中返回
        a、恢复中断的程序的处理器状态,将 SPSR 复制到 CPSR 中。
        b、若在进入异常处理时设置了中断禁止位,要在此清除。
        c、将连接寄存器 LR 的值减去相应的偏移量后送到 PC
F 、复位异常中断处理程序不需要返回。在复位异常中断程序开始整个用户程序的执行。
1、嵌入式软件基础
1)嵌入式软件的特点:
A、规模较小。
B、开发难度大。
C、实时性和可靠性要求高。
D、要求固化 存储
2、嵌入式软件分类:
A、 系统软件 :控制和管理嵌入式系统资源,如嵌入式操作系统、驱动程序、中间件等。
B、 应用软件 :定义嵌入式设备的主要功能和用途,负载与用户进行交互。
C、 支撑软件 :辅助软件开发的工具软件。
3)无操作系统的嵌入式软件的两种实现方式:
A、 循环轮转
优点:简单、直观、开销小、可预测。
缺点:过于简单,所有代码顺序执行,无法处理异步事件,缺乏并行处理能力。
B、 前后台系统 (在循环轮转的基础上增加了中断处理功能)
前台(事件处理级):中断服务程序,负载处理异步事件。
后台(任务级):一个无限循环,负载资源分配、任务管理和系统调度。
4)有操作系统的三大优点:
A、提高系统的可靠性。
B、提高了系统的开发效率,降低了开发成本,缩短了开发周期。
C、有利于系统的扩展与移植
5)设备驱动层(也叫板级支持包 BSP:包含了嵌入式系统中所有与硬件相关的代码)
大多数的嵌入式硬件设备都需要某种类型软件的初始化和管理。这部分工作由设备驱
动层来完成的,它负责直接与硬件大交道,对硬件进行管理和控制,为上层软件提供所需的
驱动支持,类似 PC 系统中的 BIOS 和驱动程序。
6)板级支持包 BSP 的基本思想
把嵌入式操作系统与具体的硬件平台隔离开来。在 BSP 当中,把所有与硬件相关的代
码都封装起来,并向上提供一个虚拟的硬件平台,而操作系统就运行在这个虚拟的硬件平台
上。它使用一组定义好的编程接口来与 BSP 进行交互,并通过 BSP 来访问真正的硬件。
7)一般来说。BSP 主要包括两个方面的内容:
A、 引导加载程序 BootLoader
B、 设备驱动程序
8)关于引导加载程序 BoorLoader
引导加载程序是嵌入式系统加电后运行的第一段软件代码,是在操作系统内核运行之
前运行的一段小程序,它的实现高度依赖于具体的硬件平台,主要的基本功能如下:
A、 片级初始化 :纯硬件初始化过程,把微处理器从上电的默认状态设置成系统要求的工作状态。
B、 板级初始化 :同时有软件和硬件在内的初始化过程,设置各种硬件的寄 存器和设置某些软件的数据结构和参数。
C、 加载内核 :将操作系统和应用程序的映象从 Flash 存储 器复制到系统内存当中,然后跳转到系统内核的第一条指令处继续执行。
补充:PC 系统的引导加载过程。
PC 系统的引导加载程序由两部分代码组成――BIOS 和 MBR 中的引导程序。BIOS 在完成硬件检测和资源
配置后,将硬盘主引导记录 MBR 中的引导程序读到系统的内存当中,然后将控制权交给它,由它负责把操
作系统的内核映象从硬盘读入到内存,然后跳转到内核入口去运行,即启动操作系统。
9)设备驱动程序
在一个嵌入式系统中,操作系统可能有也可能无,但是设备驱动程序是必不可少的。
设备驱动程序, 就是一组库函数,用来对硬件进行初始化和管理,并向上层软件提供良好
的访问接口 。大多数设备驱动程序都具备下面的基本功能: 启动、关闭、停用、启用、读
操作、写操作 。这些功能一般用函数的形式来实现,这些函数之间的组织结构主要有两种
分层结构 混合结构
(10)关于分层结构
A、硬件接口:直接操作和控制硬件。
B、调用接口:不直接跟硬件大交道,为上层软件提供服务和函数接口。
C、优点:把所有与硬件相关的细节都封装在硬件接口中,在硬件需要升级,需要更新 设备驱动程序的时候,只需要改动硬件接口中的函数即可,而上层调用接口中的函数不用做任何修改。
D、混合结构:在设备驱动程序当中,没有明确的层次关系,上层接口和硬件接口混在一起,相互调用。
11)嵌入式中间件
它是在操作系统内核、设备驱动程序和应用软件之外的所有系统软件,其 基本思路 是:
把原本属于应用软件层的一些通用的功能模块抽取出来,形成独立的一层软件,从而为运行
在它上面的那些应用软件提供一个灵活、 安全 。移植性好、相互通信、协同工作的平台。
2、嵌入式操作系统概述
1)内核
内核是指操作系统中的一个组件,它包含了 OS 的主要功能,即 OS 的各种特性及其相
互之间的依赖关系,这些功能主要包括:
A、 任务管理 :对系统中运行的软件进行描述和管理,并完成处理器资源分配和调度。
B、 存储管理 :提高内存的利用率,方便用户使用,提供足够的存储空间。
C、 设备管理 :方便设备的使用,提高 CPU 和 I/O 设备的利用率。
D、 文件管理 :解决文件资源存储、共享、保密和保护等问题。
注:不同嵌入式操作系统的内核设计各不相同,取决于系统设计和实际需求。
2)嵌入式操作系统分类:
A、按系统类型:商业系统、专用系统、开源系统。
B、按响应时间:硬实时系统、软实时系统。
C、按软件结构:单体结构(uCOS)、分层结构(MS-DOS)、微内核结构(Vxworks)。
3 、任务管理
1 )嵌入式操作系统的任务管理可以分为:
A 、单道程序技术:操作系统中,任何时候只能有一个程序在运行。
B 、多道程序技术:操作系统中,允许多个程序同时存在并运行。
2 )进程
        进程,简单的说,是一个正在运行的程序。 进程与程序既有联系又有区别,主要表现为下面结构方面:
A 、程序由 数据 代码 两部分内容组成,它是一个 静态 的概念。而进程是正在执行的程 序,它也由两部分组成: 程序 和该程序的 运行上下文 。它是一个 动态 的概念。
B 、程序和进程之间并不是一一对应的。一个进程在运行的时候可以启动一个或多个程 序。反之,同一个程序也可能由多进程同时执行。
C 、程序可以作为一种软件资源长期保存,以文件的形式存放在光盘或硬盘上,而进程 则是一次执行的过程,它是暂时的,是动态的产生和终止。
一个进程至少应包括三个方面: 相应的程序、 CPU 上下文、一组系统资源
进程有三个特性:
A 动态性 :进程是正在运行的程序,而程序的运行状态是不断变化的。
B 独立性 :进程是系统资源的使用单位,每个进行有自己的运行上下文和内部状态。
C 并发性 :宏观来看,系统中同时有多个进程存在,它们相互独立地运行。
注:对于并发的理解。
在单 CPU 的情况下,所谓的并发性指的是宏观上的并发运行,而微观上还是顺序进行,各个进程轮 流去使用 CPU 资源。在单核 CPU 中,真正的、物理上的 PC 寄存器只有一个,进程在轮流执行的时候,物 理 PC 的取值也在不断变化。而逻辑 PC 其实就是一个内存变量。每个进程都有一个逻辑 PC ,当一个进程 要运行的时候,就把它的逻辑 PC 装载到物理 PC 中去;反之,当一个进程暂不运行的时候,就把物理 PC 中的值保存在它的逻辑 PC 当中。
3 )线程
线程就是进程当中的一条执行流程。
进程其实包含两个部分:资源平台和执行流程(线程)。
在一个进程当中,或者说在一个资源平台上,可以同时存在多个线程;可以用线程作 为 CPU 的基本调度单位,使得各个线程之间可以并发执行;对于同一个进程当中的各个线 程来说,他们可以共享该进程的大部分资源。 每个线程都有自己独立的 CPU 运行上下文和 栈,这是不能共享的。
4 )任务
在嵌入式系统中,任务其实就是线程,它是能够独立运行的一个实体。原因有二:
A 、 任务具有独立的优先级和栈空间, CPU 上下文一般存放在栈空间中。
B 、 任务之间可以很方便地、直接地使用共享的内存单元,而不需要经过系统内核。
在多道程序的嵌入式系统中,同时存在着多个任务,这些任务之间的结构一般为 层状
结构 ,存在着 父子关系 。当嵌入式内核刚刚启动的时候,只有一个任务存在,然后由该任务
派生出所有其他任务。
5 )任务的创建与中止
任务的创建主要发生在以下三种情形:
A 、 系统初始化。
B 、 任务运行的过程中。
C 、 用户提出请求。
从技术的角度来说,实际上新任务只有一种创建的方法,也就是在一个已经存在的任务
中,通过调用相应的系统函数来创建一个新的任务。
任务的创建只要有两种可能的实现模型: fork/exec spawn 。两种模型的差别主要在于
内存的分配方式
A fork/exec 模型下,首先调用 fork 函数为新任务创建一份与父任务完全相同的内存空 间,然后再调用 exec 函数装入新任务的代码,并用它来覆盖原有的属于父任务的内容。
入式 Linux 操作系统 是基于 fork/exec 模型的。
B spawn 模式下,在创建新任务的时候,直接为它分配一个全新的地址空间,然后将
新任务的代码装入并运行。 uCOS 操作系统 是基于 spawn 模型的。
任务的中止可能有多种原因,主要有下面三种情况:
A 、 正常退出。
B 、 错误推出。
C 、 被其他任务踢出。
在有些嵌入式系统中,尤其是一些控制系统中,它的某些任务被设计为“死循环”的模
式,一直循环下去,不会中止。
6 )任务的状态
任务有三中基本状态:
A 运行状态 :任务占有 CPU ,并在 CPU 上运行。
B 就绪状态 :任务已经具备运行的条件,在等待 CPU 空闲。
C 阻塞状态 :任务因为正在等待某种事件的发生而暂时不能运行。
对于就绪状态和阻塞状态,它们的相同之处在于,任务都是处于暂停状态,没有运行
不同之处在于,暂停的原因是不一样的,导致就绪状态的原因是外因,是操作系统的 CPU
正忙,而导致阻塞状态的原因是内因,是任务自身的问题。
任务状态的四种转换关系:
A 运行 -- 阻塞 :任务由于等待某个时间被阻塞起来。
B 运行 -- 就绪 :调度器由于某种原因(例如优先级)选择了另一个任务去运行。
C 就绪 -- 运行 CPU 空闲了,处于就绪状态的任务被调度器选中去运行。
D 阻塞 -- 就绪 :任务的等待事件完成,具备了继续运行的条件。
7 )任务控制块 TCB
任务控制块 TCB ,就是在操作系统中,用来描述和管理一个任务的数据结构。系统为 每一个任务都维护了一个相应的 TCB ,用来保存该任务的各种相关信息。它的主要内容包 括下面几项:
A 任务的管理信息 :任务的标识 ID 、状态、优先级、调度信息、各种队列指针等。
B CPU 上下文信息 CPU 各种寄存器当前的值以及逻辑寄存器。
C 资源管理的信息 :段表地址、页表地址、根目录、文件描述字等。
当需要创建一个任务的时候,就为它生成一个 TCB ,并初始化这个 TCB 的内容;当需
要中止一个任务的时候,只要回收它的 TCB 就可以了。
7 )任务的切换
基本思想 :把当前任务的运行上下文保存起来,并恢复新任务的上下文。
任务切换通常有下面的 基本步骤
A 、 将处理器的运行上下文保存在当前任务的 TCB 中。
B 、 更新当前任务的状态,从运行状态变为就绪状态或阻塞状态。
C 、 按照一定的策略,从所有处于就绪状态的任务中选择一个去运行。
D 、修改新任务的状态,从就绪状态变成运行状态。
E 、 根据新任务的 TCB 的内容,恢复它的运行上下文环境。
在一个多任务的操作系统中,采用 任务队列的方式 来组织它的所有任务。由操作系统来
维护一组队列,用来表示系统当中所有任务的当前状态,不同的状态用不同的队列来标志。
8 )任务的调度
调度器可以看作 CPU 的资源管理者。
任务调度的首要问题是:何时进行调度,即调度发生的时机。 一般有下面几种情形:
A 、 一个新任务被创建时,需要决定运行新任务还是继续执行父任务。
B 、 一个任务运行结束时,需要从就绪队列中选择某个任务去运行。
C 、 一个任务运行阻塞时,需要选择另一个任务去运行。
D 、一个 I/O 操作完成,任务阻塞结束,立即执行新就绪任务还是继续执行被中断任务。
E 、 一个时钟节拍结束时,需要对就绪任务重新调度。
任务调度的第二个问题是:如何调度,即调度方式 。主要有两种方式:
A 、 不可抢占调度方式:例如时间片轮转。
B 、 可抢占调度方式:例如优先级调度。
实时操作系统大都采用可抢占调度方式。
任务调度的第三个问题是:调度算法。
A 先来先服务算法 :按照任务到达的先后次序进行调度,是不可抢占的调度方式。
B 短作业优先算法 :各个任务开始执行之前,事先预计好它的执行时间,从中选择用时较短的任务优先执行。
C 时间片轮转算法 :所有的就绪任务按照先来先服务的原则排成一个队列。在每次调度的时候,把处理器分派给队列当中的第一个任务,让它去执行一小段时间。在这个时间段里任务被阻塞或由于其他原因暂停,或者任务的时间片用完了,它会被送到就绪队列的末尾,然后调度器再执行当前队列的第一个任务。这种算法的优点是各个就绪任务都平均地分配使用 CPU 的时间,每个就绪任务都能一直保持着活动性。时间片轮转法有一个默认前提,即位于就绪队列中的各个任务是同等重要的。
D 优先级算法 :给每个任务都设置一个优先级。然后在任务调度的时候,在所有处于就绪状态的任务中选择优先级最高的那个任务去运行。采用优先级调度算法的一个问题是可能会发生 优先级反转 ,出现任务“ 饥饿 ”现象。
9 )实时系统调度
对于 RTOS 调度器来说,任务之间的公平性并不是最重要的,它追求的是 实时性
A 单调速率调度算法( RMS :任务的优先级与它的周期表现为单调函数的关系,任务的周期越短,优先级越高,任务的周期越长,优先级越低。RMS 假定任务是相同独立的 、周期性的、任务在能够在任何位置被抢占,而实际中的系统,任务之间需要进行通信和同步,这是一种理想的调度方法,实际中并不一定存在。
B 最早期限优先法( EDF :根据任务的截止时间来确定其优先级,对于时间限期最 近的任务,分配最高的优先级。当有一个新的任务处于就绪状态时,各个任务的优先级就有 可能要进行调整,选择截止时间最近的任务去运行。
10 )任务互斥
A 、任务之间的关系:相互独立、任务互斥、任务同步、任务通信。
B 、任务间的互斥:当前已经有一个任务正在访问临界区共享数据,那么其他任务暂时 不能访问。
C 、提出互斥访问的四个条件:
        a、在任何时候最多只能有一个任务位于它的临界区中。
        b、不能事先假定 CPU 的个数和系统的运行速度。
        c、没有任务位于它的临界区中,它不妨碍其他任务去访问临界区资源。
        d、任何一个任务进入临界区的请求必须在有限的时间内得到满足,不能无限期。
D 、任务互斥的解决方案:
        a、关闭中断法
        b、繁忙等待法
        c、信号量处理
11 )信号量
信号量记录当前可用资源的数量。
信号量由操作系统维护,任务不能直接去修改它的值,只能通过初始化和两个标准原
语( PV 原语)来对它进行访问。
注:关于原语。
原语通常由若干条语句组成,用来实现某个特点的操作,并通过一段不可分割或不可中断的程序来实 现其功能。原语时操作系统内核的一个组成部分,必须在内核态下执行。原语的不可中断性是通过在其执 行过程中关闭中断来实现的。
利用操作系统提供的信号量机制,可以方便、有效地实现对临界资源的互斥访问,优 点有两个:
A 、 可以设置信号量的计数值,从而允许多个任务同时进入临界区。
B 、 当一个任务暂时无法进入临界区时,它会被阻塞起来,将 CPU 让给其他任务。
12 )任务同步
任务之间的同步可以使用信号量机制,通过引入 PV 操作来设定两个任务在运行时的先 后顺序。例如,可以把信号量视为某个共享资源的当前个数,然后由一个任务负责生成这种 资源,而另一个任务则负责消费这种资源,这样可以构成两个任务之间的先后顺序。在具体 实现上,一般把信号量的初始值设为 N N 大于或等于 0 。然后在一个任务内使用 V 原语 , 把信号量加1 ,而在另外一个任务内部使用 P 原语,将信号量减 1 ,从而实现这两个任务之 间的同步关系
13 )死锁
在一组任务中,每个任务都占用着若干资源,同时又在等待其他任务占用的资源,从 而造成所有任务都无法进展下去的现象,这称为死锁现象。 除了资源的竞争之外,PV 操作使用不当也会引起死锁。
14 )信号
所谓信号,是系统给任务的一个指示,表明某个异步事件已经发生了。 该事件可能来自外部,也可能来自内部。 信号机制也可以称为软中断机制。
信号机制与中断处理机制非常相似,相同点:
A 、 都具有中断性。
B 、 都有相应的服务程序。
C 、 都可以屏蔽响应。
不同点:
A 、 中断由硬件或特定指令产生,而信号由系统调用产生。
B 、 中断触发后,硬件会根据中断向量找到相应的处理程序执行;而信号则通过发送 信号的系统调用来触发,系统不一定马上对它进行处理。
C 、 中断处理程序在系统内核的上下文中运行,是全局的;而信号处理程序在相关任 务的上下文中运行,是任务的一个组成部分。
15 )任务间通信
任务之间的通信可以分为两种类型:
A 、 低级通信:只能传递状态和整数值等控制信息,例如信号量机制。
B 、 高级通信:能够传输任意数量的数据,只要有三类: 共享内存、消息传递和管道
任务之间的通信方式有两种:
A 、 直接通信:通信双方必须明确知道与之通信的对象。例如 PV 原语。
B 、 间接通信:通信双方不需指出消息的来源和去向,通过共享邮箱发送和接收消息。
邮箱 只能存放单条消息,它提供一种低开销的消息传递机制,只有空和满两种状态。 息队列 与邮箱类似,但是可以同时存放若干条消息,提供了一种任务间缓冲通信的方法。 管道 UNIX 首创,以 文件系统 为基础,连接两个任务之间的一个打开的共享文件,专用于任务直接的数据通信。
5 、设备管理
1 )设备管理基础
一个 I/O 单元通常由两个部分组成:
A 、 机械部分: I/O 设备本身。
B 、 电子部分:设备控制器或设备适配器。
硬件寄存器的编址方式有三种:
A I/O 独立编址 :对于各种设备控制器中的每一个寄存器,分配一个唯一的 I/O 端口
编号,也叫 I/O 端口地址,然后用专门的 I/O 指令对这些端口进行操作。这些端口地址构成
的地址空间是完全独立的,与内存地址空间没有任何关系。
B 内存映象编址 :把各种设备控制器当中的每一个寄存器都映射为一个内存单元,这
内存单元专门用于 I/O 操作。端口地址空间与内存地址空间是统一编址的,端口地址空间是
内存地址空间的一部分。
C 混合编址 :对于设备控制器当中的寄存器采用独立编址的方法,每个寄存器有一个
独立的 I/O 端口地址;而对于设备的数据缓冲区,则采用内存映象编址的方法,把他们统一
到内存地址空间当中。
2 I/O 控制方式:
A 程序循环检测 :要一直占用 CPU ,浪费 CPU 的时间。
B 中断驱动方式 :前后台系统。
C 直接内存访问 DMA 控制,减少了中断的次数。
3 I/O 软件
A 中断处理程序 :当一个用户程序需要某种 I/O 服务时,它会去调用相应的系统函数
而这个函数又会去调用相应的设备驱动程序,在驱动程序中会启动相应的 I/O 操作,并且被
阻塞起来,直到这个 I/O 操作完成后,产生一个中断程序,并跳到相应的中断处理程序,在
这里将会唤醒被阻塞的驱动程序。
B 设备驱动程序 :直接同 I/O 设备打交道,直接对它们进行控制的软件模块。上层的 I/O
软件通过抽象的函数接口与设备驱动程序打交道,这些接口是标准的、稳定不变的,而硬件
设备的具体细节被封装在设备驱动程序里面。设备驱动程序的管理通过驱动程序地址表来实
现。驱动程序表中存放了各个设备驱动程序的入口地址,可以通过此表来实现设备驱动的动
态安装与卸载。
C 设备独立 I/O 软件 :这部分软件在设备驱动程序的上面,是独立的 I/O 软件,也是系
统内核的一部分,主要任务是实现所有设备都需要的一些通用 I/O 功能,并向用户级的软件
提供一个统一的访问接口。
D 用户空间的 I/O 软件 :大部分的 I/O 软件都是包含在操作系统当中的,也有一小部
分运行在系统内核之外。主要可以分为下面两种:
a 、与用户程序进行链接的库函数:例如 C 语言中与 I/O 相关的库函数。
b 、完全运行在用户空间当中的程序:例如 Spooling 技术。
注: Spooling 技术
Spooling 是“外围设备联机操作”的所写, spooling 技术也叫假脱机技术或虚拟设备技术,它可以把
一个独占的设备转变为具有共享特征的虚拟设备。在多道系统中,对于一个独占设备,专门利用一道程序 来增强该设备的 I/O 功能。优点有二:能提供高速的虚拟 I/O 服务;能实现对独占设备的共享。
6 、文件系统
1 )嵌入式文件系统概述
文件系统 就是操作系统中用以 组织、存储、命名、使用 保护 文件的一套管理机制。
常见的嵌入式文件系统有:
A FAT VxWorks QNX Windows CE
B NFS :网络文件系统,基于远程调用和扩展数据表示。
C FFS :用于 Flash 存储器的文件系统。
2 )文件和目录
A 、当一个文件被创建时,必须给它指定一个名字,用户就是通过 文件名 来访问这个文 件的。
B 、文件命是一个有限长度的字符串,由两部分组成: 文件名 扩展名
C 、文件的逻辑结构主要有三种:无结构、简单的记录结构和复杂结构。现代文件系统通常采用的是无结构的形式。
D 、除了文件名之外,操作系统会给每个文件附加一些其他信息,称为 文件的属性
E 、文件的存取方法有两种: 顺序存取 随机存取
F 、目录也称为文件夹,它是一张 表格 ,记录了在该目录下每个文件名和其他的一些管理信息。
G 、在多级目录结构中,访问文件或目录主要有两种方法: 绝对路径名 相对路径名
3 )文件系统的实现
A 、数据块:在磁盘中以扇区为单元进行读写操作。对文件系统而言,把磁盘空间划分
为一个个大小相同的块,称为物理块,每个物理块包含若干个连续的扇区,同时把文件的字
节流也分成大小相同的逻辑块。在文件系统内部,以块为单位来进行操作,把每一个逻辑块
保存在一个物理块中。
B 、文件的实现需要解决两个方面的问题:
a 、如何描述一个文件。
b 、如何存储一个文件。
C 、文件控制块( FCB ):它是 文件的描述方法 ,是操作系统为了管理文件而设置的一 种 数据结构 ,里面存放了与文件有关的所有管理信息, FCB 是文件存在的标志
D 、文件的物理结构:连续结构、链表结构和索引结构。
连续结构 :把文件的各个逻辑块按照顺序存放在若干个连续的物理块当中。主要用于 CD-ROM 等一次性写入的光学存储介质当中。
链表结构 :把文件的各个逻辑块依次存放在若干个物理块当中,这些物理块既可以是
连续的,也可以是不连续的,然后在各个块之间通过指针连接起来,前一个物理块指向下一
个物理块,从而形成一条链表。
带有文件分配表的链表结构 :在链表结构的基础上,把每一个物理块当中的链表指针
抽取出来,单独组成一个表格,就是文件分配表( FAT )。如果要随机访问文件的地 n 个逻
辑块,可以先从 FAT 表中查到相应的物理块地址,然后根据这个地址直接去访问磁盘。
索引结构 :把文件当中每一个逻辑块所对应的物理块编号直接记录在这个文件的文件
控制块当中,这样的文件控制块称为是 I 节点,或索引节点。这样,对于系统中的每一个文
件,都有一个自己的索引节点,通过这个索引节点就能够直接实现逻辑块与物理块之间的映
射关系。
4 )目录的实现
A 直接法 :把文件控制块的内容直接保存在目录项当中,因此每个目录项就等于某个
文件名加上它的 FCB
B 间接法 :目录项里面只有文件名和该文件的 FCB 所在地址。
不管是那一种类型的实现方法,目录的基本功能都一样,即用户给出一个文件名,就
返回相应文件的 FCB
5 )空闲空间管理方法:
A 、位图法。
B 、链表法。
C 、索引法。
1、存储器系统的层次架构
计算机系统的存储器被组织城一个 金字塔 的层次结构。
自上而下为:CPU 内部寄存器、芯片内部高速缓存(cache)、芯片外部高速缓存(SRAM、SDRAM、DRAM) 、 主存储器(FLASH、EEPROM)、外部存储器(磁盘、光盘、CF 卡、SD 卡)和远程二级存储器(分布式文件系统、 WEB 服务器),6个层次的结构。 上述设备从上而下,依次速度更慢、容量更大、访问频率更小,造价更便宜
2、高速缓存(cache)
工作原理 主要利用了程序的 局部性特点
地址映象 是指把主存地址空间映象到 cache 的地址空间。
地址变换 是指当程序或数据已经装入到 cache 后,在实际运行过程中,把主存地址如何编程cache 空间的地址。
常用的地址映象和地址变换的方式有:(教程127页)
直接映象和变换:速度快,造价低,但有局限性,不能充分利用 cache 的好处。
组相联地址映象和变换:速度稍慢但是命中率高。
全相联地址映象和变换:可以任意映射。
常用的 cache 替换算法:轮转法和随机替换算法。
高速缓存的分类:
统一 cache 和独立的数据/指令 cache
写通 cache 和写回 cache
读操作分配 cache 和写操作分配 cache
3、存储管理单元(MMU)
MMU 在 CPU 和物理内存之间进行地址转换,将地址从逻辑空间映射到物理空间,这个过程称 内存映
MMU 主要完成下面的工作:
A. 虚拟存储空间到物理空间的映射。
B. 存储器访问权限的控制。
C. 设置虚拟存储空间的缓冲特性。
嵌入式系统中常常采用 页式存储管理 。为了管理这些页引入了页表的概念。
页表 是位于内存中的表,它的每一行对应虚拟存储空间的一个页,该行包含了该虚拟内存页对应的物 理内存页的地址、该页的访问权限和该页的缓冲特性等。
从虚拟地址到物理地址的变换过程就是 查询页表 的过程。
由于页表存储在内存中的,整个查询过程需要付出很大的代价。根据程序局部性的特点,增加了一个小容量、高速度的存储部件来存放当前访问需要的地址变换条目,这个存储部件称为: 地址转换后备缓冲 器(TLB)
当 CPU 访问内存时,首先在 TLB 中查找需要的地址变换条目,如果该条目不存在,CPU 再从内存中的 页表中查询,并把相应的结果添加到 TLB 中,更新它的内容。
嵌入式系统中虚拟存储空间到物理空间的映射以 内存块 为单位进行。即虚拟存储空间中一块连续的存 储空间被映射到物理存储空间中同样大小的一块连续存储空间。
在页表和 TLB 中,每一个地址变换条目实际上记录了一个虚拟存储空间的内存块的基地址与物理存储 空间相对应的一个内存块的基地址之间的对应关系。
在 MMU 中实现虚拟地址到物理地址的映射是通过 两级页表 来实现的。
禁止 MMU 时,所有物理地址和虚拟地址相等,即使用 平板存储模式
4、内存保护
操作系统通常利用 MMU 来实现操作系统内核与应用程序之间的隔离,以及应用程序与应用程序之间的 隔离。
内存保护包含两个方面的内容:
A. 防止地址越界 ,每个应用程序都有自己独立的地址空间。
B. 防止越权操作 ,每个应用程序都有自己的访问权限。
5、实模式与保护模式
在嵌入式系统中,常见的存储管理方案可以分为两大类: 实模式 保护模式
实模式:内存的平面使用模式。特点有:
A. 不划分“系统空间”与“用户空间”,无须进行地址映射。
B. 操作系统与应用程序之间不再有物理的边界。
C. 系统中的“任务”或“进程”,实际上全是内核线程。
在实模式下, 内存布局 可以分为5个段:
A. 代码段:包含操作系统和应用程序的所有代码。
B. 数据段:所有带有初始值的全局变量。
C. BSS 段:所有未带初始值的全局变量。
D. 堆空间:动态分配的内存空间。
E. 栈空间:保存上下文以及函数调用时的局部变量和形参。
在实模式存储管理方案下,主要的工作在于 堆空间的管理 ,即如何来管理空闲的堆空间、如何来分配 内存、如何来回收内存等等。
保护模式:处理器中必须有 MMU 硬件并启用。特点有:
A. 系统内核和用户程序都有各自独立的地址空间。
B. 每个应用程序只能访问自己的地址空间,不能去破坏操作系统和其他应用程序的代码和数据。
6、分区存储管理
为了实现多道程序系统而采用的最简单的内存管理。
基本思路:把整个内存划分为两大区域,即系统区和用户区,然后再把用户区划分为若干个分区,每 个任务占有其中的一个分区。这样,在内存当中就同时保留多个任务,让他们共享整个用户区,从而实现 多个任务的并发运行。
分区存储管理又可以分为两类: 固定分区 可变分区
固定分区 :各个用户分区的个数、位置和大小一旦确定后,就固定不变,不能再修改。
优点:易于实现,系统开销较小。
缺点:内存利用率不高,分区总数固定。
可变分区 :动态创建,在装入一个程序时,系统将根据它的需求和内存空间的使用情况来决定是否分 配。
优点:动态变化,非常灵活。
缺点:可能存在外碎片。
在实现可变存储管理技术的时候,需要考虑三个方面的问题:
A. 内存管理的数据结构
B. 内存的分配算法
C. 内存的回收算法
7、地址映射
地址映射也叫地址重定位。
逻辑地址和物理地址是完全不同的,不能用逻辑地址来直接访问内存单元。
为了保证 CPU 在执行指令的时候,可以正确地访问内存单元,需要将用户程序中的逻辑地址转换为运 行时由机器直接寻址的物理地址。这个过程称为: 地址映射
地址映射由存储管理单元 MMU 来完成。
地址映射主要有两种方式:静态地址映射和动态地址映射。
静态地址映射 :当用户程序被装入内存时,直接对指令代码进行修改,一次性地实现逻辑地址到物理 地址的转换。
动态地址映射 :当用户程序被装入内存时,不对指令代码做任何修改,而是在程序的运行过程中,当 它需要访问内存单元的时候,再来进行地址转换。
        在具体实现时,这项转换工作一般是由硬件的地址映射机制来完成的。通常设置一个 基地址寄存器 , 或者叫重定位寄存器。当一个任务被调度运行时,就把它所在分区的起始地址装入到整个寄存器中。然后, 在程序运行的过程中,当需要访问某个内存单元时,硬件就会自动地将其中的逻辑地址加上基地址寄存器 中的内容,从而得到实际的物理地址,并且按照这个物理地址区执行。
        这个基地址寄存器位于 MMU 的内部,整个地址映射过程是自动运行的。从理论上说,每访问一次内存 都要进行一次地址映射。
8、页式存储管理(重点)
基本思路 :把物理内存划分为许多固定大小的内存块,称为 物理页面 ;把逻辑地址空间也划分为大小 相同的块,称为 逻辑页面 。当一个用户程序被装入内存时,不是以整个程序为单位,把它存放在一整块连 续的区域,而是以页面为单位来进行分配的。对于一个大小为 N 的页面程序,需要有 N 个空闲的物理页面 来把它装载。这些物理页面不一定是要连续的。
在页式存储管理中需要解决三个问题:数据结构、内存分配与回收、地址映射。
数据结构 有两个:页表和物理页面表。
A. 页表 :给出了任务逻辑页面号和内存中物理页面号之间的对应关系。
B. 物理页面表 :描述内存空间中,各个物理页面的使用情况。
内存的分配过程
A. 对于一个新来的任务,计算它所需要的页面数 N,然后查看位示图,看是否还有 N 个空闲的物理 页面。
B. 如果有足够的空闲物理页面,就去申请一个页表,其长度为 N,并把页表的起始地址填入到该任 务的控制块中。
C. 分配 N 个空闲的物理页面,把他们的变换填到页表中,建立逻辑页面与物理页面直接的对应关
系。
D. 修改位示图,对刚刚被占用的那些物理页面进行标记。
地址映射的基本思路
A. 逻辑地址分析:对逻辑地址,找到它所在的逻辑页面,以及它在页面内的偏移地址。
B. 页表查找:根据逻辑页面号,从页表中找出它对应的物理页面号。
C. 物理地址合成:根据物理页面号和页内偏移地址,最终确定物理地址。
逻辑地址分析
页面的大小都是2的整数次幂。对于给定的一个逻辑地址,可以直接把它的高位部分作为逻辑页面号 , 把它的低位部分作为页内偏移地址。例如,假设页面的大小是4KB,即2的12次幂,逻辑地址为32为,那么 在一个逻辑地址当中,最低12位为页内偏移地址,而剩下的20位就是逻辑页面号。
计算方法
逻辑页面号=逻辑地址/页面大小
页内偏移量=逻辑地址%页面大小
页表查找
页表作为操作系统的一个数据结构,通常保存在内核的地址空间中。
页表基地址寄存器用来指向页表的起始地址;页表长度寄存器用来指示页表的大小,即对于当前任务
它总共包含有多少个页面。
物理地址合成
假设物理页面号为 f,页内偏移地址为 offset,每个页面大小为2 n ,那么相应的物理地址为: f×2 n
+offset
9、虚拟存储管理
程序局部性原理: 时间局限性 空间局限性
虚拟页式存储管理:在页式管理的基础上,增加了 请求调页 页面置换 的功能。
基本思路: 当一个用户程序需要调入内存去运行时,不是将这个程序的所有页面都装入内存,而是只 装载部分的页面,就可以启动这个程序运行。在运行过程中,如果发现要执行的指令或者访问的数据不在 内存当中,就向系统发出缺页中断请求,然后系统在处理这个中断请求时,就会将保存在外存中的相应页 面调入内存,从而使该程序能继续运行。
在虚拟页式存储管理中,页表包含:逻辑页面号、物理页面号、驻留位、保护位、修改位和访问位。
常用的页面置换算法:
A. 最优页面置换算法:理想化算法。
B. 最近最久未使用算法:链表法和栈方法。寻找长时间没有被访问的页面。
C. 最不常用算法:每个页面设置一个访问计数器。
D. 先进先出算法:性能比较差。
E. 时钟页面置换算法:把页面组成环形链表,类似时钟面。
一般来说,当一个任务刚刚启动的时候,它会不断去访问一些新的页面,然后逐步建立一个比较稳定的 工作集。 工作集 是指当前任务正在使用的逻辑页面的集合。如果分配给一个任务的物理页面数太少,不能 包含整个的工作集,任务将会造成很多缺页中断,需要频繁地进行页面置换,这种现象称为“ 抖动 ”。
1. Flash 存储器
1 Flash 存储器是一种非易失性存储器,根据结构的不同可以将其分为 NOR Flash NAND Flash 两 种。
2 Flash 存储器的特点
A 区块结构 :在物理上分成若干个区块,区块之间相互独立。
B 先擦后写 Flash 的写操作只能将数据位从 1 写成 0 ,不能从 0 写成 1 ,所以在对存储器进行写入之 前必须先执行擦除操作,将预写入的数据位初始化为1 。擦除操作的最小单位是一个区块,而不是单个字节。
C 操作指令 :执行写操作,它必须输入一串特殊指令( NOR Flash )或者完成一段时序( NAND Flash ) 才能将数据写入。
D 位反转 :由于 Flash 的固有特性,在读写过程中偶尔会产生一位或几位的数据错误。位反转无法 避免,只能通过其他手段对结果进行事后处理。
E 坏块 :区块一旦损坏,将无法进行修复。对已损坏的区块操作其结果不可预测。
3 NOR Flash 的特点
应用程序可以直接在闪存内运行,不需要再把代码读到系统 RAM 中运行。 NOR Flash 的传输效率很 高,在1MB~4MB 的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响了它的性能。
4 NAND Flash 的特点
能够提高极高的密度单元,可以达到高存储密度,并且写入和擦除的速度也很快,这也是为何所有的 U 盘都使用 NAND Flash 作为存储介质的原因。应用 NAND Flash 的困难在于闪存需要特殊的系统接口。
5 NOR Flash NAND Flash 区别
A NOR Flash 的读速度比 NAND Flash 稍快一些。
B NAND Flash 的擦除和写入速度比 NOR Flash 快很多
C NAND Flash 的随机读取能力差,适合大量数据的连续读取。
D NOR Flash 带有 SRAM 接口,有足够的地址引进来寻址,可以很容易地存取其内部的每一个字 节。NAND Flash 的地址、数据和命令共用 8 位总线(有写公司的产品使用 16 位),每次读写都要使用复杂 的 I/O 接口串行地存取数据。
E NOR Flash 的容量一般较小,通常在 1MB~8MB 之间; NAND Flash 只用在 8MB 以上的产品中 。 因此,NOR Flash 只要应用在代码存储介质中, NAND Flash 适用于资料存储。
F NAND Flash 中每个块的最大擦写次数是一百万次,而 NOR Flash 是十万次。
G NOR Flash 可以像其他内存那样连接,非常直接地使用,并可以在上面直接运行代码; NAND Flash 需要特殊的 I/O 接口,在使用的时候,必须先写入驱动程序,才能继续执行其他操作。因为设计师绝不能 向坏块写入,这就意味着在 NAND Flash 上自始至终必须进行虚拟映像。
H NOR Flash 用于对数据可靠性要求较高的代码存储、通信产品、网络处理等领域,被成为 代码闪 NAND Flash 则用于对存储容量要求较高的 MP3 、存储卡、 U 盘等领域,被成为 数据闪存
2 RAM 存储器
1 SRAM 的特点:
SRAM 表示 静态随机存取 存储器,只要供电它就会保持一个值,它没有刷新周期,由 触发器 构成基本 单元, 集成度低 ,每个 SRAM 存储单元由 6 个晶体管 组成,因此其 成本较高 。它具有 较高速率 ,常用于高 速缓冲存储器。
通常 SRAM 4 种引脚:
CE :片选信号,低电平有效。
R/W :读写控制信号。
ADDRESS :一组地址线。
DATA :用于数据传输的一组双向信号线。
2 DRAM 的特点:
DRAM 表示 动态随机存取 存储器。这是一种 以电荷形式进行存储 的半导体存储器。它的每个存储单 元由 一个晶体管和一个电容器 组成,数据存储在电容器中。电容器会由于漏电而导致电荷丢失,因而 DRAM 器件是不稳定的。它必须有规律地 进行刷新 ,从而将数据保存在存储器中。
DRAM 的接口比较复杂,通常有一下引脚:
CE :片选信号,低电平有效。
R/W :读写控制信号。
RAS :行地址选通信号,通常接地址的高位部分。
CAS :列地址选通信号,通常接地址的低位部分。
ADDRESS :一组地址线。
DATA :用于数据传输的一组双向信号线。
3 SDRAM 的特点:
SDRAM 表示 同步动态随机存取 存储器。同步是指内存工作需要同步时钟,内部的命令发送与数据的 传输都以它为基准;动态是指存储器阵列需要不断的刷新来保证数据不丢失。它通常只能工作在 133MH z 的主频
4 DDRAM 的特点
DDRAM 表示 双倍速率同步动态随机存取 存储器,也称 DDR DDRAM 是基于 SDRAM 技术的,
SDRAM 在一个时钟周期内只传输一次数据,它是在时钟的上升期进行数据传输;而 DDR 内存则是一个时 钟周期内传输两次次数据,它能够在时钟的上升期和下降期各传输一次数据。在133MHz 的主频下, DDR 内存带宽可以达到133 × 64b/8 × 2 2.1GB/s
        
3 、硬盘、光盘、 CF 卡、 SD
4 GPIO 原理与结构
GPIO I/O 的最基本形式,它是一组输入引脚或输出引脚。有些 GPIO 引脚能够加以编程改变工作 方向,通常有两个控制寄存器:数据寄存器和数据方向寄存器。数据方向寄存器设置端口的方向。如果将 引脚设置为输出,那么数据寄存器将控制着该引脚状态。若将引脚设置为输入,则此输入引脚的状态由引 脚上的逻辑电路层来实现对它的控制.
5 A/D 接口
1 A/D 转换器是把电模拟量转换为数字量的电路。实现 A/D 转换的方法有很多,常用的方法有计数法、双积分法和逐次逼进法。
2 )计数式
A/D 转换法
电路 主要部件包括:比较器、计数器、 D/A 转换器和标准电压源。
工作原理 简单来说就是,有一个计数器,从 0 开始进行加 1 计数,每进行一次加 1 ,该数值作为 D/A
换器的输入,其产生一个比较电压 V O 与输入模拟电压 V IN 进行比较。如果 V O 小于 V IN 则继续进行加 1 计数
直到 V O 大于 V IN ,这时计数器的累加数值就是 A/D 转换器的输出值。(详细参考《教程》 155 页)
这种转换方式的 特点是 简单,但是速度比较慢,特别是模拟电压较高时,转换速度更慢。例如对于一个 8
A/D 转换器,若输入模拟量为最大值,计数器要从 0 开始计数到 255 ,做 255 D/A 转换和电压比较的工
作,才能完成转换。
3 )双积分式
A/D 转换法
电路 主要部件包括:积分器、比较器、计数器和标准电压源。
工作原理 是,首先电路对输入待测电压进行固定时间的积分,然后换为标准电压进行固定斜率的反
向积分,反向积分进行到一定时间,便返回起始值。由于使用固定斜率,对标准电压进行反向积分的时间
正比于输入模拟电压值,输入模拟电压越大,反向积分回到起始值的时间越长。只要用标准的高频时钟脉
冲测定反向积分花费的时间,就可以得到相应于输入模拟电压的数字量,也就完成了 A/D 转换。(详细参
考《教程》 156 页)
特点 是,具有很强的抗工频干扰能力,转换精度高,但转换速度慢,通常转换频率小于 10Hz ,主
要用于数字式测试仪表、温度测量等方面。
4 )逐次逼近式 A/D 转换法
电路 主要部件包括:比较器、 D/A 转换器、逐次逼近寄存器和基准电压源。 其 工作原理 是,实质上就是对分搜索法,和平时天平的使用原理一样。在进行 A/D 转换时,由 D/A 转 换器从高位到低位逐位增加转换位数,产生不同的输出电压,把输入电压与输出电压进行比较而实现。首 先使最高位为1 ,这相当于取出基准电压的 1/2 与输入电压比较,如果在输入电压小于 1/2 的基准电压,则最 高位置0 ,反之置 1 。之后,次高位置 1 ,相当于在 1/2的范围中再作对分搜索,以此类推,逐次逼近。
特点 是,速度快,转换精度高,对 N A/D 转换器只需要 M 个时钟脉冲即可完成,一般可用于测 量几十到几百微秒的过渡过程的变化,是目前应用最普遍的转换方法。
5 A/D 转换的重要指标(有可能考一些简单的计算)
A 分辨率 :反映 A/D 转换器对输入微小变化响应的能力,通常用数字输出最低位( LSB )所对应的 模拟电压的电平值表示。n A/D 转换器能反映 1/2 n 满量程的模拟输入电平。
B 量程 :所能转换的模拟输入电压范围,分为单极性和双极性两种类型。
C 转换时间 :完成一次 A/D 转换所需要的时间,其倒数为转换速率。
D 精度 :精度与分辨率是两个不同的概念,即使分辨率很高,也可能由于温漂、线性度等原因使其 精度不够高。精度有绝对精度和相对精度两种表示方法。通常用数字量的最低有效位 LSB 的分数值来表示绝对精度,用其模拟电压满量程的百分比来表示相对精度。
例如,满量程 10V 10 A/D 芯片,若其绝对精度为± 1/2LSB ,则其最小有效位 LSB 的量化单位为 : 10/1024= 9.77mv ,其绝对精度为 9.77mv/2 4.88mv ,相对精度为: 0.048 %。
6 D/A 接口基本
1 D/A 转换器使将数字量转换为模拟量。
2 )在集成电路中,通常采用 T 型网络实现将数字量转换为模拟电流,再由运算放大器将模拟电路转换 为模拟电压。进行 D/A 转换实际上需要上面的 两个环节
3 D/A 转换器的分类:
A 电压输出型 :常作为高速 D/A 转换器。
B 电流输出型 :一般外接运算放大器使用。
C 乘算型 :可用作调制器和使输入信号数字化地衰减。
4 D/A 转换器的主要指标:分辨率、建立时间、线性度、转换精度、温度系数。
7 、键盘接口
1 )键盘的两种形式:线性键盘和矩阵键盘。
2 )识别键盘上的闭合键通常有两种方法:行扫描法和行反转法。
3 )行扫描法是矩阵键盘按键常用的识别方法,此方法分为两步进行:
A 、识别键盘哪一列的键被按下:让所有行线均为低电平,查询各列线电平是否为低,如果有列线为 低,则说明该列有按键被按下,否则说明无按键按下。
B 、如果某列有按键按下,识别键盘是哪一行按下:逐行置低电平,并置其余各行为高电平,查询各 列的变化,如果列电平变为低电平,则可确定此行此列交叉点处按键被按下。
8 、显示接口
1 LCD 的基本原理是,通过给不同的液晶单元供电,控制其光线的通过与否,从而达到显示的目的。
2 LCD 的光源提供方式有两种: 投射式 反射式 。笔记本电脑的 LCD 显示器为投射式,屏的背后有 一个光源,因此外界环境可以不需要光源。一般微控制器上使用的 LCD 为反射式,需要外界提供电源,靠 反射光来工作。 电致发光( EL 是液晶屏提供光源的一种方式。
3 )按照液晶 驱动方式 分类,常见的 LCD 可以分为三类:扭转向列类( TN )、超扭曲向列型( STN )和 薄膜晶体管型(TFT )。
4 )市面上出售的 LCD 有两种类型:带有驱动电路的 LCD 显示模块,只要 总线方式驱动 ;没有驱动电 路的 LCD 显示器,使用 控制器扫描方式
5 )通常, LCD 控制器工作的时候,通过 DMA 请求总线,直接通过 SDRAM 控制器读取 SDRAM 中指 定地址(显示缓冲区)的数据,此数据经过 LCD 控制器转换成液晶屏扫描数据格式,直接驱动液晶显示器。
6 VGA 接口本质上是一个 模拟接口 ,一般都采用统一的 15 引脚接口 ,包括 2 NC 信号、 3 根显示器 数据总线、5 GND 信号、 3 RGB 色彩分量、 1 个行同步信号和 1 个场同步信号。其色彩分量采用的电平 标准为 EIA 定义的 RS343 标准
9 、触摸屏接口
1)按工作原理分,触摸屏可以分为:表面声波屏、电容屏、电阻屏和红外屏几种。
2 )触摸屏的控制采用专业芯片,例如 ADS7843
10 、音频接口
1 )基本原理:麦克风输入的数据经音频编解码器解码完成 A/D 转换,解码后的音频数据通过音频控制 器送入 DSP CPU 进行相应的处理,然后数据经音频控制器发送给音频编码器,经编码 D/A 转换后由扬 声器输出。
2 )数字音频的格式有多种,最常用的是下面三种:
A 采用数字音频( PCM :是 CD DVD 采用的数据格式。其采样频率为 44.1kHz 。精度为 16 位时 , PCM 音频数据速率为 1.41Mb/s ;精度为 32 位时为 2.42 Mb/s 。一张 700MB CD 可以保存大约 60 分钟的 16 位 PCM 数据格式的音乐。
B MPEG 3 音频( MP3 MP3 播放器采用的音频格式。立体声 MP3 数据速率为 112kb/s 128kb/s
C ATSC 数字音频压缩标准( AC3 :数字 TV HDTV 和电影数字音频编码标准,立体声 AC3编码后的数据速率为192kb/s。
3 IIS 是音频数据的编码或解码常用的串行音频数字接口。 IIS 总线只处理声音数据,其他控制信号等 则需要单独传输。IIS 使用了 3 根串行总线:数据线 SD 、字段选择线 WS 、时钟信号线 SCK
4 )当接收方和发送方的数据字段宽度不一样时,发送方不考虑接收方的数据字段宽度。如果发送方发 送的数据字段小于系统字段宽度,就在低位补0 ;如果发送方的数据宽度大于接收方的宽度,则超过 LSB 的部分被截断。字段选择 WS 用来选择左右声道, WS=0 表示选择左声道; WS=1 表示选择右声道。此外 , WS 能让接收设备存储前一个字节,并准备接收下一个字节。
11 、串行接口
1 )串行通信是指,使数据一位一位地进行传输而实现的通信。与并行通信相比,串行通信具有传输线 少、成本低等优点,特别适合远距离传送;缺点使速度慢。
2 )串行数据传送有 3 种基本的通信模式:单工、半双工、全双工。
3 )串行通信在信息格式上可以分为 2 种方式:同步通信和异步通信。
A 异步传输 :把每个字符当作独立的信息来传输,并按照一固定且预定的时序传送,但在字符之间 却取决于字符与字符的任意时序。异步通信时,字符是一帧一帧传送的,每帧字符的传送靠起始位来同 步。一帧数据的各个代码间间隔是固定的,而相邻两帧数据其时间间隔是不固定的。
B 同步传输 :同步方式不仅在字符之间是同步的,而且在字符与字符之间的时序仍然是同步的,即 同步方式是将许多字符聚集成一字符块后,在每块信息之前要加上1 2 个同步字符,字符块之后再加入 适当的错误检测数据才传送出去。
4 )异步通信必须遵循 3 项规定:
A 、字符格式:起始位+数据+校验位+停止位(检验位可无),低位先传送。
B 、波特率:每秒传送的位数。
C 、校验位:奇偶检验。
        a、奇校验:要使字符加上校验位有奇数个“ 1 ”。
        b、偶检验:要使字符加上校验位有偶数个“ 1 ”。
5 RS 232C 的电气特性: 负逻辑
A 、在 TxD RxD 上:逻辑 1 为- 3V ~- 15V ,逻辑 0 3V 15V
B 、在 TES CTS DTR DCD 等控制线上:
信号有效( ON 状态)为 3V 15V
信号无效( OFF 状态)为- 3V ~- 15V
6 TTL 标准与 RS-232C 标准之间的电平转换利用集成芯片 RS232实现。
7 RS-422 串行通信接口
A RS-422 是一种单机发送、多机接收的单向、平衡传输规范,传输速率可达 10Mb/s
B RS-422 采用 差分传输方式 ,也称做平衡传输,使用一对双绞线。
C RS-422 需要一终端电阻,要求其阻值约等于传输电缆的特性阻抗。
8 RS-485 串行总线接口
A RS-485 是在 RS-422 的基础上建立的标准,增加了多点、双向通信能力,通信距离可为几十米到 上千米。
B RS-485 收发器采用 平衡发送 差分接收 ,具有抑制共模干扰的能力。
C RS-485 需要两个终端电阻。在近距离( 300m 一下)传输可不需要终端电阻。
12 、并行接口
1 )并行接口的数据传输率比串行接口快 8 倍,标准并行接口的数据传输率为 1Mb/s ,一般用来连接打印 机、扫描仪等,所以又称打印口。
2 )并行接口可以分为 SPP (标准并口)、 EPP (增强型并口)和 ECP (扩展型并口)。
3 )并行总线分为标准和非标准两类。常用的并行标准总线有 IEEE 488 总线和 ANSI SCSI 总线。 MXI 总线是一种高性能非标准的通用多用户并行总线。
13 PCI 接口
1 PCI 总线是 地址、数据多路复用 的高性能 32 位和 64 位总线,是微处理器与外围控制部件、外围附加 板之间的互连机构。
2 )从数据宽度上看, PCI 定义了 32 位数据总线,且可扩展为 64 位。从总线速度上分,有 33MHz 66MHz 两种。
3 )与 ISA 总线相比, PCI 总线的地址总线与数据总线分时复用,支持即插即用、中断共享等功能。
14 USB 接口
1 USB 总线的主要特点:
A 、使用简单,即插即用。
B 、每个 USB 系统中都有主机,这个 USB 网络中最多可以连接 127 个设备。
C 、应用范围广,支持多个设备同时操作。
D 、低成本的电缆和连接器,使用统一的 4 引脚插头。
E 、较强的纠错能力。
F 、较低的协议开销带来了高的总线性能,且适合于低成本外设的开发。
G 、支持主机与设备之间的多数据流和多消息流传输,且支持同步和异步传输类型。
H 、总线供电,能为设备提供 5V/100mA 的供电。
2 USB 系统由 3 部分来描述: USB 主机、 USB 设备和 USB 互连。
3 USB 总线支持的数据传输率有 3 种:高速信令位传输率为 480Mb/s ;全速信令位传输率为
12Mb/s ; 全速信令位传输率为 1.5Mb/s
4 USB 总线电缆有 4 根线:一对双绞信号线和一对电源线。
5 USB 是一种 查询总线 ,由主控制器启动所有的数据传输。 USB 上所挂接的外设通过由主机调度的 、 基于令牌的协议来共享 USB 带宽。
6 )大部分总线事务涉及 3 个包的传输:
A 令牌包 :指示总线上要执行什么事务,欲寻址的 USB 设备及数据传送方向。
B 数据包 :传输数据或指示它没有数据要传输。
C 握手包 :指示传输是否成功。
7 )主机与设备端点之间的 USB 数据传输模型被称作 管道 。管道有两种类型: 消息 。消息数据具有 USB 定义的结构,而数据流没有。
8 事务调度表 允许对某些流管道进行流量控制,在硬件级,通过使用 NAK (否认)握手信号来调节数 据传输率,以防止缓冲区上溢或下溢产生。
9 USB 设备最大的特点是 即插即用
10 )工作原理: USB 设备插入 USB 端点时,主机都通过 默认地址 0 设备的端点 0 进行通信。在这个过 程中,主机发出一系列试图得到 描述符 的标准请求,通过这些请求,主机得到所有感兴趣的设备信息,从 而知道了设备的情况以及该如何与设备通信。随后主机通过发出 Set Address 请求为设备设置一个 唯一的 地址 。以后主机就通过为设备设置好的地址与设备通信,而不再使用默认地址 0
15 SPI 接口
1 SPI 是一个 同步协议接口 ,所有的传输都参照一个共同的时钟,这个同步时钟有主机产生,接收数 据的外设使用时钟来对串行比特流的接收进行同步化。
2 )在多个设备连接到主机的同一个 SPI 接口时,主机通过从设备的 片选引脚 来选择。
3 SPI 主要使用 4 个信号 :主机输出 / 从机输入( MOSI ),主机输入 / 从机输出( MISO )、串行时钟 SCLK 和外设片选 CS
4 )主机和外设都包含一个 串行移位寄存器 ,主机通过向它的 SPI 串行寄存器写入一个字节来发起一次 数据传输。寄存器通过 MOSI 信号线将字节传送给外设,外设也将自己移位寄存器中的内容通过 MISO 信 号线返回给主机,这样,两个移位寄存器中的内容就被 交换 了。
5 )外设的 写操作和读操作时同步完成 的,因此 SPI 成为一个很有效的协议。
6 )如果只是进行写操作,主机只需忽略收到的字节;反过来,如果主机要读取外设的一个字节,就必 须发送一个空字节来引发从机的传输。
16 IIC 接口
1) IIC 总线是具备 总线仲裁 高低速设备同步 等功能的高性能 多主机总线
2 IIC 总线上需要 两条线 :串行数据线 SDA 和串行时钟线 SCL
3 )总线上的每个器件都有唯一的地址以供识别,而且各器件都可以作为一个发送器或者接收器(由器 件的功能决定)。
4 IIC 总线有 4 种操作模式:主发送、主接收、从发送、从接收。
5 IIC 在传送数据过程中共有 3 种类型信号:
A 开始信号 SCL 为高电平时, SDA 由高向低跳变。
B 结束信号 SCL 为高电平时, SDA 由低向高跳变。
C 应答信号 :接收方在收到 8 位数据后,在第 9 个脉冲向发送方发出特点的低电平。
6 )主器件发送一个开始信号后,它还会立即送出一个从地址,来通知将与它进行数据通信的从器件。 1 个字节的地址包括 7 位地址信息 1 位传输方向指示位 ,如果第 7 位为 0 ,表示要进行一个写操作,如果为 1 , 表示要进行一个读操作。
7 SDA 线上传输的每个字节长度都是 8 ,每次传输种字节的数量没有限制的。在开始信号后面的第 一个字节是地址域,之后每个传输字节后面都有一个应答位(ACK ),传输中串行数据的
MSB (字节高位 首先发送
8 )如果数据接收方无法再接收更多的数据,它可以通过将 SCL 保持低电平来中断传输,这样可以迫使 数据发送方等待,直到 SCL 被重新释放。这样可以达到高低速设备同步。
9 IIC 总线的工作过程: SDA SCL 都是双向的。空闲的时候, SDA SCL 都是高电平,只有 SDA 变为低电平,接着 SCL 再变为低电平, IIC 总线的数据传输才开始。 SDA 线上被传输的每一位在 SCL 的 上升沿被采样,该位必须一直保持有效到 SCL 再次变为低电平,然后 SDA 就在 SCL 再次变为高电平之前 传输下一个位。最后,SCL 变回高电平,接着 SDA 也变为高电平,表示数据传输结束。
17 、以太网接口
1 )最常用的以太网协议是 IEEE802.3 标准
2 )传输编码( 06 07 年都有考题):曼彻斯特编码和差分曼彻斯特编码。 A、 曼彻斯特编码 :每位中间有一个电平跳变,从 高到底的跳变 表示“ 0 ”,从 低到高的跳变 表示为“ 1 ”。
B 差分曼彻斯特编码 :每位中间有一个电平跳变,利用每个码元开始时有无跳变来表示“ 0 ”或“ 1
有跳变 为“ 0 ”, 无跳变 为“ 1 ”。(详见《教程》 200 页)。
3 )相比之下,曼彻斯特编码编码简单,差分曼彻斯特编码提供更好的噪声抑制性能。
4) 以太网数据传输特点:
A 、所有数据位的传输 由低位开始 ,传输的位流时用 曼彻斯特编码
B 、以太网是 基于冲突检测的总线复用方法 ,由硬件自动执行。
C 、传输的数据长度,目的地址 DA +源地址 SA +类型字段 TYPE +数据段 DATA +填充位 PAD,最小为 60B ,最大为 1514B
D 、通常以太网卡可以接收 3 种地址的数据:广播地址、多播地址、自己的地址。
E 、任何两个网卡的 物理地址 都不一样,是世界上 唯一 的,网卡地址由专门机构分配。
5 )嵌入式以太网接口有两种实现方法:
A 、嵌入式处理器+网卡芯片(例如: RTL8019AS CS8900 等)
B 、带有以太网接口的处理器。
6 TCP/IP 是一个分层协议,分为:物理层、数据链路层、网络层、传输层和应用层。每层实现一个明 确的功能,对应一个或几个传输协议,每层相对于它的下层都作为一个独立的数据包来实现。每层上的协 议如下:
A 、应用层: BSD 套接字。
B 、传输层: TCP UDP
C 、网络层: IP ARP ICMP IGMP
D 、数据链路层: IEEE802.3 Ethernet MAC
E 、物理层:二进制比特流。
7 ARP (地址解析协议)
A 网络层 32 的地址来标识不同的主机(即 IP 地址),而 链路层 使用 48 的物理地址( MAC )来 标识不同的以太网或令牌网接口。
B ARP 功能:实现从 IP 地址到对应物理地址的转换。
8 ICMP (网络控制报文协议)
A IP 层用它来与其他主机或路由器交换错误报文和其他重要控制信息。
B ICMP 报文是在 IP 数据包内被传输的。
C 、网络诊断工具 ping traceroute 其实就是 ICMP 协议。
9 IP (网际协议)
A IP 工作在网络层,是 TCP/IP 协议族中最为核心的协议。
B 、所有的 TCP UDP ICMP IGMP 数据都以 IP 数据包格式传输。
C TTL (生存时间字段):指定了 IP 数据包的生存时间(数据包可以经过的路由器数)。
D IP 提供不可靠、无连接的数据包传送服务,高效、灵活。
a 不可靠 :它不能保证数据包能成功到达目的地,任何要求的可靠性必须由上层来提供(如 TCP )。 如果发生某种错误,IP 有一个简单的错误处理算法--丢弃该数据包,然后发送 ICMP 消息报给信源 端。
b 无连接 IP 不维护任何关于后续数据包的状态信息。每个数据包的处理都是相互独立的。 IP
数据包可以不按顺序接收,
10 TCP (传输控制协议)
TCP 协议是一个 面向连接的可靠的 传输层协议,它为两台主机提供高可靠性的端到端数据通信。
11 UDP (用户数据包协议)
UDP 协议是一种 无连接不可靠的 传输层协议,它不保证数据包能到达目的地,可靠性有应用层来提 供。UDP 协议开销少,和 TCP 相比更适合于应用在低端的嵌入式领域中。
12 )端口: TCP UDP 采用 16 位端口号来识别上层的用户,即应用层协议,例如 FTP 服务的 TCP 端口号都是21 Telnet 服务的 TCP 端口号都是 23 TFTP 服务的 UDP 端口号都是 69
18 CAN 总线接口
1 CAN Control Area Network ,控制器局域网)总线是一种 多主方式的串行通信总线 ,是国际上应 用最广泛的现场总线之一,最初被用于汽车环境中的电子控制网络。一个 CAN 总线构成的单一网络中,理 想情况下可以挂接任意多个节点,实际应用中节点数据受网络硬件的电气特性所限制。
2 )总线信号使用 差分电压 传送。两条信号线被称为 CAN_H CAN_L ,静态是均为 2.5V 左右,此时 状态表示 逻辑 1 ,也可以叫做“ 隐性 ”。用 CAN_H CAN_L 高表示 逻辑 0 ,称为“ 显性 ”,此时,通常 电压值为 CAN_H 3.5V CAN_L=1.5V
3 )当“显性”和“隐性”位同时发送的时候,最后总线数值将为“显性”这种特性为 CAN 总线的仲
裁奠定了基础。
4 CAN 总线的一个位时间可以分成 4 个部分:同步段、传播时间段、相位缓冲段 1 和相位缓冲段 2。
5 CAN 总线的数据帧有两种格式: 标准格式 扩展格式 。包括:帧起始、仲裁场、控制场、数据场 、 CRC 场、 ACK 场和帧结束。
6 CAN 总线硬件接口包括: CAN 总线控制器 CAN 收发器 CAN 控制器主要完成时序逻辑转换等 工作,例如菲利普的 SJA1000 CAN 收发器是 CAN 总线的物理层芯片,实现 TTL 电平到 CAN 总线电平 特性的转换,例如 TJA1050
19 xDSL 接口
1 xDSL (数字用户线路)技术是,在现有用户电话线两侧同时接入专用的 DSL 调制解调设备,在用 户线上 利用数字数字信号高频带宽较宽的特性 直接采用数字信号传输,省去中间的 A/D 转换,突破了模拟 信号传输极限速率为56KB/s 的闲置。
2 DSL 技术主要分为 对称 非对称 两大类。
3 )对成 xDSL 更适合于企业 点对点连接应用 ,例如文件传输、视频会议等收发数据量大致相同的工作。
4 ASDL 是近年发展的另一种宽带接入技术,是利用双绞铜线向用户提供两个方向上 速率不对称 的宽 带信息业务。
5 ADSL 在一对电话线上同时传送一路高速下行数据、一路较低速率上行数据、一路模拟电话。各信 号之间采用 频分复用 方式占用不同频带, 低频段 传送话音; 中间窄频带 传送上行信道数据及控制信息; 余高频段 传送下行信道数据、图像或高速数据。
20 WLAN 接口
1 WLAN Wireless Local Area Network )是利用无线通信技术在一定的局部范围内建立的,是计算 机网络与无线通信技术相结合的产物,它以无线多址通道作为传输媒介,提供有线局域网的功能。
2 WLAN 的标准:主要是针对 物理层 媒质访问控制层( MAC 层) ,涉及到所有使用的无线频率范围 、 控制接口通信协议等技术规范与技术标准。
A IEEE 802.11 :定义了物理层和 MAC 层规范,工作在 2.4 2.4835GHz 频段,最高速率为 2Mb/s , 是 IEEE 最初制定的一个无线局域网标准。
B IEEE 802.11b :工作在 2.4 2.4835GHz 频段,最高速率为 11Mb/s ,传输距离 50 150inch 。采 用点对点模式和基本模式两种运行模式。在数据传输速率方面可以根据实际情况在11Mb/s 5.5Mb/s 2 Mb/s、 1 Mb/s 的不同速率间自动切换。
C IEEE 802.11a :工作在 5.15 8.825GHz 频段,最高速率为 54Mb/s/72Mb/s ,传输距离 10 100m
D IEEE 802.11g :混合标准,拥有 EEE 802.11a 的传输速率,安全性较 EEE 802.11b 好,采用两 种调制方式,做到与 EEE 802.11a EEE 802.11b 兼容。
3 WLAN 有两种网络类型: 对等网络 基础机构网络
21 、蓝牙接口
1 )蓝牙技术的目的:使特定的移动电话、便鞋式电脑以及各种便携通信设备的主机之间近距离内实现 无缝的资源共享。
2)蓝牙技术的实质内容是要建立通用的无线空中接口及其控制软件的公开标准。其工作频段为全球通用的 2.4GHz  ISM(即工业、科学、医学)频段,其数据传输速率为 1Mb/s,采用 时分双工方案来实现全双工传输,其理想的连接范围为 10cm 10m
3 )蓝牙基带协议是 电路交换和分组交换的结合
4 )蓝牙技术特点:
A 、传输距离短,工作距离在 10m 以内。
B 、采用跳频扩频技术。
C 、采用时分复用多路访问技术,有效地避免了“碰撞”和“隐藏终端”等问题。
D 、网络技术。
E 、语言支持。
F 、纠错技术,其采用的是 FEC (前向纠错)方案。
5 )蓝牙接口由 3 大单元组成 :无线单元、基带单元、链路管理与控制单元。
22 1394 接口
1 1394 作为一种标准总线,可以在不同的工业设备之间架起一座沟通的桥梁,在一条总线上可以接入 63个设备。
2 IEEE 1394 特点
A 、支持多种总线速度,适应不同应用要求。
B 、即插即用,支持热插拔。
C 、支持同步和异步两种传输方式。
D 、支持点到点通信模式, IEEE 1394 是多主总线。
E 、遵循 ANSI IEEE 1212 控制及状态寄存器( CSR )标准,定义了 64 位的地址空间,可寻址 1024 条 总线的63 个节点,每个节点可包含 256TB 的内存空间。
F 、支持较远距离的传输。
G 、支持公平仲裁原则,为每一种传输方式保证足够的传输带宽。
H 、六线电缆具有电源线,可传输 8 40V 的直流电压。
3 IEEE 1394 协议栈由 3 层组成 :物理层、链路层和事务层,例外还有一个管理层。
物理层和链路层 由硬件构成,而事务层主要由软件实现。
A 物理层 提供 IEEE 1394 的电气和机械接口,功能是重组字节流并将它们发送到目的节点上去。
B 链路层 提供了给事务层确认的数据服务,包括:寻址、数据组帧和数据校验。
C 事务层 为应用提供服务。
D 管理层 定义了一个管理节点所使用的所有协议、服务以及进程。
23 、电源接口
1 DC-DC 转换器有三种类型:
A 线性稳压器 :产生较输入电压低的电压。
B 开关稳压器 :能升高电压、降低电压或翻转输入电压。
C 充电泵 :可以升高、降低或翻转输入电压,但电流驱动能力有限。
2 )任何变压器的转换过程都不具有 100 %的效率,稳压器本省也使用电流(静态电流),这个电流来自 输入电流。静态电流越大,稳压器功耗越大。
3 )线性稳压器输入输出使用 退耦电容 来过滤,电容除了有助于平稳电压以外,还有利于去除电源中的 瞬间短时脉冲波形干扰。
4 )电压与功耗之间的平方关系意味着理想高效的方法是在要求较低电压的较低时钟速率上执行代码, 而不是先以最高的时钟速率执行代码然后再转为空闲休眠。
5 )电源通常被认为是整个系统的“心脏”,绝大多数电子设备 50 %~ 80 %的节能潜力在于电源系统,研制开发新型开关电源是节能的主要举措之一。
6 降低功耗的设计技术
A 、采用低功耗器件,例如选用 CMOS 电路芯片。
B 、采用高集成度专用器件,外部设备的选择也要尽量支持低功耗设计。
C 、动态调整处理器的时钟频率和电压,在允许的情况下尽量使用低频率器件。
D 、利用“节电”工作方式。
E 、合理处理器件空余引脚:
        a、大多数数字电路的输出端在输出低电平时,其功耗远远大于输出高电平时的功耗,设计时应该注意控制低电平的输出时间,闲置时使其处于高电平输出状态。
        b、多余的非门、与非门的输入端应接低电平,多余的与门、或门的输入端应接高电平。
        c、 ROM RAM 及其他有片选信号的器件,不要将“片选”引脚直接接地,避免器件长期被接通,而应该与“读/ 写”信号结合,只对其进行读写操作时才选通。
F 、实现电源管理,设计外部器件电源控制电路,控制“耗电大户”的供电情况。
1 、电路设计原理
1 )电路板设计主要分为 3 个步骤:设计电路原理图、生成网络表、设计印制电路版。
2 网络表 是电路原理设计和印制电路板设计中的一个桥梁,它是设计工具软件自动布线的灵魂。
3 )网络表的格式包括 2 部分:元器件声明和网络定义。(缺少任一部分都有可能在布线的时候出错)
4 电路原理图设计 不仅是整个电路设计的第一步,也是电路设计的基础。包括以下的一些具体步骤:
A 、建立元器件库中没有的库元件。
B 、设置图纸属性。
C 、放置元件。
D 、原理图布线。
E 、检查与校对。
F 、电路分析与仿真。
G 、生成网络表。
H 、保存与输出。
2 PCB 电路设计
1 PCB 设计是电子产品物理结构设计的一部分,它的主要任务是根据电路的原理和所需元件的封装形 式进行物理结构的布局和布线。
2 PCB 设计包括下面一些具体步骤:
A 、建立封装库中没有的封装。
B 、规划电路板。
C 、载入网络表和元件封装。
D 、布置元件封装。
E 、布线。
F 、设计规则检查。
G PCB 仿真分析。
H 、存档输出。
3 、多层 PCB 设计的注意事项
1 )高频信号线一定要短,不可以有尖角( 90 度直角),两根线之间的距离不宜平行、过近,否则可能 会产生寄生电容。
2 )如果是两面板,一面的线布成横线,一面的线布成竖线,尽量不要布成斜线。
3 )一般来说,线宽一般为 0.3mm ,间隔也为 0.3mm ,这个长度约为 8 10mil 。但是对于电源线或者大 电流线应该有足够宽度,一般需要60 80mil 。焊盘一般为 64mil
4 )单面板的生产工艺都很差,因此,单面板的焊盘尽量做得大一些,线要尽量粗一些。
5 )铜膜线的地线应该在电路板的周边,同时将电路上可以利用的空间全部使用铜箔做地线,增强屏蔽 能力,并且防止寄生电容。
6 )电路图上的地线表示电路中的零电位,并用作电路中其他各点的公共参考点,在实际电路中由于地 线阻抗的存在,必然会带来共阻干扰,因此,在布线是,不能将具有地线符号的点随便连接在一起,这可 能引起有害的耦合而影响电路的正常工作。
4 PCB 设计中的可靠性知识
1 )地线设计 :在电子设备中,接地是控制干扰的重要方法。
A 、正确选择单点接地与多点接地。
        a、在低频电路中(工作频率小于 1MHz ),采用一点接地。
        b、在高频电路中(工作频率大于 10MHz ),采用就近多点接地。
B 、将数字电路与模拟电路分开,两者地线不要相混。分别与电源端地线相连。
C 、尽量加粗地线。若地线很细,接地电位则随电流的变化而变化,如有可能,接地线的宽度应大于 3mm。
D 、将接地线构成环路,可以明显提高抗噪声能力。
2 )电磁兼容性设计
A 、选择合理的导线宽度。
        a、瞬变电流在印制线条上所产生的冲击干扰主要是由印制导线的电感成分造成的。
        b、时钟引线、行驱动器和总线驱动器的信号线常常载有大的瞬变电流,导线要尽可能短。
        c、对于分立元件,导线宽度载 1.5mm 左右可满足要求。
        d、对于集成电路,导线宽度可在 0.2mm 1mm 之间选择。
B 、采用正确的布线策略:最好采用井字形网状布线结构。
        a、 PCB 的一面横向布线,另一面纵向布线,然后在交叉孔处用金属化孔相连。
        b、尽量减少导线的不连续性,例如导线不要突变,拐角应大于 90 度。
        c、尽量避免长距离的平行走线,尽可能拉开线与线之间的距离。
        d、信号线与地线及电源线尽可能不交叉。
        e、在一些对干扰十分敏感的信号线之间设置一根地线,可以有效抑制串扰。
C 、抑制反射干扰。
3 )去耦电容配置。
配置去耦电容可以抑制因负载变化而产生的噪声,是印制电路板的可靠性设计的一种常规做法。配置 原则如下:
A 、 电源输入端跨接一个 10 100uF 的电解电容。
B 、 为每个集成电路芯片配置一个 0.01uF 的陶瓷电容。
C 、 对于噪声能力弱、关断时电流变化大的器件和 ROM RAM 等存储型器件,应在芯片的电源线
和地线之间直接接入去耦电容。
D 、去耦电容的引线不能过长,特别是高频旁路电容不能带引线。
4 PCB 的尺寸与器件的布置。
A 、相互有关的元件尽量放得靠近一些。
B 、时钟发生器、晶振和 CPU 的时钟输入端易产生干扰,要相互靠近一些。
C 、易产生噪声的元件、小电流电路、大电流电路等应尽量原理逻辑电路。
5 )散热设计。
5 、电子设计原理
1 EDA 指以计算机为工作平台,融合了应用电子技术、计算机技术、智能化技术最新成果而研制成 的 电子 CAD 通用软件包 。利用 EDA 工具,电子工程师可以将电子产品的由电路设计、性能分析到 IC 设 计图或 PCB 设计图整个过程在计算机上自动处理完成。
2 )“自顶向下”的设计方法。 先从系统设计入手,在顶层进行功能框图的划分和结构设计。在框图一级进行仿真和纠错,并用硬件 描述语言对高层次的系统行为进行描述,在系统一级进行验证,然后用综合优化工具生成具体的门电路网 表,其对应的物理实现级可以是 PCB 或专用集成电路。
3 VHDL 是一种全方位的硬件描述语言,包括系统行为级、寄存器传输级和逻辑门级多个设计层次, 支持结构、数据流、行为3 种描述形式的混合描述。
6 、电子电路测试原理与方法
1 )故障检测:判断故障是否存在,即只判断有无故障。
2 )故障诊断(故障定位):不仅判断故障是否存在,而且指出故障位置。
3 )仿真:对设计过程中得到的电路参数验证其正确性。
4 )测试:判断产品是否合格。
5 )可测试设计的 3 个方面是:测试生成、测试验证、测试设计。
6 JTAG 测试接口是 IC 芯片测试方法的标准。
7 、硬件抗干扰测试
1 )形成干扰的 3 个基本要素:干扰源、传播路径和敏感器件。
2 )干扰的耦合方式:干扰源产生的干扰信号要通过一定的耦合通道才对系统产生作用。
A 、直接耦合:最有效的方式是加入去耦电容。
B 、公共阻抗耦合。
C 、电容耦合。
D 、电磁感应耦合(磁场耦合)。
E 、漏电耦合。
3 )抑制干扰源的技术
尽可能减小干扰源的 du/dt di/dt ,这是抗干扰设计中最优先考虑和最重要的原则。
A 、 主要通过在干扰源两端并联电容来实现减小干扰源的 du/dt
B 、 主要通过在干扰源回路串联电感或电阻及增加续流二极管来实现 di/dt
4 )切断干扰传播路径的技术
A 、充分考虑电源对嵌入式系统的影响。例如给电源加滤波电路或稳压器。
B 、若微处理器的 I/O 口接控制电机等噪声器件,应在 I/O 和噪声源之间加隔离。
C 、晶振与微处理器的引脚尽量靠近,用地线把时钟区隔离起来,晶振外壳接地并固定。
D 、电路板合理分区,如强、弱信号,数字、模拟信号。
E 、尽可能将干扰源与敏感元件远离。
F 、用地线把数字区与模拟区隔离。
G 、数字地与模拟地要分离,最后再一点接于电源地。
H 、微处理器和大功率器件的地线要单独接地,以减小互相干扰。
I 、大功率器件尽可能放在电路板边缘。
5 )提高敏感元件的抗干扰性能
A 、布线时尽量减少回路环的面积,以降低感应噪声。
B 、电源线和地线要尽量粗,除减小压降外,更重要的是降低耦合噪声。
C 、微处理器闲置的 I/O 口不要悬空,要接地或接电源。
D 、其他 IC 的闲置端在不改变系统逻辑的情况下接地或电源。
E 、使用电源监控及看门狗电路,可大幅度提高整个电路的抗干扰性能。
F 、在满足要求的前提下,尽量降低微处理器的晶振和选用低速数字电路。

你可能感兴趣的:(单片机,嵌入式硬件)