《嵌入式产品分析与设计》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:王真星著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2013
  • ISBN:9787121206184
  • 页数:374 页
图书介绍:本书的特点在于鼓励读者亲自动手做,从嵌入式工程的实际需要出发,全面结合了当代嵌入式系统项目开发所必须掌握的要素。这些要素是项目开发不可缺少的组成部分。由于本书以具体项目为主线,使读者有一种融会贯通的感觉。这些基本要素包括了软件和硬件领域最先进的开发思想和方法。当今的嵌入式系统复杂性和以往的单片机是不可比拟的,因此,必须借鉴现代软件工程的方法,使项目的开发可以由多人分工合作完成,从而在最短的时间做出产品,快速占领市场。

第1章 把好两头是关键——输入与输出基础知识 1

1.1 输出 2

1.1.1 最简单的I/O输出 2

1.1.2 感性负载对I/O输出的影响 3

1.1.3 隔离输出 4

1.1.4 输出电压匹配 6

1.2 输入 7

1.2.1 输入上拉电阻的确定 7

1.2.2 模拟输入的问题 9

1.2.3 模拟输入的等效网络 10

1.2.4 模拟小信号处理 11

第2章 最简单的例子——足疗机控制器设计 14

2.1 功能需求分析 15

2.1.1 人机输入分析 15

2.1.2 运行模式分析 16

2.1.3 电路板组成部分分析 17

2.1.4 足疗控制器功能划分 20

2.2 基于成本约束的控制电路板原理图设计 20

2.2.1 成本控制相关的考虑 20

2.2.2 CPU控制板的设计 21

2.3 CPU控制板的PCB设计 22

2.3.1 PCB及贴片的成本考虑 22

2.3.2 焊接要求 23

2.4 价格成本核算 24

2.5 控制器开关电源设计 26

2.5.1 线性电源的设计 26

2.5.2 开关电源设计基本原理 27

2.5.3 用PI Expert设计足疗机的开关电源变压器 30

2.5.4 开关变压器的设计 37

2.5.5 控制集成电路部分 40

2.5.6 开关电源的PCB设计 44

2.6 控制器其他部分设计 45

2.7 给PCB代工厂提交的资料 48

2.8 足疗机软件设计 51

2.8.1 红外通信设计 52

2.8.2 PWM产生 56

2.8.3 定时扫描显示 57

2.8.4 键盘处理程序 61

2.8.5 间断运行模式程序 62

2.8.6 定位程序 64

2.8.7 主控子程序 65

2.8.8 主控程序 70

第3章 更进一步——乒乓发球机产品设计 74

3.1 需求分析 75

3.1.1 遥控器需求分析 76

3.1.2 主板需求分析 77

3.2 硬件功能设计和实现 79

3.2.1 落点的实现 79

3.2.2 发球个数的实现 81

3.2.3 红外接收的实现 83

3.2.4 供球电动机正反转和调速的实现 84

3.3 主控板硬件原理图设计 90

3.4 红外遥控发射硬件设计 94

3.4.1 遥控器硬件要求分析 94

3.4.2 液晶的选择 94

3.4.3 遥控器主板设计 95

3.4.4 遥控器红外发射的调制 97

3.4.5 遥控器的外观 98

3.5 软件设计规划 99

3.5.1 合理安排中断优先级 99

3.5.2 主控程序总体结构 101

第4章 质的飞跃——从单片机到ARM产品开发 110

4.1 嵌入式系统和ARM 111

4.1.1 JTAG接口 112

4.1.2 JTAG标准 112

4.1.3 JTAG硬件控制器 113

4.2 JTAG仿真器制作 114

4.2.1 ARM的调试结构 114

4.2.2 JTAG仿真环境 114

4.2.3 自制简易仿真器 115

4.2.4 JTAG仿真器硬件制作 115

4.2.5 JTAG仿真器驱动软件 120

4.3 ADS开发套件 124

4.3.1 在ADS 1.2 中使用简易JTAG仿真头调试 124

4.3.2 ADS中程序的调试 128

4.4 ARM启动代码和Bootloader 130

4.4.1 启动代码主要构成 131

4.4.2 启动代码实例分析 133

4.5 从ADS1.2 至Realview MDK 140

4.5.1 工具结构的改进 140

4.5.2 分散加载文件 142

4.5.3 C库函数的差异 143

4.5.4 开发环境迁移实例 143

第5章 ARM常用外设接口 149

5.1 SPI接口 150

5.2 模块式LCD的SPI接口设计 151

5.2.1 128×64点阵显示器 151

5.2.2 模块引脚说明 152

5.2.3 模块式LCD硬件连接 154

5.2.4 模块式LCD内部存储器 155

5.2.5 SPI接口LCD显示程序 158

5.3 SPI Flash Memory编程 164

5.3.1 SPI Flash硬件接口 164

