嵌入式系统基础 单片机MCU 树莓派 飞控 cpu

嵌入式系统基础 单片机MCU 树莓派 飞控 cpu

stm32

TI

arduino

一些有趣的软硬件设计

嵌入式与linux shell 单片机 电机控制

基于树莓派和Arduino制作的多种移动机器人

电路设计

Altium Designer 导出pcb制作文件

ARM

cpu 浮点峰值

先来谈一下ARM的发展史:1978年12月5日,物理学家赫尔曼·豪泽(Hermann Hauser)和工程师Chris Curry,在英国剑桥创办了CPU公司(Cambridge Processing Unit),主要业务是为当地市场供应电子设备。1979年,CPU公司改名为Acorn计算机公司。

80年代中期,Acorn的一个小团队要为他们的下一代计算机挑选合适的处理器,根据他们提供的技术需求,在当时的市场上无法找到合适的处理器,于是Acorn决定自己设计一个处理器(真有魄力)。一个小团队仅仅用了18个月就完成了从设计到实现的全过程,这是一台RISC指令集的计算机,叫做Acorn RISC Machine(简称ARM)。后来Acorn公司没落了,而处理器设计部门被分了出来,组成了一家新公司。

ARM公司主要设计ARM系列AISC处理器内核,它不生产芯片,只提供IP核。先以一个例子解释一下架构、核、处理器和芯片:S3C2440,这是一款SoC芯片,注意,它不是cpu,2440和我们熟知的51单片机有点类似,都属于嵌入式,嵌入式的发展到目前经历了三个阶段,分别是SCM、MCU、SoC。51属于SCM或MCU,而2440就属于SoC(system on chip)了。

51 mcu = cpu + 外设(io\时钟\uart…)

SoC = cpu + 外设\控制器(ip)

不同的SOC,架构不同(就是CPU如何和IP联系起来,有的以总线为核心,有的以DDR为核心),所以,海思是拥有自主产权的SOC架构。可是,无论任何厂商,再怎么折腾,都没有怎么动过CPU,ARM核心就好好的呆在那里,那就是中央处理器。

ARM命名规则:

第一个数字:系列名称:eg.ARM7、ARM9

第二个数字:Memory system

                2:带有MMU
                4:带有MPU
                6:无MMU与MPU

第三个数字:Memory size

                0:标准Cache(4-128k)
                2:减小的Cache
                6:可变的Cache

第四个字符:T:表示支持Thumb指令集

                D:表示支持片上调试(Debug)
                M:表示内嵌硬件乘法器(Multiplier)
                 I :支持片上断点和调试点
                 E:表示支持增强型DSP功能
                 J :表示支持Jazelle技术,即Java加速器
                 S:表示全合成式

ARMV8 datasheet学习笔记

嵌入式

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 的特点比较。

计算机执行程序所需要的时间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)真值表、布尔代数、摩根定律、门电路的概念。

(5)NOR(或非)和NAND(与非)的门电路称为全能门电路,可以实现任何一种逻辑函数。

(6)译码器:多输入多输出的组合逻辑网络。

每输入一个n位的二进制代码,在m个输出端中最多有一个有效。当m=2n是,为全译码;当m<2n时,为部分译码。

