嵌入式系统总结

第一章    嵌入式系统概述
谭小波
嵌入式系统定义:
1、 Device used to control,monitor,orassist the operation of equipment,machinery or plants.
2、 嵌入式系统是以嵌入式应用为目的的计算机系统。
3、 嵌入式系统是一应用为中心,以计算机技术为基础,软、硬件可裁剪,适应应用系统对功能、可靠性、成本、体积和功耗等有严格要求的计算机系统。
嵌入式系统的特点:
1、 专用计算机系统
2、 代码固化
3、 实时性要求
4、 可靠性要求
5、 操作系统的支持
6、 专门的开发工具、环境和方法
7、 知识集成系统
嵌入式系统的组成结构

应用程序
文件系统 图形用户接口 网络组件
实时操作系统
D/A A/D I/O 嵌入式微处理器
通用接口 ROM SDRAM
 
人机交互接口
功能层
软件层
 
 
 
 
中间层
 
 
硬件层
硬件抽象层
硬实时系统是指系统对响应时间有严格要求,如果响应时间不能满足,就会引起系统崩溃或者致命的错误。
软实时系统是指系统对响应时间有一定要求,如果响应时间不能满足,不会导致系统崩溃或者出现致命的错误。
 
循环轮询流程图:

初始化
处理1
处理2
事件1
事件2
N
N
Y
Y
前后台系统:

ISR1
初始化
事件1
处理1
处理2
事件2
 
 
 
 
 
 
 
 
 
ISR2
ISR3
多任务系统流程图:

后台
开发任务
Tasks
前台
ISRS
嵌入式系统应用领域:
1、消费电子领域
2、通信网络领域
3、工业控制领域
4、汽车电子领域
5、医疗仪器领域
6、航空航天与军事国防领域
嵌入式系统发展趋势:
1、发展行业性的嵌入式硬件平台,制定行业标准。
2、随着相关技术的发展SOC将成为应用主流
3、发展功能更强大的开发工具和嵌汝式操作系统,支持复杂度越来越高的嵌入式应用软件。
4、面向网络互连的嵌入式系统成为必然趋势
5、嵌入式系统向新的嵌入式计算模型方向发展
                   
 
                    第2章 嵌入式处理器
嵌入式处理器的分类:
1、嵌入式微控制器 单片机 8051、C166/167、MCS-系列、MCU
2、嵌入式微处理器   在应用中,只保留与嵌入式应用紧密相关的功能硬件 AM186/88 POWERPC 、ARM、MIPS、MOTOROLA68K
3、嵌入式DSP
4、嵌入式片上系统SOC 嵌入式微处理器/DSP“集成电路”级转向“集成系统”级设计
典型的嵌入式处理器:
1、ARM处理器
2、PowerPC处理器
3、MIPS处理器
4、Sparc sun公司研发的
5、龙芯一号处理器
ARM处理器系列:
1、ARM7系列
2、ARM9系列
3、ARM9E系列
4、ARM10系列
5、SecurCore系列
6、Intel的StrongARM
7、intel的Xscale
ARM编程模型:
三级流水线:
1、取指
2、译码
3、执行
流水线延时:
多装载指令LDMIA:

取指              译码              执行ld r2       执行ld r3
取指
译码                     执行
取指       译码              执行
Ldmia ro
数据类型:
Byte: 字节,8位
Halfword 半字 16位
Word    32
当数据类型被说明成unsigned类型时,N位数据值表示范围是0—2N-1的非负整数
当数据类型被说明成signed类型时,N位数据值表示范围是-2N-1—+2N-1的整数
ARM处理器模式:

处理器模式
说明
用户 usr
程序正常执行
FIQ fiq
支持高数据传输或通道处理
IRQ irq
通用中断处理
管理 svc
操作系统保护模式
中止 abt
虚拟存储器或存储保护
未定义 und
支持硬件协处理器的软件防真
系统 sys
运行特权操作系统任务
 
