第1部分 硬件典型模块 3
第1章 基于ARM的最小系统模块 3
1.1 嵌入式系统简介 3
1.1.1 嵌入式系统的概念 3
1.1.2 嵌入式系统的结构 3
1.1.3 嵌入式系统的特点 5
1.1.4 嵌入式系统的发展趋势 6
1.2 最小系统结构及框图 7
1.3 最小系统的电源设计 8
1.4 最小系统的时钟系统设计 14
1.5 最小系统的复位系统设计 17
1.6 最小系统的存储器系统设计 20
1.7 最小系统的软件设计 24
1.7.1 ARM嵌入式操作系统简介及选择 24
1.7.2 基于μCLinux操作系统的设计 27
1.7.3 BootLoader 33
第2章 Flash存储器模块 59
2.1 Flash模块功能简介 59
2.2 Flash器件的分类 60
2.3 Flash存储器的硬件设计 62
2.3.1 常见Flash存储器简介 62
2.3.2 Flash存储器接口电路 66
2.4 Flash存储器的操作 67
2.4.1 Flash器件的编程操作 67
2.4.2 Flash器件的擦除操作 68
2.4.3 Flash存储器的操作检测 69
2.4.4 Flash存储器的编程方法 70
2.5 用16位Flash芯片构成32位存储系统 71
2.6 应用程序设计 72
3.1 SDRAM模块功能简介 77
第3章 SDRAM模块 77
3.2 SDRAM的结构特点 78
3.2.1 DRAM器件的结构特点 78
3.2.2 SDRAM器件的构成原理和应用特点 79
3.3 SDRAM的内部操作 80
3.4 常见的SDRAM器件简介 84
3.5 SDRAM的硬件设计 85
3.5.1 SDRAM的接口电路 85
3.5.2 用16位SDRAM芯片构成32位存储系统 86
3.6 SDRAM存储器软件设置 88
3.6.1 地址分配 88
3.6.2 寄存器设置 89
3.7 应用程序设计 92
4.2.1 JTAG接口的主要结构 95
4.2 JTAG接口的结构 95
4.1 JTAG调试接口简介 95
第4章 JTAG调试接口模块 95
4.2.2 JTAG引脚定义 97
4.3 JTAG接口的内部操作 98
4.3.1 边界扫描 98
4.3.2 TAP控制器 99
4.3.3 指令寄存器、数据寄存器和公共指令 107
4.4 JTAG接口的定义 108
4.5 JTAG接口的应用 109
4.6 在Windows 2000下使用JTAG 110
第5章 串行口模块 113
5.1 串行口模块简介 113
5.1.1 串行通信概述 113
5.1.2 串行通信分类 113
5.1.3 串行通信制式 115
5.2.1 RS-232C电气特性 116
5.2 RS-232C接口 116
5.2.2 电平转换 117
5.2.3 连接器的机械特性 117
5.2.4 RS-232C信息标准格式 118
5.2.5 RS-232C接口信号 119
5.3 ARM串行通信 120
5.4 UART寄存器 123
5.5 应用程序设计 126
第6章 LCD接口模块 145
6.1 LCD功能模块简介 145
6.2 LCD的基本原理 145
6.3 LCD的分类和性能对比 146
6.3.1 TN-LCD与STN-LCD 147
6.3.2 TFT-LCD 147
6.4 直接驱动法 148
6.4 LCD的驱动原理 148
6.4.2 有源驱动法 150
6.5 S3C44BOX的内部LCD控制器 150
6.5.1 LCD控制器的信号 151
6.5.2 LCD控制器的寄存器 152
6.5.3 内置LCD控制器的应用 154
6.6 应用程序设计 155
第7章 I2C接口模块 187
7.1 I2C总线简介 187
7.1.1 I2C总线简介 187
7.1.2 I2C总线概念 188
7.2 I2C总线的基本原理 189
7.2.1 I2C总线的接口电路 189
7.2.2 I2C总线的构成及信号类型 190
7.2.3 I2C总线的特点 190
7.2.4 I2C总线上的数据传输格式 191
7.2.5 I2C总线的寻址约定 193
7.3 I2C总线控制器工作原理 195
7.3.1 功能描述 195
7.3.2 I2C总线寻址 196
7.3.3 I2C总线特殊功能寄存器 197
7.4 应用程序设计 199
第8章 AD/DA转换模块 219
8.1 A/D转换模块功能简介 219
8.1.1 A/D转换基础 219
8.1.2 A/D转换的技术指标 219
8.2 A/D转换器类型 221
8.2.1 积分型A/D转换器 221
8.2.2 逐次逼近型A/D 222
8.2.3 并行比较/串行比较型A/D 223
8.3 ARM的外接A/D转换器 225
8.3.1 ADC0809简介 225
8.2.4 电容阵列逐次比较型 225
8.2.5 压频变换型 225
8.3.2 ADC0809与ARM的连接方法 226
8.4 ARM自带A/D转换器 227
8.4.1 ARM自带A/D转换器简介 227
8.4.2 ARM自带ADC的转换时间 228
8.4.3 ARM自带ADC的分辨率计算 228
8.4.4 ARM自带ADC的相关寄存器 228
8.4.5 ARM自带A/D编程 229
8.5 D/A转换功能简介 230
8.5.1 D/A转换基础 230
8.5.2 D/A转换基本原理 231
8.5.3 T型电阻网络型D/A转换器 231
8.5.4 权电阻网络型D/A转换器 232
8.5.5 D/A转换的技术指标 233
8.6 ARM连接D/A转换器 234
8.6.1 常用D/A转换器DAC0832简介 234
8.6.2 ARM与DAC0832连接方法 235
8.7 应用程序设计 235
第9章 大屏幕LED系统硬件模块 239
9.1 LED大屏幕概述 239
9.1.1 LED大屏幕的应用 239
9.1.2 LED大屏幕的发展现状及趋势 239
9.1.3 LED大屏幕显示原理 240
9.2 系统总体设计 241
9.2.1 系统总体结构图 241
9.2.3 LED显示驱动 242
9.2.2 LED异步显示系统的构成 242
9.2.4 74HC595的编程 244
9.3 系统的硬件设计 245
9.3.1 系统硬件的组成 245
9.3.2 基于ARM的嵌入式微控制器 245
9.3.3 系统的复位设计 250
9.3.4 系统电源电路 251
9.3.5 系统晶振电路 251
9.3.6 系统Flash存储器接口电路 252
9.3.7 系统SDRAM电路 254
9.3.8 系统网络接口设计 256
9.4 硬件调试 257
9.4.1 硬件调试概述 257
9.4.4 SDRAM接口电路调试 258
9.5 应用程序设计 258
9.4.3 Flash接口电路调试 258
9.4.2 电源、晶振、复位电路的调试 258
第2部分 软件典型模块 273
第10章 基于μC/OS-II的系统设计 273
10.1 μC/OS-II的移植 273
10.1.1 μC/OS-II简介 273
10.1.2 ARM体系结构简介 274
10.1.3 移植工作的简单介绍 276
10.2 μC/OS-II程序设计基础 279
10.2.1 嵌入式应用系统中的存储映射 280
10.2.2 系统初始化 280
10.2.3 C/C++以及汇编语言的混合编程基础 281
10.2.4 基于μC/OS-II扩展RTOS的体系结构 285
10.3 基于μC/OS-II的程序设计实例 290
10.3.1 设计思路 290
10.3.2 源代码 291
10.4 技术要点 297
第11章 ARM开发环境ADS 1.2 299
11.1 ADS 1.2简介 299
11.1.1 命令行开发工具 299
11.1.2 ARM运行时库 302
11.1.3 GUI开发环境(Code Warrior和AXD) 304
11.1.4 实用程序 305
11.1.5 支持的软件 306
11.2 使用ADS 1.2的系统开发实例 306
11.2.1 建立一个工程 306
11.2.2 编译和链接工程 310
11.2.3 使用命令行工具编译应用程序 314
11.3 ADS 1.2的程序调试 315
11.3.1 在AXD中打开调试文件 315
11.3.2 查看存储器内容 316
11.3.3 设置断点 316
11.3.4 查看变量值 317
11.4 本章小结 318
第12章 ARM开发环境SDT 2.5 319
12.1 SDT 2.5简介 319
12.1.1 ARM仿真器的流程简介 319
12.1.2 相关重要概念 320
12.1.3 APM开发工具 321
12.2 SDT 2.5的程序调试 326
12.2.1 环境简介 326
12.2.2 工具配置和调试 327
12.3 使用SDT 2.5的系统开发实例 330
12.3.1 设计思路 330
12.3.2 源代码 331
12.4 本章小结 335
13.1.1 GPS全球定位系统 339
13.1 GPS全球定位系统简介 339
第13章 GPS接收系统扩展 339
第3部分 系统扩展模块 339
13.1.2 GPS卫星信号的构成 342
13.1.3 GPS系统的定位原理 343
13.2 GPS接收系统硬件设计 344
13.2.1 系统原理图 344
13.2.2 射频前端GP2015 346
13.2.3 相关通道与ARM7TDMI的结合GP4020 347
13.2.4 GP2015与GP4020接口电路设计 351
13.2.5 存储及接口设计 351
13.2.6 部分外围接口电路设计 352
13.3 GPS接收系统软件设计 357
13.3.1 软件结构框架 357
13.3.2 BootLoader 359
13.3.3 TCP/UDP套接字服务程序设计 362
13.4.1 高频通道的测试 366
13.4 系统集成与调试 366
13.4.2 软件的调试 367
13.5 项目开发经验交流 368
第14章 DSP芯片扩展 369
14.1 DSP简介 369
14.1.1 什么是DSP 369
14.1.2 DSP的发展与现状 370
14.1.3 DSP的结构 371
14.1.4 TMS320C32芯片 372
14.1.5 TMS320C32软件特点 373
14.1.6 TMS320C6414的结构及特点 373
14.1.7 DSP+ARM的嵌入式图像处理系统 374
14.2 系统总体设计 374
14.2.1 系统总体功能框图 374
14.3 DSP图像采集处理模块设计 375
14.3.1 模块功能简介 375
14.2.3 ARM实时控制及传输模块主要功能 375
14.2.4 FPGA协同处理模块的主要功能 375
14.2.2 DSP图像处理模块主要功能 375
14.3.2 DSP时钟频率及启动配置方案 377
14.3.3 DSP与存储器的接口 377
14.3.4 ARM实时控制及传输模块设计 378
14.4 DSP与ARM的协同接口设计 382
14.4.1 模块主要功能及基本构架 382
14.4.2 协同接口模块接口设计 383
14.5 其余器件设计 384
14.5.1 存储器设计 384
14.5.2 FPGA设计 385
14.5.3 网络控制模块 387
14.6 应用程序设计 390