计算机三级嵌入式知识点.docx
《计算机三级嵌入式知识点.docx》由会员分享,可在线阅读,更多相关《计算机三级嵌入式知识点.docx(17页珍藏版)》请在冰豆网上搜索。
计算机三级嵌入式知识点
计算机三级嵌入式知识点
一、嵌入式系统开发的基础知识
1(嵌入式系统的特点、分类、发展与应用,熟悉嵌入式系统的逻辑组成。
1,特点:
专用性
隐蔽性,嵌入式系统是被包装在内部,
资源受限,要求小型化、轻型化、低功耗及低成本~因此软硬件资源受到限制,
高可靠性,任何误动作都可能会产生致命的后果,
软件固化,软件都固化在只读存储器ROM中~用户不能随意更改其程序功能,
实时性
2,逻辑组成
硬件:
1)处理器,运算器、控制器、存储器,
目前所有的处理器都是微处理器中央处理器,CPU,和协助处理器,数字
信号处理器DSP、图像处理器、通信处理器,
2)存储器,随机存储器RAM和只读存储器ROM,
RAM分为动态DRAM和静态SRAM两种。
DRAM电路简单、集成度高、功
耗小、成本低~但速度稍慢慢,SRAM电路较复杂、集成度低、功耗较大、
成本高~但工作速度很快~适合用作指令和数据的高速缓冲存储器
RAM当关机或断电时~其中的信息都会消失~属于易失性存储器
ROM属于不易失性存储器。
分为电可擦可编程只读存储器,存放
固件,和闪速存储器,FlashROM简称内存,。
内存的工作原理:
在低
压下~存储的信息可读但不可写~这类似于ROM,在较高的电压下~
所存储的信息可以更改和删除~这有类似于RAM。
3)I/O设备与I/O接口
4)数据总线
软件
3,分类
按嵌入式系统的软硬件技术复杂程度进行分类:
1)低端系统采用4位或8位单片机~在工控领域和白色家电领域占主导地位~
如计算器、遥控器、充电器、空调、传真机、BP机等。
2)中端系统采用8位/16位/32位单片机~主要用于普通手机、摄像机、录
像机、电子游戏机等。
3)高端系统采用32位/64位单片机~主要用于智能手机、调制解调器、掌上
计算机、路由器、数码相机等。
4,发展
20世纪60年代初~第一个工人的现代嵌入式系统,阿波罗导航计算机,
20世纪60年代中期~嵌入式计算机批量生产
1
20世纪70年代~微处理器出现
20世纪80年代中期~外围电路的元器件被集成到处理器芯片中~昂贵的模拟电路
元件能被数字电路替代
20世纪90年代中期SOC出现~集成电路进入超深亚微米乃至纳米加工时代2(嵌入式系统的组成与微电子技术(集成电路、EDA、SoC、IP核等技术的作用和发展)
(1)集成电路IC
集成电路的制造大约需要几百道工序,工艺复杂。
集成电路是在硅衬底上制作
而成的。
硅衬底是将单晶硅锭经切割、研磨和抛光后制成的像镜面一样光滑的圆
形薄片,它的厚度不足1mm,其直径可以是6、8、12英寸甚至更大这种硅片称为
硅抛光片,用于集成电路的制造。
制造集成电路的工艺技术称为硅平面工艺,包括氧化、光刻、掺杂等多项工序。
把这些工序反复交叉使用,最终在硅片上制成包含多层电路及电子元件的集成电
路。
集成电路的特点:
体积小、重量轻、可靠性高。
其工作速度主要取决于逻辑门
电路的晶体管的尺寸。
尺寸越小,工作频率就越高,门电路的开关速度就越快。
(2)EDA(电子信号自动化)
(3)SoC芯片(片上系统)
既包含数字电路,也可以包含模拟电路,还可以包含数模混合电路和射频电路。
SoC芯片可以是一个CPU,单核SoC,也可以由多个CPU和/或DSP,即多核SoC。
开发流程:
(1)总体设计可以采用系统设计语言SystemC(或称IEEE1666,它是C++
的扩充)或SystemVetilog语言对SoC芯片的软硬件作统一的描述,按照系统需
求说明书确定SoC的性能能参数,并据此进行系统全局的设计。
(2)逻辑设计将总体设计的结果用RTL(寄存器传输级描述语言)语言进行
描述(源文件)后,在使用逻辑综合将源文件进行综合生成,生成最简的布尔表达
式核心好的连接关系(以类型为EDF的EDA工业标准文件表示)
(3)综合和仿真
(4)芯片制造借助EDA中的布局布线工具
(4)IP核
IC设计文件:
逻辑门级,包括各种基本的门电路;寄存器传输级,如寄存器、
译码器、数据转换器;行为级,如CPU、DSP、存储器、总线与接口电路等。
核库中的设计文件均属于知识产权IP保护的范畴,所以称为“知识产权核”
或“IP核”。
IP核是开发SoC的重要保证。
按IC设计文件的类型,IP通常分为:
软核、固
核、硬核。
IP核的复用可以减少研发成本,缩短研发时间,是实现SoC的快速设
计,尽早投放市场的有效途径。
目前主要的CPU内核有ARM、MIPS、PowerPC、Coldfile、x86、8051等。
ARM
2
内核占所有32位嵌入式RISC处理器的90%以上。
3(嵌入式系统与数字媒体(文本、图像和音频/视频等数字媒体的表示与处理)
(1)文本
含义:
在计算机中的文字信息,最常用的一种数字媒体。
字符集及其编码
1)西方字符的编码
ASCII字符集和ASCII编码,基本的ASCII字符集共128个字符,每
个字符使用7个二进位制进行编码。
2)汉字的编码
汉子国家编码标准有GB2312和GB18030。
每个汉字用2个字节表示。
GB2312只有6763个汉字,经常不够用。
GB18030字符集与UCS/Unicode字
符集基本兼容,采用不等长的编码方法,单字节编码表示ASCII字符,与
ASCII码兼容;双字节表示汉字,与GB2312保持向下兼容(即GB2312中
有的GB18030字符集都有)
3)UCS/Unicode编码
文本类型
1)简单文本
只能顺序阅读。
2)丰富格式文本
有插图、对文字颜色等定义,调整页面,文本布局,插入声音视频等。
3)超文本
通过超链接实现跳转、导航、回溯等操作
(2)图像
图像获取过程的核心是模拟信号的数字化,处理步骤为:
1)扫描将画面网格化,每个网格为一个取样点
2)分色将每个取样点的颜色分解成三原色
3)取样测量每个取样点的每个分量(基色)亮度值
4)量化把模拟量使用数字量来表示,A/D转换
数字图像的主要参数:
图像大小(水平分辨率*竖直分辨率)、位平面数目、像素深
度、颜色模型
一幅图像的数据量计算公式:
图像数据量=图像大小*像素深度/8
(3)音频/视频
音频/视频信息的数字化,处理步骤为:
1)取样
2)量化
3)编码
3
数字音频的主要参数:
取样频率、量化位数、声道数目、使用的压缩编码方法、比特率(每秒钟的数据量)
压缩前波形声音的码率(比特率)=取样频率*量化为数*声道数(单位b/s)
压缩后码率=压缩前码率/压缩倍数(压缩比)
4(嵌入式系统与网络通信技术(数字通信与计算机网络,TCP/IP协议,互联网接入技术等)
(1)数字通信
(2)计算机网络
(3)音频/TCP/IP协议
互联网接入技术(4)
二、嵌入式处理器
1(嵌入式处理器的结构、特点与分类(不同类型的典型嵌入式处理器及其特点,嵌入式处理器分类等)
(1)不同内核嵌入式微控制器性能比较
性能内核51内核其他8位内核16位内核其他32位内核ARM
Cortex-M内核
处理速度差差一般好好
低能耗好好好差好
代码密度差差一般差好
内存>64KB差差差好好
向量中断好好好一般好低中段延时好好好差好
低成本好好好差好
多供资源好差差差好编译器选择好一般一般一般好软件可移植性好一般一般一般好
(2)冯–诺依曼结构和哈佛结构的区别
两者连接CPU程序存储器和数据存储器的方式不同
冯–诺依曼结构CPU程序/数据存储器
哈佛结构程序存储器CPU数据存储器
程序总线数据总线
(3)分类
按指令集分为:
复杂指令集结构CISC和精简指令集结构RISC
按存储机制分为:
冯–诺依曼结构和哈佛结构
4
按字长分为:
8位、16位、32位、64位结构
按不同内核系列可以分为:
51、AVR、PIC、MSP430、PowerPC、Coldfile、ARM(4)不同典型内核简介
内核系列推出公司内核结构简单描述
8位字长,常用于简单的检测与控制应用领域,最早被称为单片机。
51IntelCISC
其价格低,应用资料齐全,开发工具便宜,开发周期短,成本低,哈佛结构因此被广泛应用到各个行业。
随着1T改进型51内核的推出,加上
许多器件厂家增加了自己的特色组件,51系列还在使用。
8位、16位和32位三类字长的微控制器内核,以适应不同应用层AVRAtmelRISC
次的要求。
主要特点是高性能、高速度、低功耗。
哈佛结构
8位、16位和32位三类字长的微控制器内核,以适应不同应用层PICMicrochipRISC
次的要求。
主要用于工业控制,主要优势是针对性强,特别是抗干哈佛结构
扰能力强。
16位字长的微控制器区内核,广泛应用于手持设备嵌入式应用系统MSP430TIRISC
中,突出特点就是以超低功耗著称全球。
冯-结构
高性能高档次32位和64位处理器内核。
主要特点是适应于高速、MIPSMIPSRISC
大数据吞吐量应用场合哈佛结构
高性能高档次含有32位子集的64位处理器内核。
具有优异的性能、PowerPCApple,RISC
较低的能耗以及较低的散热量。
IBM,Motorola哈佛结构
32位字长的处理器内核,具有超标量的超级指令流水线,性能优异MC68KMotorolaRISC
明显,主要用于与高端嵌入式应用领域。
哈佛结构
32位字长的高性能处理器内核,性能优越,集成度高,可用于工业ColdfileFrescaleRISC
应用领域、消费电子领域、医疗电子领域、测试与测量领域等。
哈佛结构
32位字长的高性能处理器内核,目前嵌入式处理器的领跑者ARMARMRISC
多数为哈佛结构
2(ARM处理器内核的体系结构(工作状态,工作模式,寄存器组织,异常,数据类型与存储格式等)
(1)工作状态
一是ARM状态,二是Thumb指令状态及Thumb-2状态,三是调试状态。
ARM处理器复位后开始执行代码时总是只处于ARM状态,如果需要,可通过下面的
方法切换到Thumb状态或Thumb-2状态
ARM状态切换到Thumb指令状态:
通过BX指令,将操作数寄存器的最低位设置为1
即可。
如果R0[0]=1,则执行BXR0指令将进入Thumb状态
状Thumb态切换到ARM状态:
通过BX指令,将操作数寄存器的最低位设置为0即
可。
如果R0[0]=0,则执行BXR0指令将进入ARM状态。
5
(2)工作模式(7种)
工作模式功能说明可访问的寄存器CPSR[M4:
M0]用户模User程序正常执行工作模式PC,R14-R0,CPSR10000快速中断模处理高速中断,用于高速数据传PC,R14_fiq-R8_fiq,10001式FIQ输或通道处理R7-R0,CPSR,SPSR_fiq外部中断模用于普通中断处理PC,R14_irq-R13_irq,10010式IRQR12-R0,CPSR,SPSR_irq管理模式操作系统的保护模式,处理软中PC,R14_svc-R13_svc,10011
SVC断SWIR12-R0,CPSR,SPSR_svc中止模式处理存储器故障,实现虚拟存储PC,R14_abt-R13_abt,10111
ABT器和存储器保护R12-R0,CPSR,SPSR_abt未定义指令处理为定义的指令陷阱,用于支PC,R14_und-R13_und,11011模式UND持硬件协处理器仿真R12-R0,CPSR,SPSR_und系统模SYS运行特权及的操作系统任务PC,R14-R0,CPSR11111
(3)寄存器组织
ARM处理器共有37种寄存器,包括31个通用寄存器(含PC)和6个状态寄存器。
无论何种模式,R15均作为PC使用;CPSR为当前程序状态寄存器;R7-R0为公用的通
用寄存器。
所有通用寄存器均为32位结构。
程序状态寄存器的格式:
313029282726„„876543210
NZCVQ状态保留IFTM4M3M2M1M0
条件码标志含义如下:
N为符号标志位,N=1为负数,N=0为正数。
Z为全0标志位,运算结果为0,则Z=1,否则Z=0;
C为进借位标志,有进/借位时C=1,否则C=0.
V为溢出标志,加减法运算结果溢出时V=1,否则V=0.
Q为增强的DSP运算指令溢出标志,溢出时Q=1,否则Q=0.
控制位含义如下:
I为中断禁止控制位,I=1禁止IRQ中断,I=0,允许中断。
F为禁止快速中断FIQ的控制位,F=1禁止FIQ中断,F=0允许。
T为ARM和Thumb指令切换,T=1时执行Thumb指令,否则执行ARM指令。
M4-M0为模式选择位
(4)存储格式
大端模式:
32位数据字的高字节存储在低地址,而数据字的低字节则存放在高地
址中。
小端模式:
32位数据字的高字节存储在高地址,而数据字的低字节则存放在低地
址中。
系统复位时,自动默认为小端模式。
6
例如:
一个32位数据字0x12345678,存放在起始地址为0x30001000,则大端模式
下0x30001000单元存放0x12,0x30001001单元存放0x34,0x30001002单元存放0x56,
0x30001003单元存放0x78;而小端模式下0x30001000单元存放0x78,0x30001001单元
存放0x56,0x30001002单元存放0x34,0x30001003单元存放0x12。
(5)数据类型
8位、16位、32位三种数据类型
(6)ARM处理器中MMU和MPU
MMU存储器管理单元(memorymanagementunit)功能:
1)虚拟地址到物理地址映射
2)存储器访问权限受限
3)虚拟存储空间的缓冲特性设置
MPU存储器保护单元(memoryprotectunit)
(7)异常(7种)
异常类型优先级工作模式异常向量地址
10x00000000复位RESET管理模式
60x00000004未定义的指令UND未定义指令中止模式
60x00000008软件中断SWI管理模式
50x0000000C指令预取中止PABT中止模式
20x00000008数据访问中止DABT中止模式
40x00000010外部中断请求IRQ外部中断模式
30x0000001C快速中断请求FIQ快速中断模式
3(典型ARM处理器内核(ARM9,Cortex-A,Cortex-M,Cortex-R等的技术特点与应用领域)
(1)Cortex-A系列是面向高端嵌入式应用的处理器核:
具有MMU、Cache、最快频率、最高性能、合理功耗。
(2)Cortex-R系列是面向实时控制的处理器:
具有MPU、Cache、实时响应、合理性能、较低功耗。
(3)Cortex-M系列是面向低端微控制器的处理器,没有MMU但有MPU,极高性价比、最低成本,极低功耗。
系列相应内核主要性能特点
冯-诺依曼结构,3级流水线,无MMUARM7
哈佛结构,5及流水线,单32位AMBA接口ARM920T/ARM922T经典ARM9
哈佛结构,5及流水线,支持DSP指令,软核(softARM9EARM926EJ-S/ARM946E-S/ARM966E-S/
IP)ARM968E-S/ARM996HS
哈佛结构,6及流水线,分支预测,支持DSP指ARM10
令,高性能浮点操作,双64位总线接口,内部64ARM1020E/ARM1022E/ARM1026EJ-S
7
位数据通路。
哈佛结构,8级流水线,分支预测和返回栈,支持ARM11ARM11MPCore/ARM1136J(F)-S
DSP指令、SIMD/Thumb-2核心技术
哈佛结构,9级流水线,分支预测和返回栈,支持ARM1156T2(F)-S/ARM1176JZ(F)-S
DSP指令、SIMD/Thumb-2核心技术
冯-诺依曼结构,3级流水线,支持Thumb指令集
并包含Thumb-2、嵌套向量中断,M0+内部有嵌入Cortex-M0,Cortex-M0+
Cortex-MMPU,而M0没有。
冯-诺依曼结构,3级流水线,支持FPGA设计,Cortex-M1
Thumb指令集并包含Thumb-2
哈佛结构,3级流水线,Thumb-2、嵌套向量中Cortex-M3
断,分支指令预测,内置MPU
哈佛结构,3级流水线,Thumb-2、嵌套向量中
Cortex-M4断,分支指令预测,内置MPU,高效信号处理,
SIMD指令,饱和运算,FPU
哈佛结构,8级流水线,实时应用,支持ARM、Cortex-R
Thumb和Thumb-2指令集,F标示内置FPU,DSPCortex-R4/R4F/Cortex-R5/Cortex-R7
扩展,分支预测,超标量执行,内置MPU
Cortex-A5/Cortex-A5MPcore
Cortex-A7/Cortex-A7MPcore
应用Cortex-A8/Cortex-A8MPcore
Cortex-A哈佛结构,MPcore为多核,超标量结构,13级流
水线,动态分支指令预测,有分支目标缓冲器Cortex-A9/Cortex-A9MPcore
BTB、MMU、FPU、L1、L2,支持ARM、Thumb
和Thumb/EE指令集,SIMD/JazelleRCT技术。
哈佛结构,可乱序执行指令流水线Cortex-A15/Cortex-A15MPcore
4(ARM处理器指令系统及汇编语言程序设计(指令格式,寻址方式,指令集,伪指令,语句格式与程序结构,ARM汇编语言与C的混合编程等)
(1)指令格式
指令一般格式
{}{S},{,}其中<>不可省
指令格式说明:
项目含义备注
指令的操作码即助记符,如MOV、ADD、B等
{cond}条件域,满足条件才执行指令可不加条件即可省略条件,如EQ、NE等
8
{S}指令执行时是否需要更新CPSR可省略
Rd目的寄存器Rd可为任意通用寄存器
Rn第一个源操作数Rd可为任意通用寄存器,可以与Rd相同
Op2第二个源操作数可为#imm8m、寄存器Rm及任意移位寄存器
关于#imm8m的说明:
#表示立即数,其后可以是十进制或十六进制数
对于ARM指令集,#imm8m表示一个由8位立即数经循环右移任意偶数位次形成的32位操作数。
对于Thumb指令集,#imm8m表示一个由8位立即数经左移任意位次形成的32位操作数。
指令的条件码
条件码助记符标志含义
0000EQZ置位相等
0001NEZ清零不相等
0010CSC置位无符号数大于或等于
0011CCC清零无符号数小于
0100MIN置位负数
0101PLN清零正数或零
0110VSV置位溢出
0111VCV清零未溢出
1000HIC置位Z清零无符号数大于
1001LSC清零Z置位带符号数小于或等于
1010GEN等于V带符号数大于或等于
1011LTN不等于V带符号数小于
1100GTZ清零且N等于V带符号数大于
1101LEZ置位或N不等于V带符号数小于或等于
1110AL忽略无条件执行
(2)寻址方式
1)立即寻址(立即数寻址)
例如:
MOVR0,#0x1212121212
ADCR0,R0,#100;R0R0+100+C
2)寄存器寻址(执行效率较高)
,R2;R0R1+R2例如:
ADDR0,R1
3)寄存器间接寻址
寄存器间接转址就是以寄存器中的值作为操作数地址,而操作数本身存放在存储器中。
用间接寻址的寄存器必须用[]括起来。
例如:
LDRR5,[R4];R5[R4],间接寻址的寄存器是R4
9
STRR1,[R2];[R2]R1,间接寻址的寄存器是R2
4)基址加变址寻址
常见的几种形式:
LDRR0,[R1,#4]
STRR1,[R2,#8]
LDRR0,[R1,#4]!
(~表示指令在完成数据传输后更新基址存储器)
[R1],#4LDRR0,
LDRR0,[R1,R2]
STRR0,[R1,R2]
5)相对寻址
相对寻址以程序计数器PC的当前值为基地址,指令中的地址标号作为偏移量,将
两者相加后得到操作数的有效地址。
下列程序中跳转指令BL利用相对寻址方式:
BLSubroutine_A;跳转子程序Subroutine_A处执行
„
Subroutine_A:
„
MOVPC,LR;从子程序返回
6)堆栈寻址
7)块拷贝寻址
(3)
(4)
(5)
(6)
三、嵌入式系统硬件组成
1(嵌入式硬件组成与嵌入式处理芯片(组成,特点,类型,ARM的AMBA总线,嵌入式处理芯片的选型)
(1)基于ARM内核的典型嵌入式应用系统硬件组成
典型嵌入式系统硬件由嵌入式最小硬件系统(电源电路、时钟(晶振)电路、复位电路、JTAG测试接口)、前向通道(输入接口)、后向通道(输出接口)、人机交互通道(键盘,触摸屏以及LED或LCD显示输出接口)以及相互互联通信通道(CAN通信接口、以太网通信接口、USB通信接口)等组成。
10
电源电路为整个嵌入式系统提供能量,是整个系统工作的基础,具有极其重要的位置。
一般来说,如果电源电路处理得好,整个系统的故障往往能显著减少。
选择设计电源电路是主要考虑以下因素:
输出电压电流、输入电压电流(交流还是直流)、安全因素、体积限制、功耗限制、成本限制。
常用的电源模块是交流变直流(AC-DC)模块、直流变直流模块(DC-DC)、低压稳压器(LDO)。
稳压器包括普通稳压器和低压差稳压器LDO。
78XX系列属于普通稳压器,LM2576/2596为开关稳压芯片,CAT6219/AS2815/1117/2908等属于低压稳压器。
稳压器的最大特点就是低噪声、低成本、纹波小、精度高、电路简单。
(2)基于ARM内核的典型嵌入式芯片的硬件组成
1)存储器及控制器
片内程序存储器通常是用FlashROM,一般配有几KB到几MB不等。
片内数据存储器
通常使用SRAM,一般几KB到几百KB。
2)中断控制器
一般采用向