(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、可编程逻辑器件

基础这方面的内容,从总体上有个概念性的认识应该就可以了。

10、嵌入式系统中信息表示与运算基础

(1)进位计数制与转换:这样比较简单,也应该掌握怎么样进行换算,有出题的可能。

(2)计算机中数的表示:源码、反码与补码。正数的反码与源码相同,负数的反码为该数的源码除符号位外按位取反。正数的补码与源码相同,负数的补码为该数的反码加一。

例如-98的源码:11100010B

反码:10011101B

补码:10011110B

(3)定点表示法:数的小数点的位置人为约定固定不变。浮点表示法:数的小数点位置是浮动的,它由尾数部分和阶数部分组成。任意一个二进制N总可以写成:N=2P×S。S为尾数,P为阶数。

(4)汉字表示法,搞清楚GB2318-80中国标码和机内码的变换。

(5)语音编码中波形量化参数(可能会出简单的计算题目哦)采样频率:一秒内采样的次数,反映了采样点之间的间隔大小。

人耳的听觉上限是20kHz,因此40kHz以上的采样频率足以使人满意。

CD唱片采用的采样频率是44.1kHz。

测量精度:样本的量化等级,目前标准采样量级有8位和16位两种。

声道数:单声道和立体声双道。立体声需要两倍的存储空间。

11、差错控制编码

(1)根据码组的功能,可以分为检错码和纠错码两类。

检错码是指能自动发现差错的码,

例如奇偶检验码;纠错码是指不仅能发现差错而且能自动纠正差错的码,例如循环冗余校验码。

(2)奇偶检验码、海明码、循环冗余校验码(CRC)。

12、嵌入式系统的度量项目

(1)性能指标:分为部件性能指标和综合性能指标,

主要包括:吞吐率、实时性和各种利用率。

(2)可靠性与安全性可靠性是嵌入式系统最重要、最突出的基本要求,是一个嵌入式系统能正常工作的保证,一般用平均故障间隔时间MTBF来度量。

(3)可维护性:一般用平均修复时间MTTR表示。

(4)可用性

(5)功耗

(6)环境适应性

(7)通用性

(8)安全性

(9)保密性

(10)可扩展性性价比中的价格,除了直接购买嵌入式系统的价格外,还应包含安装费用、若干年的运行维修费用和软件租用费。

13、嵌入式系统的评价方法:测量法和模型法

(1)测量法是最直接最基本的方法,

需要解决两个问题:
A、根据研究的目的,确定要测量的系统参数。

B、选择测量的工具和方式。

(2)测量的方式有两种:采样方式和事件跟踪方式。

(3)模型法分为分析模型法和模拟模型法。

分析模型法是用一些数学方程去刻画系统的模型,而模拟模型法是用模拟程序的运行去动态表达嵌入式系统的状态,而进行系统统计分析,得出性能指标。

(4)分析模型法中使用最多的是排队模型,它包括三个部分:输入流、排队规则和服务机构。

(5)使用模型对系统进行评价需要解决3个问题:

设计模型、解模型、校准和证实模型。

嵌入式 接口技术

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表示同步动态随机存取存储器。同步是指内存工作需要同步时钟,内部的命令发送与数据的传输都以它为基准;动态是指存储器阵列需要不断的刷新来保证数据不丢失。它通常只能工作在133MHz的主频。

(4)DDRAM的特点 DDR带宽 主频

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转换器的输入,其产生一个比较电压VO与输入模拟电压VIN进行比较。如果VO小于VIN则继续进行加1计数,直到VO大于VIN,这时计数器的累加数值就是A/D转换器的输出值。

这种转换方式的特点是简单,但是速度比较慢,特别是模拟电压较高时,转换速度更慢。例如对于一个8位A/D转换器,若输入模拟量为最大值,计数器要从0开始计数到255,做255次D/A转换和电压比较的工作,才能完成转换。

(3)双积分式A/D转换法

其电路主要部件包括:积分器、比较器、计数器和标准电压源。

其工作原理是,首先电路对输入待测电压进行固定时间的积分,然后换为标准电压进行固定斜率的反向积分,反向积分进行到一定时间,便返回起始值。由于使用固定斜率,对标准电压进行反向积分的时间正比于输入模拟电压值,输入模拟电压越大,反向积分回到起始值的时间越长。只要用标准的高频时钟脉冲测定反向积分花费的时间,就可以得到相应于输入模拟电压的数字量,也就完成了A/D转换。

其特点是,具有很强的抗工频干扰能力,转换精度高,但转换速度慢,通常转换频率小于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/2n满量程的模拟输入电平。

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、同步传输:同步方式不仅在字符之间是同步的,而且在字符与字符之间的时序仍然是同步的,即同步方式是将许多字符 xxxx 成一字符块后,在每块信息之前要加上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”。

(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、实现电源管理,设计外部器件电源控制电路,控制“耗电大户”的供电情况。

嵌入式系统分类:

通用计算机型:通用计算机或嵌入式单板机(如PC104模块)嵌入到应用系统内部。

专用计算机型:面向具体应用系统量身定制,体积小功耗低。

硬件子系统包括:嵌入式处理器、存储器、I/O系统、附属电路。

一、嵌入式处理器:

即嵌入式系统上的处理单元:如嵌入式微处理器、嵌入式微控制器、数字信号处理器(DSP)、可编程器件(FPGA或CPLD)及其组合。

不同处理器的主要区别:

指令多少、指令形式(RISC和CISC)、处理器的结构设计、工艺和应用指标。

嵌入式处理器相对通用处理器,一般集成了较多的I/O接口电路或做了针对应用场景的优化,但本质区别不大,可以用通用处理器代替嵌入式处理器。

1、嵌入式微控制器:

典型的嵌入式微控制器包括在同一个IC(集成电路Integrated Circuit) 的:

CPU 内核、中断控制器、定时器/计数器、存储器(RAM、ROM)以及其他外部接口电路。

集成的外部接口较多,处理能力相对较弱,扩展需求低,适用于简单的控制系统。

2、嵌入式微处理器:

相较于微控制器,外部接口集成较少,处理能力强,一般需要大量的外围电路包括存储器和I/O接口电路。

实际上微控制器与微处理器处理内核上并没有太多区别,更多为一种定性上区分。

3、DSP:

专为信号处理设计,相较一般的数字数据处理,数据处理量大,实时性较高,包括定点DSP和浮点DSP。

密集的数学计算要求其具备一些特点:

快速计算总和的乘加 (MAC,multiply-and-accumulate) 模块。

移位操作对位处理(移位器)。

独立地址生成单元加速对存储器访问。

专门硬件实现循环。

4、可编程器件:

利用可编程器件实现嵌入式系统的处理器子系统可以提高系统的集成度,复杂的外部电路课集成到可编程器件上,甚至包括CPU,称为 SoC。

可以利用可编程器件实现(减少)以下逻辑电路,实现较高集成度:

常用的组合逻辑和时序逻辑电路。

复杂通用电路如通信控制器。

市场没有的专用电路。

软件的硬件化:利用FPGA实现的滤波器速度远快于软件实现的滤波器。

二、嵌入式存储子系统:

内部存储器和外部存储器。

嵌入式系统的存储器用于存放应用程序和数据,大多嵌入式系统软件以固件形式存放,一般对于微控制器不用外部存储器,使用其他处理单元则需要使用外部存储器。

1、存储器的分类:

制作工艺上:目前嵌入式系统大多数是半导体存储器。大部分使用的MOS工艺(低功耗,高集成,便宜,相对慢),部分使用双极性工艺(快速,但功耗高),还有HMOS的。

使用功能特性上:RAM和ROM。

1.1 RAM随机存储器:

动态RAM (DRAM): 数据必须动态刷新(电容充放电),需要配合DRAM控制器进行周期性的刷新或者再生数据。处理器通过DRAM控制器访问数据,并且通过其刷新数据保持数据的有效性。

静态RAM (SRAM): 保持通电数据便不会丢失,但是断电数据会消失。

双端口RAM:常用于两个嵌入式处理器共享内存的应用系统,具有较高的通信效率。

补充:为提高DRAM访问速度,使用页模式、EDO、同步DRAM等措施。

1.2 ROM只读存储器:

EPROM:可通过紫外光照射进行数据的擦除然后再编程(离线,大概几千次),一般封装好可以保存数据十几年不变。

EEPROM:任何字节可以擦除写入(早期离线,上万次编写,现在已经可以在线编程了),一旦写入永久保存,但是写入周期明显长于RAM,不可用于替代RAM作为系统内存。

FLASH快闪存储器:可以在线擦写(按扇区擦除),高密度,价格低,快速读取,可部分擦写(保护块)。

主要有NOR FLASH 与NAND FLASH两种,第一种每个N-MOS单元独立(OR的意思),可以随机读取任意单元内容,适用于程序代码并行读写存储。对于第二种,多个N-MOS单元连接在一起(AND),可按顺序读取存储单元内容,适用于数据或文件的串行读写存储。

1.3 混合类型存储器:

典型的如NVRAM,实际上通常是RAM加后备电池集成,一般用于存储仅几百字节的系统关键信息,价格昂贵。

补充:对于系统配置数据存储器(类似于BIOS)要求:非易失性和访问便捷性。

常使用:NVRAM技术(价格贵)、RAM加电池(面积大)、串行EEPROM(速度慢)、FLASH存储器(部分低端芯片不具备接口)。具体综合考虑速度价格和应用条件。

三、附属电路I/O子系统:

对于不同的领域嵌入式系统很大一部分的区别在于这一部分,结合不同的应用场景与功能需求需要选区不同的外部I/O接口电路(各种外设)。

1、嵌入式处理器工作必须的附属电路:

时钟电路、复位电路、调试电路、监视定时器、译码器电路等,不包含数据的输入输出,但是对处理器工作必不可少,通常与处理器设计在一起构成处理器子系统。

2、I/O子系统:

用于处理器与外部设备之间的数据通信和交互。

典型的附属电路和I/O电路:

1、复位电路: 完成硬件的初始化

阻容复位电路、手动复位电路、看门狗复位电路(程序必须定时清除看门狗计数防止溢出,否则触发复位)、专用复位电路(输出复位信号,集成如复位电路、看门狗定时器、点源电压监视电路等)、内部复位电路(看门狗电路与处理器集成在一起)、软件复位(需要相应指令和硬件支持)。

2、系统时钟: 产生处理器工作的时钟信号

通用计算机可以使用分离的时钟电路,对于嵌入书系统,常将时钟电路集成在处理器上,只需外接晶体即可。

RC时钟: 成本、功耗低,适合时钟稳定性要求不高场景。可以动态调整。

石英晶体: 处理器引出两个引脚外接晶体,内部集成振荡电路。

石英振荡器: 将石英晶体和振荡电路集成一体。

锁相倍频时钟与多时钟源: 高性能处理器工作在高频情况下,为避免高频时钟线暴露于电路板上产生电磁干扰,一般采用锁相倍频电路对低频时钟源倍频,经不同的分频器输送给处理器内核和各个I/O接口电路。

3、I/O模块:

3.1 基本结构概述:

I/O接口电路通过内部总线与处理器内核交换信息。

总线按照传输的数据类型分为:

数据总线DB、地址总线AB、控制总线CB。

对于I/O模块的操作一般集中于对寄存器操作,从编程结果上可分为:

数据输入寄存器: 外设 - > 内核,只读

数据输出寄存器: 内核 - > 外设,只写

控制寄存器: 控制模块工作,只写

状态寄存器: 读取工作状态,只读

模式寄存器: 设置工作方式,只写

处理器内核通过访问I/O接口模块的寄存器来操作模块,而寄存器地址编码一般有以下两种:

与存储器统一编址:

I/O地址与存储器地址空间重叠,访问指令相同,寻址方法不同。

I/O空间与存储器空间统一编址,地址不重叠,寻址方式相同(如ARM)。

单独编址: 两者完全独立,访问采用不同指令进行。

对于存储器和I/O接口电路的地址空间的分配需要使用译码器:

普通集成电路译码器:灵活性较差。

可编程器件译码器:灵活,可满足定制需求。

嵌入式处理器集成译码器:可编程,不需要安装译码器电路。

3.2 定时器/计数器:

定时器与计数器实际上基本结构相同,定时器使用内部系统时钟作为计数脉冲,计数器通常使用来自处理引脚信号对外部事件计数。

3.3 SPI接口:

SPI(串行外部设备接口Serial Peripheral Interface),利用3条线(数据收发与时钟线)完成两个芯片间的双工高速通信。

SPI系统主要用于同标准外设芯片通信,如移位寄存器、ADC、LCD控制器等;也可用于小型系统中交换数据代替UART。

工作时类似于分布式16位移位寄存器,一半在微控制器(SPI主设备)内,一般在外设(SPI从设备)里,通过循环移位完成主从设备数据交换。

一般来说,SPI系统使用4根I/O引脚实现数据传输:串行时钟SPSCK/PD3、主入从出MISO/PD1、从入主出MOSI/PD2、低有效从机片选SS*、PD0。

3.3 UART:

异步通信收发器,有的处理器称为SCI。

通信双方不使用同步时钟而是使用相同的波特率,数据的发送接收单位是帧,发送接受可以同时进行,属于全双工通信。

3.4 通用并行接口:

嵌入式处理器的通用并行接口提供:输入输出、双向功能。大多数的嵌入式处理器通用I/O口与其他的端口复用引脚以节省引脚降低成本。

3.5 I2C接口:

由Philips公司开发的双向两线式同步串行总线,用于连接微控制器及其外围设备,最初是为音频和视频设备设计开发,现应用较为广泛。

由数据总线SDA和时钟总线SCL构成串行总线,在处理器与被控IC、IC与IC之间进行双向传送,最高100Kbps。各种被控IC均并联在该总线上,具有唯一的地址。

总线必须由主器件(一般是微控制器)控制,主器件产生串行时钟(SCL)控制总线的传输方向,并且产生起始和停止条件。

3.6 I2S接口与音频输入输出:

3.7 LCD 显示屏接口:

LCD显示系统包括LCD控制器、LCD驱动器、LCD显示屏和背光电路:

LCD控制器是可编程电路,可以控制LCD显示参数和显存的访问。

LCD驱动器为LCD显示屏提供所需的工作电压和信号。

LCD显示屏和背光电路用于显示文字和图像。

嵌入式处理器支持LCD显示是指嵌入式处理器上集成了LCD控制器。

3.8 A/D接口:

一般大多嵌入式处理器带有相关接口,适用于一般性应用,对于高速、高精度要求时可以外接A/D、D/A转换芯片。

3.9 实时时钟模块:

系统电源关闭后,RTC可以通过备用电源维持工作,使用外部晶振工作,同时可以完成闹钟功能。

总结:

不同的嵌入式处理器区别在于性能和功能。

性能指的是嵌入式处理器处理数据的能力(处理速度)。

功能取决于处理器上集成的I/O模块 的种类和数量。

一. 嵌入式系统的特点、分类、发展与应用

1.嵌入式系统定义

1)广义上:带有微处理器的专用软件系统。

2)狭义上:使用嵌入式微处理器构成的具有自己的操作系统和特定功能,用于特定场合。