寄存器组织:
ARM处理器共有37个寄存器,32位,含有程序计数器PC;6个状态寄存器,32位,只使用了其中12位
当编写程序时37个寄存器中只有通用寄存器R0-R14、程序计数器PC和当前状态寄存器CPSR需要考虑
不分寄存器组R0-R7
分寄存器组R8-R14
R8-R12有两组物理寄存器:一组为FIQ模式,另外一组为FIQ以外的模式
R13通常用于堆拽指针SP
R14通常用于子程序链接寄存器LR
程序计数器R15(程序计数器PC):
1读程序计数器PC:用指令读出的R15的值为指令地址加8个字节
2写程序计数器PC:写R15的结果是将写到的R15的值作为指令地址,并根据这个地址发生转移。
 
存储器和存储器映射I/0
存储器格式包括小端和大端模式,大小端的存储格式如下图:
                        大端存储器模式
 31         24 23            1615              8 7               0

                          地址A的字
      地址A的半字
             地址A+2的半字
地址A的字节
地址A+1的字节
地址A+2的字节 
地址A+3的字节
小端存储模式

                          地址A的字
        地址A+2的半字
         地址A的半字
地址A+3的字节
地址A+2的字节
地址A+1的字节
地址A的字节
 例:STR R0,[R1]   将R0中的字存入R1的地址
     LDRB R2,[R1] 将R1中的一个字节加到R2中,设R1=0X100
           R0       31                       0

11
22
33
44
STR R0,[R1] 后:                                     0X100

11
22
33
44
0X100                                             31               
 0                        31                

11
22
33
44
R2:大端模式:                                          R2:小端模式:

00
00
00
11
 

00
00
00
44
ARM寻址方式:
1,寄存器寻址
2、立即寻址
3、寄存器移位寻址
4、寄存器间接寻址
5、基址寻址
6、多寄存器寻址
7、堆拽寻址
8、块拷贝寻址
9、相对寻址
 
 
                    第3章 嵌入式硬件平台
嵌入式系统的硬件是以嵌入式处理器为中心,由存储器、I/0单元电路、通信模块、外部设备等必要的辅助接口组成。通常,嵌入式系统还包括人机交互界面,用于系统和人交互。
四周期握手协议:

设备1      
设备2
查询
应答
设备1
设备2
动作
典型微处理器总线:

CPU
设备1
存储器
 
有以下总线:
CLOCK:提供总线各部分的同步
R/W‘读写信号
Address为访问提供地址
Data是一个N位信号束,它从CPU得到数据或者向CPU传送数据
Data ready/数据准备信号
总线时序图:

Data ready’
启动address
CLOCK
R/W
address
Data
t
 
存储器子系统设计的首要目标是使存储器在 工作速度 上很好的与处理器匹配,并满足各种存取需要。
全部存储器分为四级:寄存器组、高速缓存、内存、外存
 
RAM(Random Access Memory,随机存储器)
1、静态RAM   SRAM

CE
R/W
Adrs
Data
CE’
R/W’
 
Address
Data
2、动态RAM   DRAM 需要DRAM控制器

CPU
DRAM控制器      
DRAM
CE’
R/W’
RAS’
CAS’
Address
Data
CE
R/W
RAS
CAS
Address
Data
ROM(Read-Only Memory只读存储器),分为工场可编程ROM、现场可编程ROM。
Flash Memory按块擦除存储器
 
标准串行通信接口:
RS-232:全双工,数据传输速度慢、传输距离短
RS-422:全双工,数据传输速度快、传输距离长
RS-485:半双工,是RS-422的变形
 
USB:通用串行总线,Universal Serial Bus,四根线:电源线、接地线、两根差模信号线
USB总线软件结构:USB总线接口、USB系统、USB客户软件
 

阻容式复位电路:

        VCC
 
RST
 
VSS
VCC
10MS
 
第4章 Bootloader与设备驱动
Bootloader是系统加电后首先运行的一段程序,它的目的是将系统的软硬件环境带到一个合适的状态,为调用操作系统内核准备好正确的环境。
 
