嵌入式系统Word下载.docx
- 文档编号:21538191
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:10
- 大小:29.15KB
嵌入式系统Word下载.docx
《嵌入式系统Word下载.docx》由会员分享,可在线阅读,更多相关《嵌入式系统Word下载.docx(10页珍藏版)》请在冰豆网上搜索。
从应用角度看,嵌入式处理器可分为:
嵌入式微处理器、嵌入式微控制器、嵌入式数字信号处理器、嵌入式片上系统。
一般从应用角度考虑嵌入式微处理器的选型,需考虑的主要因素有:
功能、性能、价格、熟悉程度及开发资源、操作系统支持、升级、供货情况、多处理器应用。
ARM微处理器的选型:
ARM微处理器内核的选择、系统的工作频率的选择、芯片内存储器容量的选择、片内外围电路的选择。
嵌入式操作系统是一种支持嵌入式系统应用的操作系统软件,它是嵌入式系统极为重要的组成部分。
使用最多的嵌入式操作系统有Linux、WindowsCE、μC/OS-Ⅱ、PalmOS和VxWorks等。
ARM9体系结构
ARM9系列嵌入式微处理器主要有ARM9TDMI、ARM9E-S等系列。
ARM9处理能力的提高是通过提高时钟频率和缩短指令执行周期实现的。
ARM9中1条指令的执行可以分为以下几个阶段:
取指-译码-执行-访存(缓冲/数据)-回写。
ARM嵌入式微处理器使用的是AMBA总线体系结构。
AMBA是ARM公司颁布的总线标准,该标准定义了以下3种总线:
AHB、ASB总线、APB总线。
ARM9的指令集是依据RISC原理而设计的,指令集和相关译码机制较为简单。
ARM指令集为32位指令集,可以实现ARM架构下所有功能。
Thumb指令集是对32位ARM指令集的扩充,它的目标是为了实现更高的代码密度。
ARM9体系结构采用32位长度地址,存储器的地址空间可被看成是从0地址单元开始的字节的线性组合,即一个地址对应于一个存储字节。
ARM9体系结构允许使用现有的存储器和I/O器件进行各种存储器的系统设计。
ARM9体系结构可以有两种格式存储字数据,分别为大端格式和小端格式。
I/O端口的访问方式有两种,一种是端口地址和存储器统一编码,即存储器映射方式;
另一种是I/O端口地址与存储器分开独立编址,即I/O映射方式。
ARM9体系结构使用存储器映射方式实现I/O端口的访问。
从存储器映射的I/O加载即是输入,而向存储器映射的I/O地址存储即是输出。
ARM9处理器内部共有37个32位寄存器,可分为通用寄存器和状态寄存器两大类。
通用寄存器用于保存数据和地址,共有31个;
状态寄存器用来标识或设置存储器的工作模式或工作状态等功能,共有6个,每个状态寄存器只使用了其中的12位。
通用寄存器用于保存数据或地址,用字母R前缀加该寄存器的编号来标识。
通用寄存器包括R0~R15寄存器,可分为未分组寄存器、分组寄存器和程序计数器3种。
所谓异常(异常中断)是指处理器由于内部或外部的原因,停止执行当前的程序,转而处理特定的事件,处理完毕返回原来的程序继续执行。
只要正常的程序流程被暂时停止,则异常发生。
ARM9的异常有7种类型,异常发生后,处理器的PC值将被强制赋予该异常所对应的存储器地址,处理器从此地址处开始执行程序,这些存储器地址称为异常向量,简称向量。
7种异常包括:
复位异常、未定义指令异常、软件中断异常、指令欲取中止、数据中止、IRQ(中断请求)和FIQ(快速中断请求)。
处理器进入异常处理程序前,应该保存其当前的状态,以便当异常处理程序完成后,处理器能回到原来程序的断点处继续执行。
ARM指令系统
ARM处理器具有ARM和Thumb两种工作状态。
因此其指令系统也对应有32位的ARM指令和16位的Thumb指令。
ARM嵌入式微处理器的指令集是加载、存储型的,即指令集中仅能处理寄存器中的数据,而且处理结果都要写回寄存器中,而对存储器的访问则需要通过专门的加载、存储指令来完成。
ARM指令可分为以下6类:
数据处理指令、程序状态访问指令、分支指令、访存指令、异常产生指令、协处理器指令。
ARM数据处理指令基本格式为:
<
Opcode>
{<
cond>
}{s}<
Rd>
<
Rn>
Operand2>
;
注释>
}
ARM处理器支持几种常见的寻址方式:
寄存器寻址、立即寻址、寄存器移位寻址、寄存器间接寻址、变址寻址、多寄存器寻址、堆栈寻址、块复制寻址、相对寻址。
ARM数据处理指令主要完成寄存器中数据的算术和逻辑运算操作。
ARM数据处理指令包括:
数据传送指令(MOV和MVN);
算术指令(ADD,ADC,SUB,SBC,RSB和RSC);
逻辑指令(AND,ORR,EOR和BIC);
比较指令(CMP,CMN,TST和TEQ);
乘法指令(MLA,MUL,SMLAL,SMULL,UMALA和UMULL)。
访存指令分为单数据访存指令、多数据访存指令和数据交换操作指令3大类。
异常指令可分为以下几种:
SWI软件中断指令、BKPT断点指令、CLZ前导0计数。
ARM协处理器指令主要分为协处理器数据处理指令、ARM寄存器与协处理器寄存器的数据传送指令和协处理器寄存器和内存单元之间数据存/取指令。
伪指令是汇编语言程序里的特殊指令助记符,在汇编时被合适的机器指令替代。
而伪操作为汇编程序所用,在源程序进行汇编时由汇编程序处理,只在汇编过程起作用,不参与程序运行。
宏指令是通过伪操作定义的一段独立的代码,在调用它时将宏体插入到源程序中,也就是常说的宏。
时钟及电源管理
S3C2410时钟与电源管理模块由时钟控制,USB控制和电源控制构成。
为了降低功耗,在S3C2410中电源管理模块通过软件控制PLL、时钟控制逻辑和唤醒信号。
S3C2410有4种电源管理模式:
正常模式、空闲模式、低速模式和休眠模式。
S3C2410中与电源管理相关的寄存器有6个,分别为PLL锁定时间寄存器(LOCKTIME),PLL控制寄存器(MPLLCON和UPLLCON),时钟控制寄存器(CLKCON),低速时钟控制寄存器(CLKSLOW),时钟分频控制寄存器(CLKDIVN)。
由于ARM体系结构的一致性,外围的电源电路、晶振电路和复位电路基本都是通用的。
存储器与I/O接口原理
存储器,主要用来保存程序和数据,是计算机工作所需的主要部件。
I/O接口是微处理器与外部设备连接的主要桥梁。
存储器的组织结构按作用可以划分为4级:
寄存器、Cache、主存储器和辅助存储器。
在设计嵌入式系统中的存储器部分时,主要考虑以下两方面的问题:
CPU的存储结构,即CPU本身定义了能够访问多大的存储空间、能够访问什么类型的存储器以及访问时序等;
存储器本身的工作原理。
SRAM和DRAM被称为随机存储器,其保存的信息在通电状态下是不会丢失的,主要用来存储正在运行的程序和数据。
随机存储器又分为两大类:
静态随机存储器和动态随机存储器。
SRAM存储器的主要特点是SRAM芯片的地址引脚是与芯片内部存储容量相对应的。
DRAM是动态存储器的缩写,SDRAM是同步动态存储器的意思。
SDRAM由于其自身结构原因,芯片中存储单元的内容在通电状态下随着时间的推移会丢失,因而,其存储单元需要定期的刷新。
这就要求微处理器具有刷新控制逻辑,或在系统中另加刷新控制逻辑电路。
只读存储器分为掩膜编程只读存储器和现场可编程只读存储器。
目前,嵌入式系统中常用的存储器接口主要有以下几种:
SRAM型的全地址/数据总线接口;
DRAM型动态存储器接口;
串行存储器接口。
高速缓存是一种小型、快速的存储器,它处于CPU和主存储器之间,由于高速缓存价格较贵,在系统中它的容量不可能设计得很大,通常为几MB存储单元。
高速缓存未命中的原因,可分为以下几种类型:
强制性未命中;
容量未命中;
冲突未命中。
当高速缓存未命中时,高速缓存控制器通过地址映射,把主存中存放的数据按照某种规则装入到高速缓存中,并建立主存地址到高速缓存地址之间的对应关系。
虚拟存储器的基本思想:
程序、数据和堆栈总的大小可以超过物理存储器的大小,操作系统把当前使用的部分保存在内存,而把其他未使用的部分保存在磁盘上。
在使用了虚拟存储器的情况下,虚拟地址不是被直接送到内存地址总线上,而是送到内存管理单元—MMU。
MMU由一个或一组芯片组成,一般存在于协处理器中,其功能是把虚拟地址映射为物理地址。
MMU实现的主要功能有:
将主存地址从虚拟存储空间映射到物理存储空间;
存储器访问权限控制;
设置虚拟存储空间的缓冲特性等。
MMU有多种方式管理虚拟存储器,包括分段方式、分页方式和段页方式。
S3C2410的存储空间主要是两部分:
1GB的可连接外部存储器的寻址空间;
用于控制寄存器和I/O端口使用、微处理器内部占用的地址空间。
S3C2410支持两种启动模式,一种是从NANDFlash启动,另一种是从外部nGCS0片选的NORFlash启动。
在这两种启动模式下,存储空间的分配是不同的。
S3C2410共有117个输入/输出引脚,大部分引脚是多功能的,分属于8个I/O端口来命名(GPA~GPH),端口功能可以根据设计的不同要求通过寄存器编程设置。
中断与定时技术
中断系统是为了让CPU能够快速处理系统中出现的某些随机事件而设置的硬件相应机制,因此,在带有中断处理的软件中,除了正常运行的主程序外,还应有对应于某些随机事件而编写的处理程序,称为该事件的中断服务程序。
一般来说,每个事件对应一个中断服务程序。
采用中断向量的方法识别中断就是当微处理器相应中断后,要求中断源提供一个地址信息,该地址信息称为中断向量,微处理器根据这个中断向量转移到该中断源的中断服务程序处执行。
所以中断向量在某种意义上来说就是中断服务程序的入口地址。
根据形成中断服务程序入口地址机制的不同,向量中断又分为固定中断向量和可变中断向量。
固定中断向量,即各个中断源的中断服务入口地址是固定不变的,在微处理器设计时已经确定,系统设计者不能改变。
固定中断向量方式具有中断响应速度快的优点,缺点是各中断服务程序的地址固定而不能修改。
可变中断向量,其中断服务程序的入口地址不是固定不变的,系统设计者可以根据自己的需要进行设置。
可变中断向量的优点是设计比较灵活,用户可根据需要设定中断向量表在主存中的位置,缺点是中断响应速度较慢。
多数微处理器系统中都有多个中断源,为使系统能及时响应并处理发生的所有中断,系统根据引起中断事件的重要性和紧迫程度,将中断源分为若干个级别,称作中断优先级。
为了更灵活地运用中断,计算机中采用中断屏蔽技术。
屏蔽的基本意思是让某种中断不起作用。
中断源在对应的中断屏蔽位为屏蔽状态的情况下,它的中断请求不能得到CPU的响应,或者干脆就不能向CPU提出中断请求。
一般中断控制器是将中断屏蔽位集中在一起,构成中断屏蔽寄存器。
按照是否可以被屏蔽,可将中断分为两大类:
不可屏蔽中断和可屏蔽中断。
不可屏蔽中断源一旦提出请求,CPU必须无条件响应;
而对可屏蔽中断源的请求,CPU可以响应,也可以不响应。
在S3C2410系统中,支持复位、未定义指令、软中断、欲取中止、IRQ和FIQ这7种异常中断,每种异常中断对应于不同的处理器模式,有对应的异常向量。
可以把S3C2410的中断系统分成两部分:
一部分是控制内部外围I/O端口或部件、或者芯片外部中断引脚(EINTn)的中断控制器(处理FIQ和IRQ异常中断);
另一部分是ARM920T核的异常中断控制(处理其他5种异常中断),采用固定向量中断方式。
用S3C2410的中断方式控制I/O端口或部件时,除要对I/O接口或部件的响应寄存器进行初始化设置外,还需对中断控制器的8个控制寄存器进行初始化设置。
这8个寄存器是:
中断源挂起寄存器、中断模式寄存器、中断屏蔽寄存器、优先级寄存器、中断挂起寄存器、中断偏移寄存器、子源挂起寄存器和中断子源屏蔽寄存器。
S3C2410芯片中的定时部件有多个,不同的定时部件有不同的应用。
主要分为3部分:
定时器及PWM、看门狗定时器和实时钟RTC。
S3C2410芯片内部拥有5个16位的Timer部件。
其中Timer0,Timer1,Timer2,Timer3具有脉宽调制(PWM)功能。
Timer4仅做定时器用,不具有PWM功能,因为它没有输出引脚。
Timer0有一个死区发生器,通常用于大电流设备。
S3C2410芯片看门狗定时器的作用是,当系统程序出现功能错乱,引起系统程序死循环时,看门狗定时器产生一个具有一定时间宽度的复位信号,迫使系统复位,恢复系统正常运行。
S3C2410芯片的看门狗定时器有两种工作模式:
带中断请求信号的常规时隙定时器。
产生内部复位信号的定时器,即当定时器中的计数器值变为0时,产生一个宽度为128个PCLK(系统时钟周期)的复位脉冲信号。
S3C2410芯片的看门狗定时器逻辑中含有3个控制其操作的专用寄存器:
看门狗控制寄存器(WTCON),计数常数寄存器(WTDAT)和看门狗计数器寄存器(WTCNT)。
实时时钟部件RTC是用于提供年、月、日、时、分、秒、星期等实时时间信息的定时部件。
它通常在关闭系统电源后,由后备电池供电。
RTC部件可以将年、月、日、时、分、秒、星期等信息的8位数据以BCD码格式输出。
它由外部时钟驱动工作,外部时钟频率为32.768kHz。
同时RTC部件还可以具有报警功能。
DMA技术
DMA技术是一种高速的数据传输方式,允许在外部设备和存储器之间、存储器与存储器之间等直接传输数据。
程序查询方式和中断方式下外设和内存之间的数据传输是由CPU控制的,而在DMA模式下,CPU只需向DMA控制器下达指令,让DMA控制器来处理数的传送,数据传送完毕再把信息反馈给CPU,这样在很大程度上降低了CPU资源占用率。
DMA模式与程序查询方式和中断方式的区别就在于,DMA模式不过分依赖CPU,可以大大节省系统资源。
DMA传送过程一般分为4个阶段:
申请阶段、响应阶段、数据传送阶段和传送结束阶段。
HOLD和HLDA用于DMA方式请求和响应,DMAC(DMA控制器)是DMA传送的核心电路。
S3C2410芯片的DMA系统拥有4个独立通道的DMA控制器,每个通道的DMA控制器都可以控制处理芯片内部与内部之间、芯片内部与外部之间、芯片外部与外部之间的数据传输。
S3C2410芯片涉及DMA的操作模式有3类:
DMA请求模式、DMA传输模式和DMA服务模式。
这3类模式分别用于控制DMA操作何时启动、DMA传输数据如何同步和DMA操作如何结束。
S3C2410芯片中有4个独立的DMA通道,每个DMA通道均有9个控制寄存器(其中6个用于控制DMA传输,3个用于监视DMA控制器的状态),因此,其DMA控制器共有36个寄存器。
用户均可通过访问这些寄存器的值来控制每个DMA通道的操作。
控制DMA操作的程序的关键是DMA启动。
启动一次DMA操作的步骤如下:
1.设置DMA操作的原地址;
2.设置DMA操作源的位置及源地址是否增1;
3.设置DMA操作的目的地址;
4.设置DMA操作的目的地址位置及目的地址是否增1;
5.设置DMA工作方式及DMA传送的数据长度;
6.开放DMA操作结束中断;
7.使能DMA操作,启动DMA。
串行通信接口
串行通信是指数据的各位按顺序一位一位传送,其优点是只需要一对传输线就可以双向传输数据。
与并行通信相比,串行通信具有传输线少、成本低等优点,特别适用于远距离通信。
串行通信中,数据通常是在2个站之间进行传送。
按照同一时刻数据流的方向可分为3种基本传送模式:
单工、半双工和全双工传送。
串行通信在信息格式的约定上可以分为两种方式,一种是异步串行通信;
另一种是同步串行通信。
异步式传输是把每个字符当作独立的信息来串送,字符内部各位之间按照预先定义的时序传送,字符和字符之间的时序取决于发送端。
一个完整的字符传送,包含一个起始位和所要传送字符的二进制位,加上校验位和停止位。
同步串行通信方式中一次连续传输一块数据,开始前使用同步字符作为同步的依据,字符块之后再加入适当的错误检测数据才传送出去。
采用同步通信时,在传输线上没有字符传输时,要发送专用的空闲字符或同步字符,其原因是同步传输字符必须连续传输,不允许有间隙,所以,同步串行通信方式传输效率高。
但电路结构复杂,对硬件要求高。
S3C2410内部具有3个独立的UART控制器,每个UART通常包含2个16位的接收和发送FIFO,数据接收和发送的波特率可编程。
UART也可实现红外接收和发送。
S3C2410UART的基本工作包括数据发送,数据接收,自动流控制,中断/DMA请求产生,波特率产生,回环模式和红外模式。
IIS(集成电路内置音频总线),是飞利浦公司提出的串行数字音频总线协议。
目前很多音频芯片和MCU都提供了对IIS的支持,是工业领域或嵌入式系统领域常采用的音频总线之一。
IIS总线接口是典型的主从模式,但在IIS总线上最多只能有一个主设备,由它产生时钟信号IISLRCK和IISCLK。
IIS总线包含4条信号线:
IISDI、IISDO、IISLRCK和IISCLK,其中IISLRCK和IISCLK信号由主设备产生。
网络接口
通常,一个基本的分布嵌入式系统由处理单元PE和通信网络构成。
分布嵌入式系统中网络链路通常采用“分层”的体系结构模型来实现各部件之间的通信,即对分布式嵌入式系统网络而言,一般只用到开放系统互联参考模型OSI中的几层。
OSI参考模式构成:
物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
分布嵌入式网络通信方式主要有点对点通信方式和总线通信方式。
分布嵌入式网络中的总线必须要满足仲裁机构,即网络总线上同时出现传送操作时需要进行必要的选择。
仲裁机构主要有两种类型:
固定优先级仲裁机构和公平仲裁机构。
IIC接口是嵌入式系统中常用的网络接口之一,它采用串行通信方式将MCU连接到系统总线。
IIC总线用于连接MCU及其外围设备,IIC总线协议包含两层协议:
物理层和数据链路层。
S3C2410IIC总线控制器主要包括5个部分:
数据收发寄存器、数据移位寄存器、地址寄存器、时钟发生器和控制逻辑等部分。
S3C2410IIC总线接口具有专门的串行数据线和串行时钟线。
它有主机发送模式、主机接收模式、从机发送模式和从机接收模式4种操作模式。
CAN总线是目前流行的几种现场总线标准之一,CAN总线具有很好的实时性能。
CAN总线是控制器局域网的简称,它是一种现场总线,能有效地支持分布式控制和实时控制的串行通信网络。
CAN总线是一种多主方式的串行通信总线。
基本设计规范要求有高的位速率,高抗电磁干扰性,并可以检测出产生的任何错误。
CAN总线的通信介质可采用双绞线、同轴电缆和光导纤维,最常用的是双绞线。
CAN协议遵循OSI7层参考模型,但进行了优化,其体系结构采用3层结构,即物理层、数据链路层和传输层。
嵌入式系统接入Internet需要做好硬件和软件两方面的准备:
在硬件上,要给嵌入式系统设计以太网接口电路;
在软件上,要提供相应的通信协议。
TCP/IP是关于分层的协议,包含应用层、传输层、网络层、数据链路层和物理层等。
每一层实现一个明确的功能,对应一个或几个传输协议。
每层相对于它的下层都作为一个独立的数据包来实现。
在嵌入式系统中增加以太网接口,通常由两种方法实现。
一种是利用带以太网接口的嵌入式微处理器实现,另一种是采用嵌入式处理器和以太网控制芯片实现。
S3C2410芯片内部并没有专用的以太网接口控制器,因此它需要通过并行总线来外接以太网控制器,以便将其连接到以太网。
人机接口
人与计算机系统交流信息的方式很多,在嵌入式系统中常用的人机接口设备由键盘、LCD显示器及触摸屏等。
键盘是最常用的人机输入设备。
嵌入式系统中键盘的接口方式一般有两种:
一是独立式机械键盘接口,每个按键独立用一根I/O口线;
二是行列式键盘接口,按键设在行线和列线交点处,组成行列矩阵式键盘。
LED显示器的形式主要有3中:
单个LED显示器、7段(或8段)LED显示器和点阵式LED显示器。
LCD显示屏按显示颜色可分为单色LCD、伪彩LCD和真彩LCD等;
按显示模式可分为数码是LCD、字符式LCD和图形式LCD等。
触摸屏作为一种特殊的计算机外设,它是目前最简单、方便、自然的人机交互方式。
触摸屏的种类有:
电阻触摸屏、红外线触摸屏和电容式触摸屏。
Linux操作系统基础
Linux是多用户、多任务的操作系统,内核精简稳定,支持多种体系架构,移植性良好,结构伸缩性大,对外接口统一。
Linux的特点:
开放性、良好的可移植性和可裁剪性、多任务多用户、强大的网络功能、开发功能强、应用众多。
Linux操作系统由如下4个主要的子系统所组成:
用户应用程序、OS服务、Linux内核和硬件控制器。
Linux内核主要由5个子系统组成:
进程管理、内存管理、虚拟文件系统、网络接口和进程间通信。
参考文献
嵌入式系统原理与应用技术/袁志勇,王景存主编.北京:
北京航空航天大学出版社,2009.11ISBN978-7-81124-942-2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)