3)以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能,可靠性,成本,体积,功耗严格要求的专用计算机系统。:洗衣机、空调机、有线电视机顶盒、电饭煲、等白色家电;心电计、血压计等医疗电子设备;路由器等。而服务器:高性能计算机、巨型机、个人电脑等都不是嵌入式系统

2.嵌入式系统构成

(1)软件:操作系统和应用软件

(2)硬件:存储器和CPU(中央处理器),存储器和CPU通过总线相连接,硬件通过输入/输出接口与外部联系;有些嵌入式系统会包含多个处理器,分为中央处理器和协处理器

CPU:

(1)组成:运算器、控制器、寄存器、高速缓冲器cache

(2)分类:ARM,DSP,FPGA

(3)特点:支持实时处理、低功耗、结构可扩展、集成测试电路

(4)当前最快的CPU芯片时钟频率已经超过10G

(5)影响CPU性能的主要因素:主频、指令系统、高速缓冲存储器的容量和结构、逻辑结构(包括指令流水线数目)

3.嵌入式系统特点

(1)专用性

(2)隐蔽性

(3)软硬件资源受限

(4)高可靠性

(5)实时性

(6)软件固化(嵌入式中的软件一般固化在ROM中,用户通常不能随意变更其中的程序功能)

4.嵌入式系统分类

