嵌入式系统原理与设计
2009-9
北京航空航天大学出版社
徐端全
275
在信息化的社会里,需要能够随时随地对信息进行采集、处理、存储和传输,这样就需要使用到嵌入式系统。可以说,嵌入式系统是信息社会的技术基础之一。 嵌入式系统几乎无处不在,从日常生活中的手机、游戏机、电视机、洗衣机,到汽车电子、工业控制、飞机大炮、飞船火箭等。正是嵌入式系统的广泛应用,才使得计算机走出实验室,走向社会,走进各行各业。过去PC机上的应用,如文档编辑与查看、网络浏览、多媒体播放、信息处理、自动控制等,现在大多可以由嵌入式系统来实现,这正是所谓后PC时代的特点之一。 嵌入式系统是IT领域的研究热点,各院校开设了很多相关课程。作者在课程教学中,感觉到嵌入式系统的原理性教材比较缺乏,已有的教材大多针对某种特定的硬件或软件平台,不具有普遍性。为此,作者在近年嵌入式系统原理课程讲义的基础上,结合自己对嵌入式系统的理解,编写完成该教材,力图系统地概括嵌入式系统的基础知识,使读者在掌握该教材知识的基础上,能够更好地开展下一步的学习和研究工作。 本书包括三部分:硬件、软件和设计,共9章。其中:第1章为嵌入式系统综述;第2~5章为硬件部分;第6章和第7章为软件部分;第8章和第9章为系统设计部分。 第1章介绍嵌入式系统的基本概念,分析其与通用计算机的区别,目的是帮助读者建立起对嵌入式系统的基本认识。 第2章介绍嵌入式处理器的基本概念,如嵌入式处理器的特点、与通用处理器的比较、嵌入式处理器的类型等;并分别介绍8051单片机、ARM处理器、嵌入式x86处理器、DSP处理器及sOc处理器。通过对不同处理器实例的比较与学习,加深对嵌入式处理器特点与应用方法的理解。 第3章介绍嵌入式系统总线技术。首先分析了ISA总线、PCI总线的原理;随后介绍这些总线的工业化版本,包括PC/104、PC/104-:Plus、PCI-104、PCI/104-Express、PCIe/104、CompactPCI等。总线是将计算机各模块联系在一起的纽带,理解总线技术有利于读者建立起系统的概念。 第4章介绍在嵌入式系统中经常应用的电路,包括复位与电源管理、12C总线、实时时钟、RS-232接口等。这些都是非常基础的电路,是嵌入式系统工程师必须掌握的知识。
《嵌入式系统原理与设计》是作者在综合了相关课程讲义和教学大纲的基础上编写的,也是作者多年从事嵌入式系统开发经验的总结。全书并不针对某种特定体系结构的处理器或操作系统,而是力图概括嵌入式系统所涉及的最基础的知识。硬件上,以嵌入式处理器、嵌入式系统总线和嵌入式存储器为主体,辅之以嵌入式系统的常见电路,由此建立起嵌入式系统的硬件知识体系;软件上,重点分析嵌入式系统引导程序和操作系统;系统设计上,重点分析低功耗设计技术和电磁兼容设计技术。 《嵌入式系统原理与设计》结构清晰,语言简洁,采用大量的图表来说明技术问题,因而通俗易懂,适合用作高等院校嵌入式系统课程的原理性教材,也可作为嵌入式系统爱好者的入门参考书。
第1章 嵌入式系统概述1.1 什么是嵌入式系统1.2 嵌入式系统与通用计算机系统1.3 嵌入式系统的发展与应用1.4 嵌入式系统的组成1.5 嵌入式系统的分类1.5.1 按处理器位宽分类1.5.2 按有无操作系统分类1.5.3 按实时性分类1.5.4 按应用分类1.6 小结1.7 习题第2章 嵌入式处理器2.1 嵌入式处理器的原理2.1.1 嵌入式处理器的指令系统2.1.2 嵌入式处理器的类型2.1.3 嵌入式处理器的结构2.1.4 大端方式和小端方式2.1.5 影响嵌入式处理器性能的因素2.2 嵌入式处理器的分类2.3 嵌入式处理器的特点2.4 8051单片机2.4.1 8051单片机结构2.4.2 MCS51指令系统2.5 ARM处理器及实例2.5.1 ARM技术发展2.5.2 ARM体系结构2.5.3 ARM扩展指令集2.5.4 ARM/Thumb体系结构版本的命名2.5.5 ARM处理器核2.5.6 ARM处理器片内总线2.5.7 S3C2410处理器2.6 嵌入式x86处理器及实例2.6.1 嵌入式x86处理器的发展2.6.2 Geodex86处理器2.6.3 CS5535原理2.6.4 基于GeodeGX处理器的嵌入式系统结构2.7 DSP处理器及实例2.7.1 DSP与普通处理器的区别2.7.2 DSP的应用形式2.7.3 TMS320DM642处理器2.8 SOC处理器及实例2.8.1 SOC处理器类型及优点2.8.2 视频编码SOC处理器2.9 嵌入式处理器的选择2.1 0嵌入式处理器的JTAG调试接口2.1 1小结2.1 2习题第3章 嵌入式系统总线3.1 计算机总线基本概念3.2 嵌入式系统总线的特点3.3 ISA总线原理3.3.1 ISA总线结构3.3.2 ISA总线信号3.3.3 ISA总线时序3.4 PCI总线原理3.4.1 PCI总线概述3.4.2 PCI总线系统结构3.4.3 PCI总线信号3.4.4 PCI设备的配置空间3.4.5 PCI总线操作命令3.4.6 PCI总线传输操作3.5 PC/104系列总线标准3.5.1 PC/104总线3.5.2 PC/104Plus总线3.5.3 PCI104、PCI/104Express及PCIe/1043.6 CompactPCI总线3.6.1 CompactPCI概述3.6.2 CompactPCI机械结构3.6.3 CompactPCI连接器3.6.4 CompactPCI热插拔技术3.7 小结3.8 习题3.6.1 CompactPCI概述3.6.2 (;ompactPCI机械结构3.6.3 CompactPCI连接器3.6.4 CompactPCI热插拔技术3.7 小结3.8 习题第4章 嵌入式系统常见电路4.1 系统复位与电源监控4.1.1 RC复位电路4.1.2 复位与电源管理控制器4.2 I2C总线原理4.2.1 概述4.2.2 I2C总线拓扑结构4.2.3 I2C总线工作原理4.3 实时时钟4.3.1 实时时钟基本概念4.3.2 S-35390A实时时钟4.4 RS-232接口4.4.1 RS-232原理4.4.2 RS-232接口4.4.3 起止式异步串行通信协议4.4.4 RS一232接口驱动器实例4.5 小结4.6 习题第5章 嵌入式系统存储器5.1 概述5.2 静态随机存储器5.2.1 SRAM原理5.2.2 IDT7164静态RAM存储器5.3 双端口存储器5.3.1 双端口RAM及其应用5.3.2 IDT、7007双端口RAM5.3.3 IDT7007中断逻辑5.3.4 IDT7007信号灯逻辑5.3.5 IDT7007的扩展5.4 同步动态随机存储器5.4.1 动态随机存储器5.4.2 SDRAM概述5.4.3 SDRAM命令5.5 NoRFlash5.5.1 Flash概述5.5.2 W39L.040V简介5.5.3 w39I.,040V操作模式5.5.4 W39L040A模式命令5.5.5 W39L,040A擦写状态查询5.6 NANDFlash5.6.1 K9F1208XOC简介5.6.2 K9F、1208XOC输入/输出接口5.6.3 K9F、1208XOC操作命令5.6.4 K9F1208XOC备用区数据分配5.7 串行EEPR()M5.7.1 24C01结构5.7.2 24C01写操作5.7.3 24C0l读操作5.8 小结5.9 习题第6章 嵌入式系统引导程序6.1 PC机中的引导程序6.2 嵌入式系统中的引导程序6.3 嵌入式系统引导程序的启动过程6.4 UniVet·salBootL,oader6.4.1 U-Boot简介6.4.2 U-Boot用户命令及使用6.4.3 U-Boot源代码结构6.4.4 U-Boot启动过程6.4.5 U-Boot用户命令解释代码6.4.6 U-Boot中的Flash烧写代码6.4.7 U-Boot编译6.4.8 U-Boot的移植6.4.9 U-Boot的烧写6.5 小结6.6 习题第7章 嵌入式操作系统7.1 概述第8章 嵌入式系统低功耗设计第9章 嵌入式系统电磁兼容设计参考文献
第1章 嵌入式系统概述 嵌入式系统是针对具体应用而定制的专用计算机系统。定制不仅是指操作系统的裁剪、软件的针对性设计,往往还包括硬件的专门设计。定制的目的是使计算机系统适应其“嵌入”对象在功能、性能、功耗、成本、可靠性、环境适应性等方面的特殊要求。 嵌入式系统与通用计算机在应用形态、开发及调试方式上有很大的差别。在嵌入式系统开发中,做硬件设计的工程师要有一定的软件基础,做软件开发的工程师也要理解硬件的工作原理。系统开发工作具有较大的挑战性。 嵌入式系统无处不在,也正是嵌入式技术的发展,才使计算机走出实验室,走向社会,走进各行各业,研究嵌入式技术对推动信息产业的发展具有重要意义。 1.1 什么是嵌入式系统 嵌入式系统(Embedded System)也称嵌入式计算机系统。顾名思义,嵌入式系统是计算机的一种特殊形式,因此在理解嵌入式系统概念前,必须先明确计算机的基本概念。 计算机是能按照指令对各种数据进行自动加工处理的电子设备,一套完整的计算机系统包括硬件和软件两个部分,如图1.1所示。软件是指令与数据的集合,而硬件则是执行指令和处理数据的环境平台,是那些看得见、摸得着的部件。计算机的硬件系统主要由中央处理器、存储器、外部设备以及连接各个部分的计算机总线组成。软件则包括系统软件和应用软件两个部分,操作系统是系统软件的组成部分。 自1946年第一台电子计算机问世以来,计算机技术发展迅猛,经历了电子管计算机、晶体管计算机、小规模集成电路计算机、大规模集成电路计算机4个阶段。 现在广为人知的台式机、便携机等通用计算机性能强大,安装不同的软件就能实现不同的功能,其应用并不局限于特定的领域。如果安装了专门的软件开发工具,它就是一台软件开发计算机;如果安装了办公软件,它就是一台办公计算机;如果安装了游戏软件,它就是一台游戏机。