一、什么是嵌入式
IEEE(Institute of Electrical and Electronics Engineers,美国电气和电子工程师协会)对嵌入式体系的界说:“用于操控、监督或许辅佐操作机器和设备的设备”。原文为:Devices Used to Control,Monitor or Assist the Operation of Equipment,Machinery or Plants)。
嵌入式体系是一种专用的核算机体系,作为设备或设备的一部分。一般,嵌入式体系是一个操控程序存储在ROM中的嵌入式处理器操控板。事实上,一切带有数字接口的设备,如手表、微波炉、录像机、轿车等,都运用嵌入式体系,有些嵌入式体系还包括操作体系,但大多数嵌入式体系都是由单个程序完结整个操控逻辑。
从使用目标上加以界说,嵌入式体系是软件和硬件的综合体,还能够包括机械等隶属设备。国内遍及认同的嵌入式体系界说为:以使用为中心,以核算机技能为根底,软硬件可裁剪,习惯使用体系对功用、可靠性、本钱、体积、功耗等严格要求的专用核算机体系。
一个嵌入式体系设备一般都由嵌入式核算机体系和履行设备组成,嵌入式核算机体系是整个嵌入式体系的中心,由硬件层、中间层、体系软件层和使用软件层组成。履行设备也称为被控目标,它能够承受嵌入式核算机体系宣布的操控指令,履行所规则的操作或使命。
履行设备能够很简略,如手机上的一个微小型的电机,当手机处于轰动接纳状况时翻开;也能够很杂乱,如SONY 智能机器狗,上面集成了多个微小型操控电机和多种传感器,然后能够履行各种杂乱的动作和感触各种状况信息。
二、嵌入式体系的组成
一、 硬件层
硬件层中包括嵌入式微处理器、存储器(SDRAM、ROM、Flash等)、通用设备接口和I/O接口(A/D、D/A、I/O等)。在一嵌入式处理器根底上添加电源电路、时钟电路和存储器电路,就构成了一个嵌入式中心操控模块。其间操作体系和使用程序都能够固化在ROM中.
二、 中间层
硬件层与软件层之间为中间层,也称为硬件笼统层(Hardware Abstract Layer,HAL)或许板级支撑包(Board Support Package,BSP),它半体系上层软件与底层硬件别离开来,使体系的底层驱动程序与硬件无关,上层软件开发人员无需关怀底层硬件的具体情况,依据BSP层供给的接口即可进行开发。该层一般包括相关底层硬件的初始化、数据的输入/输出操作和硬件设备的装备功用。
实际上,BSP是一个介于操作体系和底层硬件之间的软件层次,包括了体系中大部分与硬件联络严密的软件模块。规划一个完好的BSP需求完结两部分作业:嵌入工体系的硬件初始化的BSP功用,规划硬件相关的设备驱动。
三、 体系软件层
体系软件层由实时多使命操作体系(Real-time Operation System,RTOS)、文件体系、图形用户接口(Graphic User Interface,GUI)、网络体系及通用组件模块组成。RTOS是嵌入式使用软件的根底和开发渠道。
三、实时体系
界说:能在指定或确认的时间内完结体系功用和对外部或内部、同步或异步时间做出呼应的体系。
差异:通用体系一般寻求的是体系的均匀呼应时间和用户的运用方便;而实时体系首要考虑的是在最坏情况下的体系行为。
特色:时间束缚性、可猜测性、可靠性、与外部环境的交互性。
硬实时(强实时):指使用的时间需求应能够得到彻底满意,不然就形成严重安全事故,乃至形成严重的生命财产损失和生态损坏,如:航天、军事。
软实时(弱实时):指某些使用尽管提出了时间的要求,但实时使命偶然违背这种需求对体系运转及环境不会形成严重影响,如:监控体系、实时信息收集体系。
使命的束缚包括:时间束缚、资源束缚、履行次序束缚和功用束缚。
四、实时体系的调度
调度:给定一组实时使命和体系资源,确认每个使命何时何地履行的整个进程。
抢占式调度:一般是优先级驱动的调度,如uCOS。长处是实时性好、反响快,调度算法相对简略,能够确保高优先级使命的时间束缚;缺陷是上下文切换多。
非抢占式调度:一般是按时间片分配的调度,不允许使命在履行期间被中止,使命一旦占用处理器就有必要履行结束或自愿抛弃,如WinCE。长处是上下文切换少;缺陷是处理器有用资源使用率低,可调度性欠好。
静态表驱动战略:体系在运转前依据各使命的时间束缚及相关联系,选用某种查找战略生成一张运转时间表,指明各使命的开端运转时间及运转时间。
优先级驱动战略:依照使命优先级的凹凸确认使命的履行次序。
实时使命分类:周期使命、偶发使命、非周期使命。
实时体系的通用结构模型:数据收集使命完结传感器数据的收集,数据处理使命处理收集的数据、并将加工后的数据送到履行组织办理使命操控组织履行。
五、嵌入式微处理器体系结构
冯诺依曼结构:程序和数据共用一个存储空间,程序指令存储地址和数据存储地址指向同一个存储器的不同物理方位,选用单一的地址及数据总线,程序和数据的宽度相同。例如:8086、ARM7、MIPS…
哈佛结构:程序和数据是两个彼此独立的存储器,每个存储器独立编址、独立拜访,是一种将程序存储和数据存储分隔的存储器结构。例如:AVR、ARM9、ARM10…
CISC与RISC的特色比较。
核算机履行程序所需求的时间P能够用下面公式核算:P=I×CPI×T
I:高档言语程序编译后在机器上运转的指令数。
CPI:为履行每条指令所需求的均匀周期数。
T:每个机器周期的时间。
流水线的思维:在CPU中把一条指令的串行履行进程变为若干指令的子进程在CPU中堆叠履行。
流水线的目标:
吞吐率:单位时间里流水线处理机流出的成果数。假如流水线的子进程所用时间不相同长,则吞吐率应为最长子进程的倒数。
树立时间:流水线开端作业抵达最大吞吐率的时间。若m个子进程所用时间相同,均为t,则树立时间T=mt。
信息存储的字节次序
A、存储器单位:字节(8位)
B、字长决议了微处理器的寻址才能,即虚拟地址空间的巨细。
C、32位微处理器的虚拟地址空间位232,即4GB。
D、小端字节次序:低字节在内存低地址处,高字节在内存高地址处。
E、大端字节次序:高字节在内存低地址处,低字节在内存高地址处。
F、网络设备的存储次序问题取决于OSI模型底层中的数据链路层。
六、逻辑电路根底
依据电路是否具有存储功用,将逻辑电路划分为:组合逻辑电路和时序逻辑电路。
组合逻辑电路:电路在任一时间的输出,仅取决于该时间的输入信号,而与输入信号效果前电路的状况无关。常用的逻辑电路有译码器和多路选择器等。
时序逻辑电路:电路任一时间的输出不只与该时间的输入有关,并且还与该时间电路的状况有关。因而,时序电路中有必要包括回忆元件。触发器是构成时序逻辑电路的根底。常用的时序逻辑电路有寄存器和计数器等。
真值表、布尔代数、摩根规律、门电路的概念。
NOR(或非)和NAND(与非)的门电路称为万能门电路,能够完结任何一种逻辑函数。
译码器:多输入多输出的组合逻辑网络。
每输入一个n位的二进制代码,在m个输出端中最多有一个有用。
当m=2n是,为全译码;当m《2n时,为部分译码。
因为集成电路的高电平输出电流小,而低电平输出电流相对比较大,选用集成门电路直接驱动LED时,较多选用低电平驱动方法。液晶七段字符显现器LCD使用液晶有外加电场和无外加电场时不同的光学特性来显现字符。
时钟信号是时序逻辑的根底,它用于决议逻辑单元中的状况适宜更新。同步是时钟操控体系中的首要限制条件。
在选用触发器的时分,触发方法是有必要考虑的要素。触发方法有两种:电平触发方法:具有结构简略的有点,常用来组成暂存器。边缘触发方法:具有很强的抗数据端搅扰才能,常用来组成寄存器、计数器等。
七、总线电路及信号驱动
总线是各种信号线的调集,是嵌入式体系中各部件之间传送数据、地址和操控信息的公共通路。在同一时间,每条通路线路上能够传输一位二进制信号。依照总线所传送的信息类型,能够分为:数据总线(DB)、地址总线(AB)和操控总线(CB)。
总线的首要参数:
总线带宽:必定时间内总线上能够传送的数据量,一般用MByte/s表明。
总线宽度:总线能一起传送的数据位数(bit),即人们常说的32位、64位等总线宽度的概念,也叫总线位宽。总线的位宽越宽,总线每秒数据传输率越大,也便是总线带宽越宽。
总线频率:作业时钟频率以MHz为单位,作业频率越高,则总线作业速度越快,也即总线带宽越宽。
总线带宽 = 总线位宽×总线频率/8, 单位是MBps。
常用总线:ISA总线、PCI总线、IIC总线、SPI总线、PC104总线和CAN总线等。
只要具有三态输出的设备才能够连接到数据总线上,常用的三态门为输出缓冲器。
当总线上所接的负载超越总线的负载才能时,有必要在总线和负载之间加接缓冲器或驱动器,最常用的是三态缓冲器,其效果是驱动和阻隔。
选用总线复用技能能够完结数据总线和地址总线的共用。但会带来两个问题:
A、需求添加外部电路对总线信号进行复用解耦,例如:地址锁存器。
B、总线速度相对非复用总线体系低。
两类总线通信协议:同步方法、异步方法。
对总线裁定问题的处理是以优先级(优先权)的概念为根底。