(1)按照软硬件复杂程度:低端系统、中端系统、高端系统

1)低中端系统:采用4/8位单片机,不使用操作系统,由监控程序对系统进行控制,在工业领域和白色家电领域占主导地位,例如家用洗衣机、遥控器、微波炉

2)高端系统:采用32/64位处理器,支持网络连接;典型应用:智能手机、掌上电脑、路由器、Google眼镜

(2)按照实时性:非实时系统、软实时系统、硬实时系统

例如:对实时性要求较高的有数码相机;对可靠性要求较高的是ATM柜员机,POS机、汽车、数控机床等

5.嵌入式芯片

(1)微处理器

(2)数字信号处理器

1)DSP是一种专用于数字信号处理的微处理器,它对通用处理器的逻辑结构和指令系统进行了优化设计,使之能更好的满足高速数字信号处理的要求

2)特别适合音频、视频等数字信号的数据处理效率,手机和数码相机等产品通常都含有数字信号处理器

3)其特点之一就是指令系统增加了单指令多数据(SIMD)并行处理的特殊指令

(3)微控制器(单片机)

1)它将整个计算机硬件的大部分甚至全部电路集成在一块芯片上,除CPU外还集成了存储器、总线、定时/计数器、I/O接口等组件;与微处理器不同,它只需增加少量外接电路和硬件就可组成完整的硬件系统。

