嵌入式系统工程实例解析

本书从工程实践角度出发,以多核心嵌入式教学科研平台为例,介绍了嵌入式系统的完整设计流程、基于Proteus的模块仿真技术以及典型模块软硬件设计等内容,同时介绍了Altium Designer等实用EDA工具,希望能为读者展现嵌入式系统设计的全貌。
本书从工程实践角度出发,以多核心嵌入式教学科研平台为例,介绍了嵌入式系统的完整设计流程、基于Proteus的模块仿真技术以及典型模块软硬件设计等内容,同时介绍了Altium Designer等实用EDA工具,希望能为读者展现嵌入式系统设计的全貌。本书涉及的嵌入式平台采用两种处理器LPC2136和MSP430 F1611单片机,应用均十分广泛。本书针对14种硬件模块和13种硬件接口,分别编写了基于LPC2136和MSP430 F1611的两套代码,并全部调试通过,读者可根据自己的实际需求,将各个硬件模块和代码直接引入自己设计的系统中。此外,本书介绍到的基于LPC2136处理器的Proteus仿真技术,内容新颖,实用性较强。 本书可作为高等学校计算机及相关专业的本科生、研究生教材,也可作为嵌入式技术领域的技术人员的参考书。
- 书名 嵌入式系统工程实例解析
- 作者 赖晓晨,周宽久,夏锋,罗龙
- ISBN 9787302271765
- 定价 35元
- 装帧 平装
图书简介
本书可作为高等学校计算机及相关专业的本科生、研究生教材,也可作为嵌入式技术领域的技术人员的参考书。
图书前言
当前,嵌入式系统设计已经形成一个规模庞大的产业,嵌入式产品在我们身边随处可见,与此相对应,学习嵌入式系统的开发设计也已成为计算机应用领域的热点。通常,嵌入式系统学习者会购买一套嵌入式开发板,按照开发板附带光盘中的实例调试所有代码,以便加深对嵌入式处理器的认识。但是,由这种纯软件调试方式获得的经验是极其有限的。一方面,学习者一般仅针对教程中的代码框架来调试,不具备自己探索完整软件设计的机会; 另一方面,由于硬件平台已经完成,学习者不会获得硬件电路设计的经验; 更为关键的是,从工程角度而言,嵌入式开发板是一个完整的嵌入式系统,这个系统的完成也依次经历了需求分析、任务提取、概要设计、原理图设计、模块仿真、PCB设计、硬件调试、软件编程等环节,而学习者接触到的仅仅是软件编程的一部分,不可能学习到一个嵌入式系统的完整设计流程。
本书介绍了一个多核心嵌入式教学科研平台的完整设计过程,该平台采用"主板+核心板"的设计模式,主要的硬件模块和接口设计在主板上,核心板设计了两种,分别基于ARM7体系结构的LPC2136处理器和MSP430单片机,任意一种核心板都通过主板上的接口控制主板的全部资源。本书拟从工程角度来介绍该多核心嵌入式平台的完整设计与实现流程,从零开始带领读者一步步设计得到一个完整的嵌入式系统,内容涵盖前述各个环节,从设计的高度带给读者一个嵌入式系统开发的整体印象。本书还将对涉及的每一部分硬件模块做详细说明,包括相关协议说明、器件工作原理简介、硬件运行机制分析以及实例代码解释等方面,力争为读者建立起嵌入式系统设计的完整概念,并掌握常见嵌入式模块的设计方法。如果读者具备硬件开发条件,那么可以按照本书介绍的步骤,构建出一套完全相同的嵌入式开发平台硬件和软件。
本书立意于工程实践,包含三方面重点: 系统设计思想及工程流程介绍(含EDA工具介绍)、基于Proteus的模块仿真介绍、典型硬件电路和编码介绍。第1章介绍嵌入式系统的概念、组成、设计流程等背景知识; 第2章介绍设计多核心嵌入式教学科研平台所需的开发环境、工具软件,以及两种处理器的基础知识; 第3章从工程设计的角度,首先归纳了嵌入式系统的设计流程与要点,然后提出多核心嵌入式教学科研平台的需求分析与设计方案; 第4章介绍多核心嵌入式教学科研平台的软件设计思路; 第5章介绍多核心嵌入式教学科研平台各硬件模块的设计原理、工作方式和软件实现; 第6章以平台硬件模块为蓝本,介绍通过Proteus软件进行硬件模块仿真的方法; 第7章以一个综合实例贯彻前述各章的主要内容; 第8章简要介绍了涉及的各种EDA工具和调试工具。
在本书的撰写过程中,力争使其具有以下特点。
(1) 工程性: 从工程实践角度出发,引导读者完成一个嵌入式系统设计的全部流程,从需求分析到编码测试都有详尽介绍,力争使读者对嵌入式系统设计形成一个完整认识。
(2) 新颖性: 用一章篇幅专门介绍电路设计仿真软件Proteus的使用方法,并首先将其与基于ARM处理器的典型电路相结合,介绍其与一般集成开发环境的联调方法。
(3) 典型性: 本书涉及的处理器为16位处理器市场应用最广泛的MSP430 F1611单片机,以及在32位高端嵌入式处理器领域最流行的ARM处理器LPC2136。前者具有极低功耗的特点,非常适用于手持嵌入式设备; 后者技术成熟、市场占有率高、功能强大。
(4) 实用性: 本书所有模块都附有硬件原理图,基于MSP430 F1611和基于LPC2136的两套软件代码以及代码分析介绍,读者可将这些实例直接应用到自己设计的电路中。此外,本书还介绍了各种EDA软件,例如Proteus、Altium Designer、串口助手、图形转换工具等,非常实用。
(5) 广泛性: 本书硬件部分涉及14种模块和13种接口,尽可能覆盖到常用的硬件模块。
(6) 易用性: 读者只要有单片机或者ARM处理器的基础,就可以看懂此书。本书的设计思路是从零开始,手把手地教读者设计完成一个嵌入式系统,包括其中每个典型电路,以及代码编写。
本书的读者对象群体: 了解嵌入式系统基本概念的本科生、研究生; 希望了解基于ARM处理器或MSP430单片机进行嵌入式系统设计的学习者; 希望掌握嵌入式工程设计思想,进一步提高系统设计能力的学习者; 希望学习嵌入式系统仿真设计的学习者; 在嵌入式领域,希望学习典型硬件模块设计和软件编程的学习者; 其他对嵌入式系统设计感兴趣的学习者。
在本书的编写过程中,陈鑫在硬件设计方面做了大量工作; 张晓彤、魏铁、吴国信、张逸群在软件设计和书稿撰写方面付出了艰苦的努力; 杜春明完成了课件制作工作。在此向以上同仁表示郑重的感谢!同时,感谢清华大学出版社及梁颖编辑,是你们的辛勤工作让本书的面世成为可能; 感谢大连理工大学软件学院的同事们提供的宝贵意见; 最后,也是最重要的,感谢我曾经的和将来的学生们,是你们带给了我工作的乐趣和动力!
由于作者经验有限,加之时间仓促,书中难免会有谬误之处,请读者不吝批评指正。所有关于本书的意见,请发送电子邮件到信箱,希望在和读者交流的过程中能有所裨益。
编者2011年12月
图书目录
1章绪论
1.1嵌入式系统概述
1.1.1嵌入式系统的定义
1.1.2嵌入式系统的特点
1.1.3嵌入式系统的应用与发展
1.2嵌入式系统硬件设计
1.2.1概述
1.2.2设计流程
1.3嵌入式系统软件设计
1.3.1嵌入式系统软件架构
1.3.2嵌入式系统软件设计流程
1.3.3软硬件协同设计
1.4嵌入式系统开发形式
第2章背景与开发工具
2.1系统概述
2.2LPC2136处理器
2.2.1ARM7体系结构
2.2.2LPC2136片上资源
2.3Keil集成开发环境
2.3.1Keil开发环境
2.3.2Keil安装简介
2.3.3基于LPC2136的系统开发流程
2.4MSP430单片机
2.4.1MSP430单片机概述
2.4.2MSP430F161X系列单片机
2.5IAR集成开发环境
2.5.1IAR Embedded Workbench集成开发环境概述
2.5.2EW430安装简介
2.5.3EW430的系统开发流程
2.6JTAG工作原理
第3章需求分析与总体设计
3.1嵌入式系统设计流程
3.1.1需求分析的主要问题
3.1.2嵌入式处理器选型
3.1.3系统软硬件功能分配
3.1.4系统结构设计
3.1.5嵌入式系统工艺设计
3.1.6抗干扰设计
3.1.7嵌入式系统工业设计
3.2系统需求分析
3.2.1硬件需求分析
3.2.2软件需求分析
3.3总体设计
3.3.1核心板设计
3.3.2主板硬件模块设计
3.3.3主板跳线器设计
3.4LPC2136核心板设计与实现
3.4.1LPC2136核心板设计
3.4.2LPC2136核心板原理说明
3.4.3LPC2136核心板跳线说明
3.5MSP430核心板设计与实现
3.5.1MSP430核心板设计
3.5.2MSP430核心板原理说明
3.5.3MSP430核心板跳线说明
3.6仿真器设计与实现
3.6.1JTAG仿真器
3.6.2H?JTAG仿真器
3.6.3仿真器的使用
第4章开发框架和公共模块
4.1开发框架
4.2GPIO介绍
4.2.1LPC2136处理器GPIO介绍
4.2.2MSP430F1611处理器GPIO介绍
4.3SPI模块介绍
4.3.1LPC2136的SPI接口
4.3.2MSP430F1611的SPI接口
4.4模拟总线介绍
第5章典型电路设计与软件分析
5.1步进电机
5.1.1工作原理
5.1.2电路介绍
5.1.3软件设计
5.2UART模块
5.2.1UART工作原理概述
5.2.2UART模块结构
5.2.3SP3232及UART模块电路简介
5.2.4UART模块编程示例
5.3IIC总线
5.3.1IIC概述
5.3.2IIC模块结构
5.3.3EEPROM存储器简介
5.3.4IIC模块编程示例
5.4点阵型LCD
5.4.1工作原理
5.4.2电路设计
5.4.3软件设计
5.5TFT型LCD
5.5.1工作原理
5.5.2电路介绍
5.5.3软件设计
5.6温度传感器
5.6.1工作原理
5.6.2电路介绍
5.6.3软件设计
5.7实时时钟
5.7.1实时时钟概述
5.7.2实时时钟模块结构
5.7.3RTC模块编程示例
5.8脉宽调制器
5.8.1脉宽调制器概述
5.8.2PWM模块结构
5.8.3PWM模块编程示例
5.9看门狗
5.9.1看门狗工作原理
5.9.2看门狗模块结构
5.9.3看门狗编程示例
5.10模数/数模转换
5.10.1工作原理
5.10.2LPC2136的A/D模块介绍
5.10.3LPC2136的D/A模块介绍
5.10.4电路硬件结构
5.10.5软件设计
5.11PS/2接口
5.11.1PS/2接口工作原理
5.11.2PS/2键盘编码与命令集
5.11.3硬件结构
5.11.4软件设计与代码分析
5.12MP3音乐播放
5.12.1MP3文件格式
5.12.2电路介绍
5.12.3软件设计
5.13SD卡
5.13.1SD卡原理
5.13.2电路介绍
5.13.3软件设计
5.14USB接口
5.14.1USB接口
5.14.2USB协议
5.14.3USB控制芯片介绍
5.14.4电路设计
5.14.5软件设计
5.15CAN总线
5.15.1CAN总线概述
5.15.2CAN协议概述
5.15.3CAN总线控制器SJA1000概述
5.15.4实验使用的通信协议及主要程序分析
第6章基于Proteus的硬件模块仿真
6.1蜂鸣器与继电器
6.1.1工作原理
6.1.2电路介绍
6.1.3软件设计
6.1.4Proteus仿真
6.2键盘
6.2.1工作原理
6.2.2电路介绍
6.2.3软件设计
6.2.4Proteus仿真
6.3LED与数码管
6.3.1工作原理
6.3.2电路介绍
6.3.3软件设计
6.3.4Proteus仿真
6.4LED点阵
6.4.1工作原理
6.4.2电路介绍
6.4.3软件设计
6.4.4Proteus仿真
6.5字符型LCD
6.5.11602工作原理
6.5.21602工作环境和主要操作
6.5.3电路介绍
6.5.4软件设计
6.5.5Proteus仿真
第7章综合实例
7.1实例需求和设计
7.2代码分析
第8章工具软件介绍
8.1Altium Designer介绍
8.1.1Altium Designer嵌入式系统简介
8.1.2PCB设计入门
8.2Proteus简介
8.2.1Proteus开发环境简介
8.2.2基于Proteus的仿真电路设计流程
8.2.3Proteus程序设计实例
8.3必要的工具软件
8.3.1H?JTAG
8.3.2串口通信工具
8.3.3USB调试工具
8.3.4图像转换工具
8.3.5MP3音频转换工具
参考文献