Bootloader的操作模式:
启动加载模式(自主模式):在嵌入式产品发布的时候
下载模式:第一次安装操作系统和根目录文件时使用,另外在系统更新的时候使用
 
 
第5章 嵌入式操作系统
典型的嵌入式操作系统:
1 VxWorks
2 windows CE
3 pSOS
4 QNX
5 Plam OS
6 嵌入式Linux
7 UC/OS II
国内:
Delta OS
Hopen OS
HBOS
 
任务:一个任务也称一个线程,是一个程序,有以下5种状态:
1、休眠态
2、就绪态
3、运行态
4、挂起态
5、被中断态
 
任务调度:
1、非占先式内核:各个任务彼此合作,共享CPU,。中断服务可以使一个高优先级的任务由挂起态变为就绪态,但中断服务后,CPU的使用权交回给原来被中断的任务,知道任务主动释放CPU的控制权,一个新的高优先级别的任务才能运行。
非占先式的优点:
响应中断快
可以使用不可重入函数
共享数据方便

ISR
 
底优先级任务
高优先级任务
t
2、占先式内核:最高优先级别的任务一旦就绪,便能得到CPU的使用权,当一个运行着的任务使一个比它优先级别高的任务进入就绪态时,当前任务被挂起,那个高优先级的任务立即得到CPU的使用权开始运行。如果是中断服务程序使一个高优先级的任务进入就绪态,当中断完成时,被中断的任务被挂起,有限级别高的任务开始运行。
非占先式内核的特点:
    中断响应较快
    不应直接使用不可重入函数。只有对不可重入函数加锁保护后才能使用,对共享数据要使用互斥、信号量等保护机制。

 
 
 
 
t
uC/OS-II的特点:
1、 源代码公开
2、 可移植性
3、 可固定
4、 可裁剪
5、 占先式
6、 多任务
7、 可确定性
8、 任务栈
9、 系统服务
10、              中断管理
11、              稳定性与可靠性
第6章 嵌入式应用程序设计
状态机:(设计安全带)
此系统有三个输入和一个输出。输入分别是感知乘客下的座位传感器、检查安全带是否系牢的传感器和对限定时间即时的计时器,输出是蜂鸣器。

Idle
Buzzer
Seated
Belted
/计时器开
定时器/蜂鸣器
未坐/蜂鸣器关
系好安全带/蜂鸣器开
系好安全带/-
未系安全带/计时器开
系统的工作情况是:当座位上无人时,Idle状态被激活;当有人坐下时进入Seated状态并打开计时器;如果计时器在系安全带牢之前关闭,则转入Buzzer状态,反之进入Belted状态;当人离开座位时,返回Idle状态。
假设已经将三个输入(seat,belt,timer)的当前值载入变量,并临时保持输出到变量(timer_on,buzzer_on)中。变量state用来保持当前状态。
#define IDLE 0
#define SEATED 1
#define BELTED 2
#define BUZZER 3
 
Switch(state){
    Case IDLE:
        If(seat){state=SEATED;timer_on=TRUE;}
        Break;
    Case SEATED:
        If(belt){state=BELTED;}
        Else if(timer){state=BUZZER;buzzer_on=TRUE;}
        Break;
    Case BELTED:
        If(!seat){state=IDLE;}
        Else if(!belt){state=STEATED;timer_on=TRUE;}
        Break;
    Case BUZZER:
        If(!seat){state=IDLE;buzzer_on=FLASE;}
        Else if(belt){state=BELTED;}
        Break;
}
嵌入式程序编译过程:
高级语言代码—》编译程序—》汇编语言代码——》汇编程序——》目标代码——》链接程序——》可执行二进制代码——》装入程序——》执行
嵌入式优化:
1、 执行时间优化
2、 能量优化
3、 长度优化
第7章 基于网络的嵌入式系统设计
OSI模型:

应用层
表示层
会话层
传输层
网络层
数据链路层
物理层
网络编程主要是指报文传递编程,常用的报文传递编程有两种:
1、请求/应答方式
2、推移方式
 
嵌入式系统网络包括有:I^2C总线、CAN总线、Ethernet、GPRS、蓝牙、internet协议中的基本概念。
阅读更多
个人分类: mcu技术
上一篇购买芯片及电子原器件感想!
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