2)微控制器种类和数量很多,在很多方面得到广泛应用,占用嵌入式系统市场的70%。

3)特点:单片化,体积减小,从而功耗和成本都下降.

4)早先的4位主要用于家用电器的控制单元,8位和16位用于一般的控制领域,近年来32位MCU也得到了迅速的发展。

(4)片上系统SoC

6.嵌入式系统发展

(1)嵌入式系统软件与通用计算机系统软件相同之处:都有引导加载程序,外设驱动程序

(2)嵌入式系统在应用数量上远远超过了各种类型的通用计算机系统

(3)现在嵌入式系统中使用最多的还是8位和16位CPU,但32位是技术发展的主流

(4)真正意义上的嵌入式系统是从20世纪70年代微处理器出现后发展起来的

二. 嵌入式系统的组成与微电子技术(集成电路、EDA、SoC、IP等技术的作用及发展)

1.片上系统(SoC)

(1)以IP核为基础

(2)目前大多数32位的嵌入式处理芯片均为SoC,包括智能手机和平板电脑,SoC芯片中32/64位CPU大多采用ARM内核(英国设计)

(3)开发过程:总体设计、逻辑设计、综合与仿真、芯片制造

(4)芯片中既包含处理器有包含存储器及外围电路,单个芯片就能实现数据的采集、转换、存储、处理和I/O等多个功能

