当前位置:首页 > 工业技术
32位ARM微控制器系统设计与实践  基于Luminary Micro LM3S系列CortexM3内核
32位ARM微控制器系统设计与实践  基于Luminary Micro LM3S系列CortexM3内核

32位ARM微控制器系统设计与实践 基于Luminary Micro LM3S系列CortexM3内核PDF电子书下载

工业技术

  • 电子书积分:15 积分如何计算积分?
  • 作 者:黄智伟编著
  • 出 版 社:北京:北京航空航天大学出版社
  • 出版年份:2010
  • ISBN:9787512400306
  • 页数:454 页
图书介绍:本书分9章,系统介绍了Luminary Micro LM3S 系列32位ARM微控制器的体系结构、ARM Cortex-M3内核、Stellaris驱动库、系统控制单元、存储器、输入/输出设备接口、总线接口、网络接口以及EasyARM开发板与外围模块的连接与编程。每章都附有思考题与习题,提供免费电子课件。
《32位ARM微控制器系统设计与实践 基于Luminary Micro LM3S系列CortexM3内核》目录

第1章 32位LM3S系列微控制器 1

1.1 LM3S系列微控制器简介 1

1.2 LM3S系列微控制器最小系统设计 4

1.2.1 LM3S101最小系统 4

1.2.2 LM3S615最小系统 6

1.2.3 LM3S8962最小系统 9

1.2.4 LM3S5749最小系统 12

思考题与习题 17

第2章 ARM Cortex-M3体系结构 18

2.1 ARM Cortex-M3处理器内核 18

2.1.1 Cortex-M3内核的主要特点 18

2.1.2 功能描述 20

2.1.3 Cortex-M3与ARM7的性能比较 22

2.2 编程模型 23

2.2.1 编程模型 23

2.2.2 特权访问和用户访问 24

2.2.3 寄存器 26

2.2.4 数据类型 29

2.2.5 存储器格式 29

2.2.6 Cortex-M3指令集 30

2.3 存储器映射 32

2.3.1 存储器映射、接口和存储范围 32

2.3.2 位操作 34

2.3.3 ROM存储器表 35

2.4 系统异常 36

2.4.1 异常模式 36

2.4.2 异常类型 37

2.4.3 异常优先级 38

2.4.4 异常占先 40

2.4.5 末尾连锁 41

2.4.6 异常迟来 41

2.4.7 异常退出 42

2.4.8 复位 44

2.4.9 其他系统中断 46

2.5 嵌套向量中断控制器 48

2.5.1 NVIC的中断与异常控制的结构 48

2.5.2 NVIC寄存器映射 49

2.5.3 外部中断 50

2.5.4 系统异常 54

2.5.5 系统定时器 62

2.5.6 系统故障 64

2.6 存储器保护单元 66

2.6.1 MPU概述 66

2.6.2 MPU编程器模型 66

2.6.3 MPU访问权限 71

2.6.4 MPU异常中止 72

2.6.5 更新MPU区域 72

2.6.6 中断和更新MPU 74

2.7 调试和跟踪 74

2.7.1 Cortex-M3跟踪系统 74

2.7.2 JTAG接口电路 76

2.7.3 IAR EWARM集成开发环境和LM LINK调试器 76

2.8 总线矩阵和接口 77

思考题与习题 77

第3章 Stellaris驱动库 79

3.1 Stellaris驱动库简介 79

3.1.1 驱动程序的功能 79

3.1.2 驱动程序库支持的工具链 80

3.1.3 驱动程序库源代码的组织结构 80

3.2 引导代码 81

3.3 常用的Stellaris驱动库API函数 82

3.4 实用函数 83

3.5 错误处理 84

3.6 Boot Loader 85

3.7 编译代码 86

3.7.1 需要的软件 86

3.7.2 用Keil μVision编译 87

3.7.3 用IAR Embedded Workbench编译 87

3.7.4 从命令行编译 87

3.8 工具链 90

3.8.1 编译器 90

3.8.2 调试器 92

3.9 Stellaris驱动库编程示例 93

3.9.1 硬件类型定义 93

3.9.2 通用输入/输出端口 95

思考题与习题 100

第4章 LM3S系列微控制器的系统控制单元 100

4.1 系统控制寄存器 102

4.1.1 系统控制寄存器映射 102

4.1.2 器件标识和功能寄存器 103

4.2 复位控制 104

4.2.1 复位源 104

4.2.2 RST引脚复位 104

4.2.3 上电复位 105

4.2.4 掉电复位 106

4.2.5 软件复位 107

4.2.6 看门狗定时器复位 109

