《嵌入式系统组成与设计》是2010年6月1日兰州大学出版社出版的图书
书名 | 嵌入式系统组成与设计 | 页数 | 243页 |
---|---|---|---|
出版时间 | 第1版 (2010年6月1日) | 装帧 | 平装 |
纵观嵌入式系统的发展历程,大致经历了以下四个阶段: 无操作系统阶段 嵌入式系统最初的应用是基于单片机的,大多以可编程控制器的形式出现,具有监测、伺服、设备指示等功能,通常应用于各类工业控制和飞机、等武...
目前国内外这方面的人都很稀缺。一方面,是因为这一领域入门门槛较高,不仅要懂较底层软件(例如操作系统级、驱动程序级软件),对软件专业水平要求较高(嵌入式系统对软件设计的时间和空间效率要求较高),而且必须...
所有的通讯系统和消费类电子产品用的都是嵌入式系统。所以你就能看见这个行业的需求有多大,前景有多远了。如果你有很好的全局思维观和很强的逻辑思维能力,会将复杂问题进行合理的分类和分层的话,就适合做系统架构...
嵌入式系统设计与应用研究
《电路和嵌入式系统综合设计实验》实验报告 LPC单片机 AD功能及使用 姓名: 学号: 指导老师: LPC单片机 AD功能及使用 随着移动设备的流行和发展,嵌入式系统已经成为一个热点。 具有体积大、成本、 功耗 低和可靠性强的突出特点。本文研究的是基于 ARM 嵌入式芯片 AD功能及使用的设计和实 现。采用了飞利浦的 32位 ARM 微处理器 LPC2124作为核心处理器,实现 LPC单片机双通 道 AD转换的功能,并通过串口显示转换电压的结果。 一、 引言及背景 随着电子技术的迅速发展以及计算机在自动检测和自动控制系统中的广泛使用, 利用嵌 入式系统处理模拟信号的情况变得更加普遍。 因为数字电子计算机所处理和传送的都是不连 续的数字信号, 而实际中遇到的大都是连续变化的模拟量。 模拟量经传感器转换成电信号的 模拟量后, 需经 A/D 转换变成 Digit 信号才可输入到数字系统中进行处理
嵌入式系统组成
一个嵌入式系统装置一般都由嵌入式计算机系统和执行装置组成, 嵌入式计算机系统是整个嵌入式系统的核心,由硬件层、中间层、系统软件层和应用软件层组成。执行装置也称为被控对象,它可以接受嵌入式计算机系统发出的控制命令,执行所规定的操作或任务。执行装置可以很简单,如手机上的一个微小型的电机,当手机处于震动接收状态时打开;也可以很复杂,如SONY 智能机器狗,上面集成了多个微小型控制电机和多种传感器,从而可以执行各种复杂的动作和感受各种状态信息。
硬件层中包含嵌入式微处理器、存储器(SDRAM、ROM、Flash等)、通用设备接口和I/O接口(A/D、D/A、I/O等)。在一片嵌入式处理器基础上添加电源电路、时钟电路和存储器电路,就构成了一个嵌入式核心控制模块。其中操作系统和应用程序都可以固化在ROM中。
(1)嵌入式微处理器
嵌入式系统硬件层的核心是嵌入式微处理器,嵌入式微处理器与通用CPU最大的不同在于嵌入式微处理器大多工作在为特定用户群所专用设计的系统中,它将通用CPU许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统在设计时趋于小型化,同时还具有很高的效率和可靠性。
嵌入式微处理器的体系结构可以采用冯·诺依曼体系或哈佛体系结构;指令系统可以选用精简指令系统(Reduced Instruction Set Computer,RISC)和复杂指令系统CISC(Complex Instruction Set Computer,CISC)。RISC计算机在通道中只包含最有用的指令,确保数据通道快速执行每一条指令,从而提高了执行效率并使CPU硬件结构设计变得更为简单。
嵌入式微处理器有各种不同的体系,即使在同一体系中也可能具有不同的时钟频率和数据总线宽度,或集成了不同的外设和接口。据不完全统计,全世界嵌入式微处理器已经超过1000多种,体系结构有30多个系列,其中主流的体系有ARM、MIPS、PowerPC、X86和SH等。但与全球PC市场不同的是,没有一种嵌入式微处理器可以主导市场,仅以32位的产品而言,就有100种以上的嵌入式微处理器。嵌入式微处理器的选择是根据具体的应用而决定的。
(2)存储器
嵌入式系统需要存储器来存放和执行代码。嵌入式系统的存储器包含Cache、主存和辅助存储器,其存储结构如图1-2所 示。
1>Cache
Cache是一种容量小、速度快的存储器阵列它位于主存和嵌入式微处理器内核之间,存放的是一段时间微处理器使用最多的程序代码和数据。在需要进行数据读取操作时,微处理器尽可能的从Cache中读取数据,而不是从主存中读取,这样就大大改善了系统的性能,提高了微处理器和主存之间的数据传输速率。Cache的主要目标就是:减小存储器(如主存和辅助存储器)给微处理器内核造成的存储器访问瓶颈,使处理速度更快,实时性更强。
在嵌入式系统中Cache全部集成在嵌入式微处理器内,可分为数据Cache、指令Cache或混合Cache,Cache的大小依不同处理器而定。一般中高档的嵌入式微处理器才会把Cache集成进去。
2>主存
主存是嵌入式微处理器能直接访问的寄存器,用来存放系统和用户的程序及数据。它可以位于微处理器的内部或外部,其容量为256KB~1GB,根据具体的应用而定,一般片内存储器容量小,速度快,片外存储器容量大。
常用作主存的存储器有:
ROM类 NOR Flash、EPROM和PROM等。
RAM类 SRAM、DRAM和SDRAM等。
其中NOR Flash 凭借其可擦写次数多、存储速度快、存储容量大、价格便宜等优点,在嵌入式领域内得到了广泛应用。
3>辅助存储器
辅助存储器用来存放大数据量的程序代码或信息,它的容量大、但读取速度与主存相比就慢的很多,用来长期保存用户的信息。
嵌入式系统中常用的外存有:硬盘、NAND Flash、CF卡、MMC和SD卡等。
(3)通用设备接口和I/O接口
嵌入式系统和外界交互需要一定形式的通用设备接口,如A/D、D/A、I/O等,外设通过和片外其他设备的或传感器的连接来实现微处理器的输入/输出功能。每个外设通常都只有单一的功能,它可以在芯片外也可以内置芯片中。外设的种类很多,可从一个简单的串行通信设备到非常复杂的802.11无线设备。
嵌入式系统中常用的通用设备接口有A/D(模/数转换接口)、D/A(数/模转换接口),I/O接口有RS-232接口(串行通信接口)、Ethernet(以太网接口)、USB(通用串行总线接口)、音频接口、VGA视频输出接口、I2C(现场总线)、SPI(串行外围设备接口)和IrDA(红外线接口)等。
硬件层与软件层之间为中间层,也称为硬件抽象层(Hardware Abstract Layer,HAL)或板级支持包(Board Support Package,BSP),它将系统上层软件与底层硬件分离开来,使系统的底层驱动程序与硬件无关,上层软件开发人员无需关心底层硬件的具体情况,根据BSP 层提供的接口即可进行开发。该层一般包含相关底层硬件的初始化、数据的输入/输出操作和硬件设备的配置功能。BSP具有以下两个特点。
硬件相关性:因为嵌入式实时系统的硬件环境具有应用相关性,而作为上层软 件与硬件平台之间的接口,BSP需要为操作系统提供操作和控制具体硬件的方法。
操作系统相关性:不同的操作系统具有各自的软件层次结构,因此,不同的操作系统具有特定的硬件接口形式。
实际上,BSP是一个介于操作系统和底层硬件之间的软件层次,包括了系统中大部分与硬件联系紧密的软件模块。设计一个完整的BSP需要完成两部分工作:嵌入式系统的硬件初始化以及BSP功能,设计硬件相关的设备驱动。
第1章 单片机与嵌入式系统概述 (1)
1.1 现代计算机的技术发展史 (1)
1.1.1 始于微型计算机时代的嵌入式
应用 (1)
1.1.2 现代计算机技术的两大分支 (1)
1.1.3 两大分支发展的里程碑事件 (1)
1.2 嵌入式系统的定义与特点 (2)
1.2.1 嵌入式系统的定义 (2)
1.2.2 嵌入式系统组成 (2)
1.2.3 嵌入式系统中的有关概念 (3)
1.2.4 嵌入式系统的特点 (3)
1.2.5 嵌入式系统的种类与发展 (5)
1.3 嵌入式处理器 (5)
1.3.1 嵌入式处理器简介 (5)
1.3.2 嵌入式处理器的分类 (6)
1.3.3 几种嵌入式处理器之关系 (8)
1.3.4 如何选择嵌入式处理器 (8)
1.4 嵌入式操作系统 (9)
1.4.1 嵌入式操作系统特点 (9)
1.4.2 嵌入式操作系统分类 (10)
1.4.3 使用嵌入式操作系统的优缺点 (10)
1.5 基于单片机的嵌入式系统 (10)
1.5.1 单片机开创了嵌入式系统独立
发展道路 (10)
1.5.2 单片机的技术发展史 (11)
1.5.3 嵌入式系统应用的高低端 (11)
1.5.4 单片机嵌入式系统的特点 (12)
1.6 单片机的分类和技术指标 (13)
1.6.1 单片机的分类 (13)
1.6.2 单片机的技术指标 (13)
1.7 常用的单片机系列 (14)
1.8 单片机嵌入式系统的应用领域 (16)
1.9 单片机嵌入式系统的发展趋势 (17)
本章小结 (18)
习题1 (19)
第2章 嵌入式系统基础知识 (20)
2.1 数制与编码 (20)
2.1.1 进位计数制 (20)
2.1.2 进位计数制的相互转换 (21)
2.1.3 数码和字符的代码表示 (22)
2.2 数字集成电路 (24)
2.2.1 常用的逻辑门电路 (24)
2.2.2 集电极开路门输出电路 (26)
2.2.3 常用组合逻辑电路 (28)
2.2.4 常用时序逻辑电路 (32)
2.3 存储器电路 (34)
2.3.1 存储器概述 (34)
2.3.2 存储器有关概念 (34)
2.3.3 RAM存储器 (35)
2.3.4 ROM存储器 (39)
2.3.5 闪速存储器 (41)
2.4 电源电路 (42)
2.5 时钟与复位电路 (45)
2.5.1 时钟电路 (45)
2.5.2 复位电路简介 (46)
2.5.3 简单复位电路 (46)
本章小结 (49)
习题2 (49)
第3章 单片机嵌入式系统的开发环境 (51)
3.1 单片机嵌入式系统的研制步骤和
方法 (51)
3.1.1 总体设计 (51)
3.1.2 硬件系统 (52)
3.1.3 软件系统 (53)
3.2 单片机嵌入式系统开发的软硬件
环境 (54)
3.2.1 单片机嵌入式系统开发的软硬件
环境构成 (54)
3.2.2 单片机嵌入式系统开发工具选择
原则 (55)
3.2.3 使用JTAG界面单片机仿真开发
环境 (56)
3.2.4 单片机的在线编程 (56)
3.3 Keil C51高级语言集成开发环境
——Vision2 IDE (57)
3.3.1 µVision2 IDE主要特性 (57)
3.3.2 µVision2 IDE集成开发环境 (58)
3.3.3 µVision2 IDE的使用 (61)
3.3.4 Keil C51中printf库函数 (70)
3.4 基于Proteus的单片机系统仿真 (70)
3.4.1 Proteus 7 Professional界面介绍 (71)
3.4.2 绘制电路原理图 (73)
3.4.3 Proteus VSM与Vision2的联调 (77)
3.4.4 Proteus VSM中的电源、复位与
时钟 (80)
本章小结 (80)
习题3 (81)
第4章 80C51单片机硬件基础知识 (82)
4.1 MCS-51系列及80C51系列
单片机简介 (82)
4.1.1 MCS-51系列和80C51系列
单片机 (82)
4.1.2 80C51系列单片机的三次技术
飞跃 (83)
4.1.3 高性能80C51单片机的特点 (84)
4.2 80C51系列单片机外引脚功能 (84)
4.3 80C51单片机内部结构 (88)
4.3.1 中央处理器(CPU) (88)
4.3.2 存储器组织 (90)
4.3.3 并行输入/输出端口结构 (99)
4.3.4 时钟电路 (104)
4.3.5 复位电路 (106)
4.4 低功耗运行方式 (108)
4.4.1 电源控制寄存器PCON (108)
4.4.2 待机方式 (109)
4.4.3 掉电方式 (109)
4.5 80C51单片机最小系统 (110)
本章小结 (111)
习题4 (111)
第5章 80C51单片机软件基础知识 (113)
5.1 80C51单片机指令系统概述 (113)
5.1.1 指令的概念 (113)
5.1.2 指令系统说明 (114)
5.1.3 80C51指令系统助记符 (115)
5.1.4 指令系统中的特殊符号 (116)
5.2 80C51单片机寻址方式 (117)
5.2.1 寄存器寻址方式 (117)
5.2.2 直接寻址方式 (117)
5.2.3 寄存器间接寻址方式 (117)
5.2.4 立即寻址方式 (119)
5.2.5 变址间接寻址方式 (119)
5.2.6 相对寻址方式 (119)
5.2.7 位寻址方式 (119)
5.3 80C51单片机指令系统 (121)
5.3.1 数据传送类指令 (121)
5.3.2 算术运算类指令 (125)
5.3.3 逻辑运算类指令 (127)
5.3.4 控制转移类指令 (130)
5.3.5 位操作指令 (132)
5.4 80C51汇编语言程序设计 (136)
5.4.1 伪指令 (136)
5.4.2 汇编语言程序设计举例 (137)
5.5 80C51单片机C51程序设计
语言 (138)
5.5.1 C51的标识符和关键字 (140)
5.5.2 C51编译器能识别的数据类型 (141)
5.5.3 变量的存储种类和存储器类型 (144)
5.5.4 绝对地址的访问 (149)
5.5.5 中断服务程序 (151)
5.6 C51的运算符和表达式 (152)
5.6.1 赋值运算符 (152)
5.6.2 算术运算符 (152)
5.6.3 关系运算符 (153)
5.6.4 逻辑运算符 (153)
5.6.5 位运算符 (153)
5.6.6 复合运算符 (154)
5.6.7 指针和地址运算符 (154)
5.7 C51的库函数 (155)
5.7.1 本征库函数和非本征库函数 (155)
5.7.2 几类重要的库函数 (155)
5.8 C51的应用技巧 (159)
本章小结 (162)
习题5 (164)
第6章 80C51单片机内嵌外设及应用 (166)
6.1 中断系统和外中断 (166)
6.1.1 中断技术概述 (166)
6.1.2 80C51单片机中断系统 (168)
6.1.3 C51中断服务函数 (173)
6.1.4 外部中断的应用实例 (176)
6.2 定时器/计数器 (178)
6.2.1 定时器/计数器0、1的结构及
工作原理 (179)
6.2.2 定时器/计数器0、1的四种
工作方式 (180)
6.2.3 定时器/计数器对输入信号的
要求 (187)
6.2.4 定时器/计数器0、1的编程和应用
实例 (187)
6.2.5 定时器/计数器2 (192)
6.3 串行通信 (194)
6.3.1 串行通信基础知识 (194)
6.3.2 80C51串行接口 (197)
6.3.3 应用实例 (205)
本章小结 (210)
习题6 (212)
第7章 单片机外部扩展资源及应用 (214)
7.1 单片机外部扩展资源和扩展
编址技术概述 (214)
7.1.1 单片机外部扩展资源分类 (214)
7.1.2 单片机系统扩展结构与编址
技术 (215)
7.1.3 单片机系统存储器扩展方法 (217)
7.2 并行I/O口扩展 (218)
7.2.1 8255可编程并行I/O接口芯片 (218)
7.2.2 用74HC系列芯片扩展I/O
接口 (223)
7.3 大容量闪速存储器Flash的扩展 (225)
7.3.1 Super Flash 39SF040简介 (225)
7.3.2 89C52单片机和39SF040接口
方法 (227)
7.4 单片机系统中的键盘接口技术 (228)
7.4.1 键盘工作原理及消抖 (228)
7.4.2 独立式键盘与工作原理 (229)
7.4.3 行列式键盘与工作原理 (230)
7.4.4 键盘扫描的控制程序 (231)
7.5 单片机系统中的LED数码
显示器 (232)
7.5.1 LED显示器的结构与原理 (232)
7.5.2 LED静态显示接口 (233)
7.5.3 LED动态扫描显示接口 (234)
7.6 单片机系统中的LCD液晶
显示器 (236)
7.6.1 字符型液晶显示模块的组成和
基本特点 (236)
7.6.2 LCD1602模块接口引脚功能 (237)
7.6.3 LCD1602模块的操作命令 (238)
7.6.4 LCD1602与89C52单片机接口
与编程 (241)
7.6.5 点阵式图形LCD显示器的
组成和基本特点 (242)
7.7 日历时钟接口芯片及应用 (247)
7.7.1 并行接口日历时钟芯片DS12887 (247)
7.7.2 串行接口日历时钟芯片DS1302 (250)
7.8 单片机数据采集系统 (253)
7.8.1 并行A/D转换器ADC0809 (253)
7.8.2 串行A/D转换器TLC2543 (256)
7.9 I2C总线接口电路E2PROM
及应用 (258)
7.9.1 串行E2PROM电路CAT24WCXX
概述 (258)
7.9.2 串行E2PROM芯片的操作 (259)
7.9.3 串行E2PROM芯片与89C52的
接口与编程 (261)
7.10 RS-232C和RS-485/422通信
接口 (262)
7.10.1 RS-232C接口的物理结构、电气
特性、信号内容 (262)
7.10.2 RS-485/422接口 (268)
本章小结 (269)
习题7 (270)
第8章 单片机嵌入式系统设计实例 (272)
8.1 设计要求 (272)
8.2 总体方案 (272)
8.3 硬件电路设计 (273)
8.4 软件设计 (275)
8.4.1 主程序模块 (275)
8.4.2 每到一层的状态控制 (277)
8.4.3 内部按键扫描 (277)
8.4.4 外部按键扫描 (277)
8.5 仿真测试 (278)
8.5.1 测试正常功能 (278)
8.5.2 测试异常功能 (279)
本章小结 (279)
第9章 多任务实时操作系统RTX-51 (280)
9.1 RTX-51实时多任务操作系统
简介 (280)
9.1.1 单任务程序与多任务程序的
比较 (280)
9.1.2 使用RTX-51 TINY的软硬件
要求 (282)
9.1.3 使用RTX-51 TINY的注意事项 (283)
9.2 RTX-51 TINY的任务管理 (284)
9.2.1 定时器滴答中断 (284)
9.2.2 任务 (284)
9.2.3 任务状态 (284)
9.2.4 事件 (285)
9.2.5 任务调度 (285)
9.2.6 任务切换 (285)
9.3 如何使用RTX-51 TINY (288)
9.3.1 编写程序 (288)
9.3.2 编译和连接 (289)
9.3.3 调试 (289)
9.3.4 实例1——os_wait函数的使用 (290)
9.4 RTX-51 TINY提供的系统函数 (292)
9.5 RTX-51 TINY的配置 (298)
9.5.1 配置 (298)
9.5.2 库文件 (299)
9.5.3 优化 (300)
9.6 基于Proteus的RTX-51应用
实例——交通信号灯控制器 (300)
9.6.1 交通信号灯控制器设计要求 (300)
9.6.2 总体方案 (301)
9.6.3 硬件电路 (301)
9.6.4 软件设计 (303)
9.6.5 功能使用说明 (304)
9.6.6 程序运行与测试 (305)
本章小结 (306)
习题9 (307)
第10章 教学实验和课程设计 (308)
实验1 单片机I/O口——流水灯 (308)
实验2 单片机I/O口——汽车灯光
控制器 (309)
实验3 外部中断 (311)
实验4 定时器 (312)
实验5 计数器 (314)
实验6 单片机和PC通信 (315)
实验7 外部数据存储器的扩展 (318)
实验8 键盘与显示 (319)
实验9 串行日历时钟与字符LCD
显示器 (321)
实验10 串行接口A/D转换器 (322)
实验11 RTX-51 TINY计算机自动
打铃器 (324)
附录A 指令速查表 (327)
参考文献 (331) 2100433B
ARM嵌入式常用模块与综合系统设计实例精讲介绍
ISBN: 9787121070358 开本: 16
定价: 59.00 元
《ARM嵌入式常用模块与综合系统设计实例精讲》是畅销书《ARM嵌入式常用模块与综合系统设计实例精讲》的第2版。全书针对目前通用流行的ARM嵌入式处理器,通过实例精讲的形式,详细介绍了ARM嵌入式常用模块与综合应用系统设计的方法及技巧。全书共分3篇33章,第一篇为基础知识篇,简要介绍了ARM处理器及系统结构、ARM编程基础、ARM开发环境及调试系统;第二篇为常用模块设计实例篇,通过23个模块设计实例,详细介绍了ARM嵌入式的各种开发技术和使用技巧,这些模块实例基础、实用,易学易懂,全部调试通过,几乎涵盖了所有的ARM开发技术;第三篇为综合应用系统设计实例篇,通过6个综合系统实例,对前面的ARM常用模块进行了综合应用设计,经过此篇学习,读者将快速提高ARM综合系统设计的能力,步入高级工程师的行列。
《ARM嵌入式常用模块与综合系统设计实例精讲》配有一张光盘,包含了全书所有实例的硬件原理图和程序源代码,方便读者学习和使用。《ARM嵌入式常用模块与综合系统设计实例精讲》适合广大计算机、自动化、电子及硬件等相关专业的大学生,以及从事ARM开发的科研人员使用。