(5)实现了软硬件无缝结合,可能包含一个或多个处理器

(6)是电子设计自动化(EDA)水平提高和大规模集成电路制造技术(VLSL)发展的成果

2.IP核

(1)知识产权核

(2)按照IC设计文件的类型,IP核分为3种:

1)硬核:已被投片测试验证的IC的掩膜版图和全套工艺文件

2)软核:即使用硬件描述余语言(HDL)描述的IP核

3)固核:与工艺相关的包含具体结构信息的IP核

3.集成电路

(1)集成电路的特点是体积小、重量轻、可靠性高。集成电路的性能主要体现逻辑门电路的晶体管大小,晶体管越小,极限工作频率越高,门电路的开关速度就越快,目前单个芯片上可以集成几亿个甚至几十亿个晶体管,时钟频率达到10GHz,晶圆直径也已超过10英寸

(2)随着制作工艺的提升,芯片制造工艺进入了纳米时代,世界上最为先进的制作工艺已经达到45纳米或32纳米

(3)根据其集成度的高低可以分小规模,中规模,大规模,超大规模(VLSL)和极大规模(ULSL)嵌入式处理芯片大多为后两种。

(4)可以将模拟电路、数字电路、甚至是数字模拟混合电路或者射频电路集成在单个芯片上

(5)**摩尔定律:**集成电路的集成度平均每18-24月翻一番

(6)瓶颈问题:工作频率越来越高,功耗也越来越高

三. 嵌入式系统与数字媒体(文本、图像和音频/视频等数字媒体的表示与处理)

1.编码格式

(1)数字有线电视和卫星电视所传输的数字视频编码格式:MPEG-2

(2)互联网视频应用中的视频编码格式:H.264/MPEG-4 AVC

(3)应用最多的音频编码格式是MP3,MP3编码格式:MPEG-1层III算法进行有损的压缩编码

2.数字图像

(1)获取设备:数码相机和扫描仪

(2)获取步骤(模拟信号的数字化):扫描、分色、取样、量化

(3)像素深度:指每像素用多少个二进制位表示,是像素的所有颜色分量的二进制位数之和,决定了图像中可能出现的不同颜色或不同亮度的最大数目

1)真彩色图像由R、G、B三基色组成,且3个分量中的像素位数都是8位,所以图像的像素深度为24位

2)例如:当图像深度是8位,其亮度等级总数为2^8 = 256种

3)65536色的图像是2的16次方,所以是16位

(4)图像数据量(像素):图像水平分辨率 * 图像垂直分辨率*像素深度/8

(5)数字图像参数:图像大小、位平面数目、像素深度、颜色模型

(6)我国高清电视的图像分辨率大多为1920 * 1080,其宽高比是16 :9

(7)文件格式

1)JPEG:大多采用有损压缩方法,压缩率较高,在数码相机中得到广泛使用

2)GIF:采用无损压缩方法,图像颜色数目少(256种颜色),文件特别小,适合在网页中作为插图或剪切画使用

3)BMP、PNG

3.音频

(1)音频信号数字化:取样、量化、编码

1)音频是频率范围在20Hz-20kHz之间的模拟信号

2)其中量化是把每个样本的模拟值转换成数字量来表示,因此量化过程也叫做A/D转换

3)量化精度:量化后的样本一般用8、12、16位二进制整数表示

4)量化位数增多,量化的精度可以提高,声音的保真度也更好,量化的位数越少,数字声音的数据量也越少

(2)数字音频未压缩前,其比特率(码率)的计算公式:波形声音的码率 = 取样频率 * 量化位数 * 声道数;压缩编码后的码率则为压缩前的码率除以压缩倍数。

(3)文件格式:.wav、.mp3、.ape、.flac

(4)MP3音乐播放器

1)必须具有对MP3格式音频文件解码的功能

2)MP3音频文件的文件扩展名是.mp3

应用:手机的打接电话:发送话音信号时必须对人们的讲话声进行数字化,在接听电话时必须把接收到的数字话音信号恢复为模拟信号;通话过程产生的数据流量比传输短信息多得多