4.3 片内输出电压调整 110

4.4 时钟控制 110

4.4.1 基础时钟源 110

4.4.2 PLL的频率设置与编程 112

4.5 电源管理 118

4.5.1 处理器的4种模式 118

4.5.2 处理器的睡眠机制 119

4.5.3 与睡眠模式相关的寄存器 120

4.5.4 睡眠模式和深度睡眠模式的设置 120

4.6 系统控制模块的中断 121

4.7 休眠模块 122

4.7.1 休眠模块的特性与结构 122

4.7.2 休眠模块寄存器映射与访问时序 124

4.7.3 休眠模块时钟源 124

4.7.4 休眠模块电池管理 125

4.7.5 休眠模块实时时钟 125

4.7.6 休眠模块电源控制 126

4.7.7 休眠模块中断和状态 126

4.7.8 休眠模块非易失性存储器 127

4.7.9 休眠模块的配置 127

4.7.10 休眠模块的示例程序 129

4.8 通用定时器 130

4.8.1 GPTM工作模式与结构 130

4.8.2 GPTM寄存器映射 131

4.8.3 功能描述 132

4.8.4 GPTM复位条件 134

4.8.5 32位定时器操作模式 135

4.8.6 16位定时器操作模式 141

4.8.7 GPTM初始化和配置 144

4.8.8 GPTM示例程序 147

4.9 看门狗定时器 151

4.9.1 WDT模块结构 151

4.9.2 寄存器映射 152

4.9.3 功能描述 152

4.9.4 初始化和配置步骤 155

4.9.5 WDT示例程序 155

思考题与习题 158

第5章 存储器 159

5.1 LM3S系列微控制器内部存储器 159

5.1.1 存储器系统结构 159

5.1.2 寄存器映射 159

5.1.3 SRAM存储器的功能描述 161

5.1.4 Flash存储器的功能描述 161

5.1.5 Flash初始化和配置 169

5.1.6 Flash擦除与编程示例程序 170

5.2 串行NOR Flash 172

5.2.1 串行NOR Flash简介 172

5.2.2 串行NOR Flash SST25VF016B 173

5.2.3 SST25VF016B的操作软件包 176

5.2.4 串行NOR Flash编程 177

5.2.5 串行NOR Flash示例程序 189

5.3 串行E2PROM 190

5.3.1 串行E2PROM CAT24C02 190

5.3.2 模拟I2C软件包 191

5.3.3 串行E2PROM示例程序 192

5.4 SD/MMC卡 194

5.4.1 SD/MMC卡简介 194

5.4.2 SD/MMC卡接口电路 198

5.4.3 SD/MMC卡读/写模块 199

思考题与习题 199

第6章 输入/输出设备接口 201

6.1 通用输入/输出端口 201

6.1.1 GPIO模块基本特性 201

6.1.2 寄存器映射 201

6.1.3 数据操作 203

6.1.4 中断操作 204

6.1.5 模式控制 206

6.1.6 确认控制 207

6.1.7 引脚配置 208

6.1.8 初始化和配置 211

6.1.9 GPIO示例程序 212

6.2 模/数转换器 215

6.2.1 ADC模块的特性与结构 215

6.2.2 ADC寄存器映射 216

6.2.3 采样设置 217

6.2.4 模块控制 221

6.2.5 硬件采样平均电路 224

6.2.6 测试模式 224

6.2.7 内部温度传感器 224

6.2.8 初始化和配置 225

6.2.9 ADC示例程序 226

6.3 模拟比较器 227

6.3.1 模拟比较器内部结构 227

6.3.2 寄存器映射 228

6.3.3 比较器配置 228

6.3.4 比较器中断 229

6.3.5 比较器的工作模式 230

6.3.6 内部参考电压编程 230

6.3.7 初始化和配置 231

6.3.8 模拟比较器的示例程序 231

6.4 脉宽调制器 233

6.4.1 脉宽调制器内部结构 233

6.4.2 寄存器映射 234

6.4.3 PWM定时器 235

6.4.4 PWM比较器 236

6.4.5 PWM信号发生器 238

6.4.6 死区发生器 239

6.4.7 中断/ADC触发选择器 240

6.4.8 同步方法 241

6.4.9 故障状态 242

6.4.10 输出控制模块 243

6.4.11 初始化和配置 243

6.4.12 PWM示例程序 245

6.5 正交编码器接口 249

6.5.1 正交编码器接口的特性与内部结构 249

6.5.2 寄存器映射 250

6.5.3 功能描述 251

6.5.4 初始化和配置 253

6.5.5 QEI示例程序 254

思考题与习题 255