5.3.2 AT45DB041的软件接口函数 166

5.4 I2C接口 170

5.4.1 上拉电阻与传输速率 171

5.4.2 I2C总线三种信号 172

5.4.3 软件仿真I2C示例 174

5.4.4 带I2C硬件控制器的程序 179

第6章 基于STM32的室内导航家用拖地机 181

6.1 对mint5200进行拆解 183

6.2 设计方案 185

6.2.1 外观的修改 185

6.2.2 机械设计 186

6.2.3 室内导航方案的选择 187

6.2.4 导航系统方案设计 188

6.2.5 红外通信方案设计 192

6.2.6 保证直线行走的设计方案 194

6.2.7 方案的合理性分析 195

6.3 总体设计 197

6.4 硬件设计 198

6.5 软件设计 204

6.5.1 关于STM32固件库 204

6.5.2 异常信号的处理 204

6.5.3 电动机控制部分 206

6.5.4 红外和噪声波载波发生 208

6.5.5 PID电动机速度控制 210

6.5.6 MPU6050陀螺仪及姿态解算 214

6.5.7 有关清洁覆盖算法分析 216

6.5.8 规则动作库 220

6.6 拖地机产品样机 221

6.7 拖地机专利撰写举例 222

第7章 基于OS层面ARM必备知识——嵌入式Linux文件系统 227

7.1 Linux文件系统简介 228

7.1.1 ext2和INODE 229

7.1.2 虚拟文件系统(VFS) 230

7.2 注册文件系统 233

7.3 安装文件系统 233

7.4 在虚拟文件系统中搜寻文件 235

7.5 卸载文件系统 235

7.6 /proc文件系统 235

7.7 设备特殊文件 236

7.8 常见的Flash文件系统 236

7.8.1 Flash的特点 236

7.8.2 JFFS2 238

7.8.3 YAFFS文件系统 240

7.9 根文件系统 240

第8章 将设备联网——嵌入式Web Server的实现 245

8.1 Web基础知识 246

8.1.1 HTTP协议 246

8.1.2 HTTP请求 246

8.1.3 HTTP应答 247

8.2 面向电子商务的B/S结构 248

8.3 Web Server制作网页 249

8.4 CGI工作原理 250

8.4.1 环境变量 251

8.4.2 CGI标题和GET/POST 252

8.4.3 CGI程序的开发 254

8.4.4 几种常用数据库接口 255

8.4.5 几种常用CGI及其Web开发语言 255

8.5 JavaScript脚本 257

8.5.1 JavaScript的语句及语法 259

8.5.2 JavaScript编程举例 262

8.6 socket通信 264

8.6.1 TCP Socket编程举例 266

8.6.2 UDP Socket编程举例 271

8.6.3 HTTP请求中Client与Server的交互过程 275

8.6.4 一个简单的Web服务器例子 276

8.7 嵌入式Web服务器Boa的特点 280

8.7.1 Boa的功能实现 281

8.7.2 Boa的移植步骤 284

8.7.3 CGIC库的移植 286

8.7.4 HTML模板的制作 287

8.7.5 一个综合的Web测试实验 288

8.8 通过网络远程控制开发板上的灯 301

第9章 基于Linux的家庭网关设计 306

9.1 产品开发背景 307

9.2 功能需求 307

9.3 家庭网关设计 309

9.3.1 网络通信设计 310

9.3.2 网关软件架构 311

9.3.3 关于视频硬件设计 312

9.3.4 系统整体的硬件设计 312

9.3.5 家庭网关系统包含的软件 313

9.4 硬件平台设计 315

9.5 嵌入式Web开发概述 317

9.5.1 Mizi Linux 317

9.5.2 Boa小型Web服务器 317

9.5.3 SQLite轻型数据库 318

9.5.4 网关的软件平台构造 318

9.6 软件环境搭建步骤 319

9.6.1 烧写Mizi Linux 319

9.6.2 搭建交叉编译环境 319

9.6.3 Boa移植 319

9.6.4 SQLite移植 321

9.6.5 SQLite使用方法与常用命令 322

9.6.6 建立数据库 323

9.7 CGI程序设计与实现 326

9.7.1 CGI与客户端的通信机制 326

9.7.2 程序中读写SQLite数据库 330

9.7.3 RS-485串口读写 333

9.7.4 指令格式定义 337

9.7.5 CGI脚本举例 340

9.8 前台网页设计与实现 342

9.8.1 HTML简介 342

9.8.2 CSS简介 344

9.8.3 JavaScript简介 347

9.8.4 Ajax技术 350

9.9 网关使用说明书 355

9.9.1 产品概述 355

9.9.2 用户登录 356

9.9.3 主界面 356

9.9.4 家电控制 357

9.9.5 系统设置 360

9.1 0家庭网关产品的知识产权保护问题 365

参考文献 371