4.视频

(1)文件格式:.avi、.mov、.rmvb

(2)数字视频的数据可压缩几十倍甚至几百倍

5.中西文字编码:

(1)GB2312:包括汉字及图形符号,双字节表示汉字,每个字节的最高位均规定为1

(2)GB18030:采用双字节或四字节存储和传输汉字

(3)ASCII字符集:96个可打印字符+32个控制字符,每个字符用7个二进制表示、但由于字节是计算机中最基本的存储和处理单元,故一般仍用一个字节来存放ASCII码,此时多出来的最高位通常保持为

(4)英文字符占用1个字节

(5)字符的形状有两种描述方法

1)点阵法:描述字符在离散点阵中笔画的占位信息

2)轮廓法:描述字符的轮廓,即把字符的轮廓用一组直线和曲线来勾画,字型库中记录的是每一直线和曲线的端点及控制点的坐标

(6)UTF-8采用的是单字节可变长编码;UTF-16采用的是双字节可变长编码

6.数字文本

(1)数字文本是以文本以及其他符号为主的一种数字媒体

(2)根据排版格式分,文本分为纯文本(简单文本)和丰富格式文本

1)纯文本:仅由字符的编码组成,只包含单纯的文字信息,例如txt文档

(3)根据文本内容的组织方式来分,可以分为线性文本和超文本两大类

1)超文本:按网状结构组织信息,例如www网页

(4)为了使数字文本能够广泛发布、自由交换和长期保存,某公司开发了一种用于电子文档交换的文件格式PDF

7.数码相机

(1)由前端和后端两部分组成,前端负责图像获取,后端负责数字图像的处理,后端通常是以嵌入式DSP作为核心的SoC芯片,DSP用于完成数字图像处理.

(2)数码相机有一个超低功耗的8位MCU,负责进行操作控制

(3)高端数码相机配置有实时操作系统和图像处理软件

(4)存储相片使用闪存卡(不是用来存储软件),Flash存储器

四. 嵌入式系统与网络通信技术(数字通信与计算机网、TCP/IP协议、互联网接入技术)

1.TCP/IP协议

互联网将大量同构或异构的计算机网络连接起来所遵循的协议

(1)IP协议第4版(IPv4)规定,每个IP地址使用32个二进制位表示,其中包含有网络号(表示该主机所在网络的编号)和主机号(该主机在所属网络中的编号)两部分,每个正在上网的终端设备都有一个IP地址,许多设备的IP地址时动态分配的而非固定不变的。

(2)IP地址分为A类、B类、C类三个基本类,另有两类分别作为组播地址和备用地址(D类和E类)

1)A类:1字节为网络地址,2、3、4个字节为主机地址,网络地址最高位必须是0,即第一段数字范围是1-127,每个A类地址可连接16387064台主机,Internet有126个A类地址

2)B类:

3)C类:192.0.0.1 – 223.255.255.254,1、2、3字节为网络地址,4位主机地址,网络地址数量较多,适用于小规模局域网络,每个网络最多包含254台计算机

4)D类:组播地址(多目的地址)

5)E类:备用地址

(3)由于IPv4中地址长度仅为32位(使用起来不方便,通常用4个十进制表示),只有大约36亿个地址可用,新的第六版IP协议IPv6已把地址长度扩展到128位

(4)目前Internet逐渐形成了基于ISP的多层结构,接入互联网的计算机或终端设备,必须获得ISP分配的IP地址

2.有线通信和无线通信

(1)有线通信

1)传输介质是金属导体或光导纤维,包括双绞线、同轴电缆和光缆;双绞线的特点是成本低、易受外部高频电磁波干扰、误码率较高、传输距离有限,主要用于固定电话回路和计算机局域网

2)光纤通信利用光波传输信息,属于有线通信

(2)无线通信

1)借助自由空间的电磁波传播信息,可以省去线路的架设,允许终端设备在一定范围内移动,但是电波通过自由空间是能量较分散,传输效率低,同时,无线通信存在着易被窃听、易受干扰等缺点

2)微波通信:微波是一种300MHz-300GHz的电磁波,具有类似光波的特性,在空间主要作直线传播,包括手机、卫星通信、WiFi

3)短波通信:FM(调频广播),主要是利用短波和超短波进行通信

(3)模拟信号和数字信号通信系统中所传输的两种形式的信号