第7章 总线接口 257

7.1 通用异步收发器 257

7.1.1 UART特性与内部结构 257

7.1.2 寄存器映射 259

7.1.3 UART控制 259

7.1.4 波特率的产生 261

7.1.5 数据收发 262

7.1.6 IrDA串行红外编码器/解码器模块 266

7.1.7 FIFO操作 268

7.1.8 中断 270

7.1.9 回环操作 273

7.1.10 初始化和配置 273

7.1.11 UART示例程序 274

7.1.12 RS-232接口电路 277

7.1.13 RS-485接口电路与编程 278

7.1.14 IrDA红外接口电路与编程 282

7.2 同步串行接口 285

7.2.1 同步串行接口特性与内部结构 285

7.2.2 寄存器映射 286

7.2.3 SSI控制 287

7.2.4 FIFO操作 290

7.2.5 SSI中断 291

7.2.6 初始化和配置 293

7.2.7 SSI示例程序 294

7.3 I2C接口 298

7.3.1 I2C接口模块内部结构 298

7.3.2 寄存器映射 300

7.3.3 I2C总线功能 300

7.3.4 时钟速率 303

7.3.5 中断 304

7.3.6 回环操作 306

7.3.7 I2C主机命令序列 306

7.3.8 主机收发形式 309

7.3.9 I2C从机命令序列 312

7.3.10 初始化和配置 314

7.3.11 I2C示例程序 314

7.4 USB接口 314

7.4.1 通用串行总线控制器 314

7.4.2 USB模块内部结构 315

7.4.3 用作USB设备 316

7.4.4 用作USB主机 321

7.4.5 USB初始化和配置 324

7.4.6 USB寄存器映射 325

7.4.7 USB控制器的API函数 329

7.4.8 USB与uDMA控制器 332

思考题与习题 336

第8章 网络接口 339

8.1 控制器局域网 339

8.1.1 CAN模块的特性与内部结构 339

8.1.2 CAN初始化 341

8.1.3 CAN操作 342

8.1.4 CAN发送 342

8.1.5 CAN接收 344

8.1.6 中断处理 346

8.1.7 CAN位处理 347

8.1.8 CAN的寄存器映射 350

8.1.9 CAN-bus接口电路与编程 352

8.2 以太网控制器 354

8.2.1 以太网控制器特性与内部结构 354

8.2.2 功能描述 355

8.2.3 初始化和配置 359

8.2.4 以太网寄存器映射 359

8.2.5 以太网接口电路与编程 361

思考题与习题 362

第9章 EasyARM开发板与常用外围模块的连接与编程9.1 EasyARM开发板与液晶显示器模块的连接与编程 363

9.1.1 RT12864M汉字图形点阵液晶显示模块简介 363

9.1.2 EasyARM开发板与RT12864M的连接 364

9.1.3 RT12864M汉字图形点阵液晶显示模块编程示例 365

9.2 EsayARM开发板与触摸屏模块的连接与编程 371

9.2.1 触摸屏模块简介 371

9.2.2 EasyARM开发板与触摸屏模块的连接 371

9.2.3 触摸屏模块的编程示例 371

9.3 EsayARM开发板与数/模转换器的连接与编程 383

9.3.1 数/模转换器MAX502简介 383

9.3.2 数/模转换器的编程 383

9.4 EasyARM开发板与DDS AD9850模块的连接与编程 386

9.4.1 DDS AD9850模块简介 386

9.4.2 EasyARM开发板与DDS AD9850模块的连接 388

9.4.3 DDS AD9850模块的编程示例 388

9.5 EasyARM开发板与超声波测距模块的连接与编程 393

9.5.1 URM37V3.2超声波测距模块简介 393

9.5.2 EasyARM开发板与URM37V3.2的连接 395

9.5.3 超声波测距模块的编程示例 395

9.6 EasyARM开发板与无线收发模块的连接与编程 405

9.6.1 nRF905无线收发模块简介 405

9.6.2 EasyARM开发板与nRF905无线收发模块的连接 407

9.6.3 无线收发模块的编程示例 408

9.7 EasyARM开发板与步进电机驱动模块的连接与编程 424

9.7.1 步进电机驱动模块简介 424

9.7.2 EasyARM开发板与步进电机驱动模块的连接 426

9.7.3 步进电机驱动模块的编程示例 426

9.8 EasyARM开发板之间的数据传输 436

9.8.1 EasyARM开发板之间的接口电路 436

9.8.2 EasyARM开发板之间的数据传输编程示例 436

思考题与习题 444

参考文献 454

相关图书
作者其它书籍
返回顶部