1)模拟信号在传输过程中容易受噪声信号的干扰,传输质量不够稳定

3.局域网

1)局域网的地域范围较小,往往属于一个单位所有,由单位自建自管,具有多种类型

2)局域网使用专门铺设的传输介质进行联网和数据通信,数据传输速率越高,延迟时间端,误码率低

3)局域网采用分组交换技术,发送设备必须把要传输的数据分成小块,即帧,一次只能传输一帧,数据帧的形式:发送设备MAC地址+接收设备MAC地址+控制信息+有效载荷(传输的数据)+校验信息

4)局域网按照传输介质使用的访问控制方法,可以分为以太网、FDDI网和令牌网,目前广泛使用的是以太网,它以集线器或交换机为中心构成,以太网采用的通信协议是802.3,连接在以太网中的每台计算机必须至少有一个全球唯一的MAC地址

4.嵌入式Web服务器:

(1)嵌入式Web服务器不是以提供信息为主,而是提供远程操控及配量设备的一种方式

(2)嵌入式Web可服务器是嵌入在设备中的,通常与设备的控制器融为一体,用来控制和管理设备,但也向客户提供设备的运行状态信息

(3)应用软件包含4个组件:客户端浏览器、WEB服务器、WEB页面、设备操控程序

1)WEB页面:用于设备操控命令提交或设备状态信息显示的人机界面,它需要CGI接口来与设备操控程序进行信息交互

(4)基于嵌入式WEB服务器的应用系统,其设计工作中有许多工作是涉及网页设计

(5)嵌入式Web服务器与通用服务器主要存在你以下三个方面的差别

1)运行的目标环境

2)在各自系统中的作用

3)运行的优先级

5.互联网的无线接入方式

(1)无线局域网(WLAN)接入

1)采用的通信协议:802.11(Wi-Fi),包括802.11a(主要协议)、802.11b(采用调频扩频技术,传输速度可根据环境调整)、802.11g、802.11n

2)Bluetooth后来被作为个人无限区域网协议(IEEE 802.15)的基础

2)数据传输速率:11Mbps、54Mbps、108Mbps(802.11n)

3)必须在安装有接入点(AP)的热点(无线接入点)区域中才能接入,热点实际上是一个无线交换机或无线路由器,相当于手机通信中的“基站”;无线局域网需要使用无线网卡、无线接入点等设备构建,目前还不能完全脱离有线网络,只是有线网络的补充

4)路由器:连接异构网络,工作在网络层,屏蔽不同物理网络的差异,确保异构网络的数据交换顺利进行;路由器拥有多个输入端口和输出端口,可以连接多个网络或者多个路由器,一个路由器为每个端口分配一个IP,同一个路由器拥有多个不同的IP地址;数据转发时,路由器按照端口接入的网络号进行判断。

5)是以太网与无线通信技术结合的产物,它的最大优点就是能方便移动计算机的位置或改变网络的组成,传输速率快,根根据环境而调整

6)无线局域网采用无线电波传输数据,传输的频段主要为2.4GHz和5.8GHZ,电波覆盖范围较广,采用扩频方式通信,具有抗干扰、抗噪音和抗信号衰减能力

(2)GPRS移动电话网接入

(3)3G移动电话网接入

1)覆盖范围广

2)4G指第四代移动通信技术,其传输速率可达到20Mbps,理论上最高可以达到100Mbps

6.互联网接入技术

(1)ADSL:不对称数字用户线

1)利用普通电话线作为传输介质将计算机接入互联网

2)借助有线电视网接入互联网时,主机端仍采用传统的以太局域网技术与电缆调制调解器(Cable Modem)连接,后者通过同轴电缆接入HFC

3)光纤接入网指的是使用光纤作为主要传输介质的互联网接入系统,包括使用光纤或者光纤+双绞线作为传输介质

4)用户安装ADSL时,只需在已有电话线的用户端配置一个ADSL MODEM和一个语音分离器,计算机中需要安装一块以太网网卡

7.计算机网络

(1)组成

1)计算机等智能电子设备

2)数据通信链路

3)通信协议

4)网络组件

(2)网络中的每个网络终端都需要配置以太网卡,每个网卡都有全球唯一的48个二进制位组成的MAC地址

(3)分类

1)按使用的传输介质

有线网和无线网

2)按网络的使用性质

公用网和专用网

3)按网络的使用范围和使用对象

你可能感兴趣的:(嵌入式开发,物联网,stm32,嵌入式硬件,物联网)