《嵌入式微计算机系统 实时接口技术》PDF下载

  • 购买积分:20 如何计算积分?
  • 作  者:(美)Jonathan W.Valvano著;李曦等译
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2003
  • ISBN:7111118022
  • 页数:715 页
图书介绍:本书将基本概念与丰富的应用实例分析相结合,为读者掌握嵌入式系统设计技术提供了有效的途径。

目录 1

译者序 1

前言 1

第1章 基于微计算机的系统 1

1.1 嵌入式计算机系统 1

1.1.1 应用 1

1.1.2 软件问题 4

1.1.3 存储映像体系结构 5

1.2 MC68HC05体系结构 7

1.2.1 MC68HC705J1A 7

1.2.2 MC68HC05C4 9

1.2.3 MC68HC05寄存器 9

1.2.4 MC68HC05寻址模式 10

1.3 MC68HC08体系结构 13

1.3.1 MC68HC708XL36介绍 13

1.3.2 MC68HC708XL36存储映像 14

1.3.3 MC68HC08寄存器 15

1.3.4 MC68HC08寻址模式 16

1.4 MC68HC11体系结构 19

1.4.1 MC68HC11家族 19

1.4.2 MC68HC11扩展模式 24

1.4.3 MC68HC11寄存器 26

1.4.4 MC68HC11寻址模式 27

1.4.5 MC68HC11 EEPROM的擦除与编程 30

1.5 MC68HC12体系结构 31

1.5.1 MC68HC12家族 31

1.5.2 MC68HC12扩展模式 36

1.5.3 MC68HC12寄存器 37

1.5.4 MC68HC12寻址模式 38

1.5.5 MC68HC12 EEPROM的擦除与编程 43

1.5.6 MC68HC912B32快EEPROM的擦除与编程 45

1.6 数字逻辑与集电极开路逻辑 46

1.7 初始化和访问I/O端口 51

1.7.1 I/O端口的地址和方向寄存器的基本概念 51

1.7.2 简单I/O软件 56

1.7.3 I/O示例 59

1.8 微计算机选择 61

1.9 词汇 63

1.10 习题 65

2.1 高质量的编程 71

第2章 软件开发 71

2.1.1 定量性能指标 72

2.1.2 定性性能指标 72

2.2 内存分配 72

2.3 自成文档的代码 75

2.4 抽象 78

2.4.1 定义 78

2.4.2 米勒型FSM 78

2.4.3 摩尔型FSM 81

2.5 模块化软件开发 82

2.5.1 模块 82

2.5.2 将软件任务划分为模块 86

2.5.3 使用汇编语言开发模块化软件的规则 89

2.6 层次化软件系统 90

2.7.1 设备驱动程序的基本概念 93

2.7 设备驱动程序 93

2.7.2 串行通信接口设备驱动程序 96

2.8 面向对象接口 100

2.8.1 使用标准C封装的对象 100

2.8.2 使用C++的面向对象接口 101

2.8.3 使用标准C和C++的可移植性 102

2.9 线程 104

2.9.1 单线程执行 104

2.9.2 多线程和重入 104

2.10 递归 106

2.11 调试策略 106

2.11.1 调试工具 106

2.11.2 调试理论 108

2.11.3 功能调试 109

2.11.4 性能调试 111

2.11.5 分析 113

2.12 词汇 115

2.13 习题 117

第3章 接口方法 119

3.1 概述 119

3.1.1 性能分析 119

3.1.2 软件与I/O状态的同步 120

3.1.3 各种可用的I/O端口 122

3.2 盲周期计数同步 124

3.2.1 盲周期打印机接口 124

3.2.2 盲周期ADC接口 125

3.3 Gadfly同步或忙等待同步 125

3.4 并行I/O接口示例 127

3.4.1 盲周期打印机接口 128

3.4.2 精确延时 130

3.4.3 盲周期ADC接口 131

3.4.4 使用锁存输入的Gadfly同步键盘接口 133

3.4.5 使用简单输入的Gadfly同步ADC接口 135

3.4.6 使用输入握手的Gadfly同步外部传感器接口 137

3.4.7 使用输出握手的Gadfly同步打印机接口 140

3.4.8 温度传感器的Gadfly同步串行接口 142

3.5 词汇 156

3.6 习题 157

第4章 中断同步 165

4.1 中断的概念 165

4.1.1 中断的定义 165

4.1.3 何时使用中断 167

4.1.2 中断服务程序 167

4.1.4 中断线程间的通信 168

4.2 可重入程序 172

4.3 先进先出队列 178

4.3.1 FIFO简介 178

4.3.2 使用双指针实现FIFO队列 179

4.3.3 使用双指针/计数器实现FIFO队列 183

4.3.4 使用索引实现FIFO队列 185

4.3.5 FIFO的动态特性 188

4.4 6805/6808/6811/6812中断的一般性质 189

4.4.1 6805的中断机制 190

4.4.2 6808的中断机制 191

4.4.3 6811的中断机制 191

4.4.4 6812的中断机制 192

4.5.1 MC6805中断向量和优先级 195

4.5 中断向量和优先级 195

4.5.3 MC68HC11A8中断向量和优先级 196

4.5.2 MC68HC708XL36中断向量和优先级 196

4.5.4 MC68HC812A4中断向量和优先级 198

4.5.5 MC68HC912B32中断向量和优先级 199

4.6 外部中断设计方法 200

4.7 轮询方式与向量中断的比较 202

4.8 使用中断的键盘接口 205

4.9 使用IRQ中断的打印机接口 208

4.10 使用?同步的电源系统接口 213

4.11 使用链表的中断轮询 215

4.11.1 使用链表的6811中断轮询 216

4.11.2 使用链表的6812中断轮询 217

4.12 使用中断请求线实现的固定优先级 219

4.14 循环轮询 220

4.13 使用XIRQ实现的固定优先级 220

4.15 周期轮询 222

4.15.1 使用6811 STRA的实时中断 222

4.15.2 6811 RTI 223

4.15.3 6812 RTI 224

4.15.4 6812定时器溢出中断 225

4.16 词汇 227

4.17 习题 228

第5章 线程 233

5.1 多线程抢占式调度器 233

5.1.1 循环调度器 234

5.1.2 其他调度算法 238

5.2.1 自旋锁信号量实现 239

5.2 信号量 239

5.1.3 线程的动态分配 239

5.2.2 阻塞信号量的实现 241

5.3 信号量的应用 244

5.3.1 线程同步或同步点 244

5.3.2 资源共享、不可重入代码或互斥 244

5.3.3 两个线程间使用邮箱进行线程通信 245

5.3.4 多个线程使用FIFO队列进行线程通信 245

5.4 词汇 246

5.5 习题 247

第6章 时钟生成和测量 249

6.1 输入捕获 249

6.1.1 输入捕获的基本原则 249

6.1.2 输入捕获详解 250

6.1.3 使用输入捕获实现实时中断 257

6.1.4 周期测量 260

6.1.5 脉冲宽度测量 269

6.2 输出比较 275

6.2.1 一般概念 275

6.2.2 输出比较详解 276

6.2.3 使用输出比较进行周期性中断 281

6.2.4 方波的产生 284

6.2.5 脉宽调制 287

6.2.6 延迟脉冲的产生 290

6.3 频率测量 291

6.3.1 频率测量的概念 291

6.3.2 分辨率为100 Hz的频率测量 291

6.4.1 使用周期测量来计算频率 293

6.4 频率和周期之间的转换 293

6.4.2 使用频率测量来计算周期 294

6.5 同时使用输入捕获和输出比较的测量 294

6.5.1 Δp为1ms的周期测量 294

6.5.2 Δf为0.1Hz的频率测量 297

6.6 词汇 300

6.7 习题 301

第7章 串行I/O设备 307

7.1 引言与定义 307

7.2 RS232规范 312

7.3 RS422/AppleTalk/RS423/RS485平衡差分线路 314

7.3.1 RS422输出规范 316

7.3.3 RS485半双工信道 317

7.3.2 RS422输入规范 317

7.4 其他通信协议 318

7.4.1 电流环路信道 318

7.4.2 调制解调器简介 318

7.4.3 光纤信道 319

7.4.4 数字逻辑信道 319

7.5 串行通信接口 319

7.5.1 异步模式传送 320

7.5.2 异步模式接收 321

7.5.3 MC68HC05C8 SCI详解 323

7.5.4 MC68HC708XL36 SCI详解 326

7.5.5 MC68HC11A8 SCI详解 330

7.5.6 MC68H812A4 SCI详解 332

7.6.1 SCI硬件接口 337

7.6 SCI应用 337

7.6.2 仅用于SCI接收的中断接口 339

7.6.3 仅用于SCI发送的中断接口 341

7.6.4 SCI的输入和输出中断 341

7.6.5 串口打印机接口 343

7.7 使用SPI的同步发送和接收 347

7.7.1 SPI基础 347

7.7.2 MC68HC05C8 SPI详解 350

7.7.3 MC68HC708XL36 SPI详解 351

7.7.4 6811 SPI详解 352

7.7.5 6812 SPI详解 353

7.7.6 SPI应用 356

7.8 词汇 363

7.9 习题 364

第8章 并行端口接口 367

8.1 输入开关和键盘 367

8.1.1 开关与计算机的接口 367

8.1.2 使用电容的硬件消抖 368

8.1.3 软件消抖 371

8.1.4 多个按键接口的基本方法 377

8.1.5 16键的电子琴 378

8.1.6 4×4扫描键盘 382

8.1.7 多路复用/多路分解扫描式键盘 385

8.2 输出LED 387

8.2.1 单个LED接口 388

8.2.2 7段LED接口 391

8.2.3 扫描式7段LED连接 391

8.2.4 使用7447 7段式译码器的扫描LED接口 393

8.2.5 使用MC14489显示驱动器的集成LED接口 395

8.3 液晶显示 397

8.3.1 LCD基础知识 397

8.3.2 使用MC14543的简单LCD接口 398

8.3.3 使用MC145000和MC145001的扫描LCD接口 399

8.3.4 使用HD44780控制器的并口LCD接口 403

8.4 用于实现计算机控制的电流开关的晶体管 405

8.5 计算机控制的继电器、螺线管和直流电动机 406

8.5.1 继电器简介 406

8.5.2 电磁继电器基础 408

8.5.3 弹簧继电器 409

8.5.4 螺线管 410

8.5.5 脉宽调制直流电动机 411

8.5.6 电磁继电器、螺线管和直流电动机的接口 411

8.5.7 固态继电器 414

8.6 步进电机 415

8.6.1 步进电机示例 416

8.6.2 基本操作 420

8.6.3 步进电机硬件接口 424

8.6.4 步进电机轴编码器 426

8.7 词汇 427

8.8 习题 428

第9章 存储器接口 432

9.1 简介 432

9.2 地址译码 434

9.2.1 全译码方式 435

9.2.2 最小代价译码 437

9.2.3 地址译码中的一些特殊情况 438

9.2.4 灵活的全地址译码器 440

9.2.5 MC68HC812A4上集成的地址译码器 441

9.3 时序关系表示的语法 442

9.3.1 有效时间区间和请求时间区间 442

9.3.2 时序图 444

9.4 一般的存储器总线时序 445

9.4.1 同步总线时序 445

9.4.2 部分异步总线时序 446

9.4.3 全异步总线时序 447

9.5 外部总线时序 448

9.5.1 同步和非同步信号 448

9.5.2 Motorola MC68HC11A8外部总线时序 449

9.5.3 Motorola MC68HC812A4外部总线时序 452

9.5.4 Motorola MC68HC912B32外部总线时序 456

9.6.1 6811的接口设计 460

9.6 接口的一般方法 460

9.6.2 在扩展窄模式下的6812接口设计 461

9.6.3 在扩展宽模式下的6812接口设计 461

9.7 存储器接口设计举例 463

9.7.1 32K PROM接口设计 463

9.7.2 8K RAM接口 468

9.7.3 32K 16位PROM与MC68HC812A4的接口 479

9.7.4 16位8K RAM的接口 481

9.7.5 扩展的地址数据页与MC68HC812A4的接口 483

9.7.6 扩展地址程序页与MC68HC812A4的接口 484

9.8 动态RAM(DRAM) 487

9.9 词汇 488

9.10 习题 489

10.1 速度需求 497

第10章 高速I/O接口 497

10.2.1 存储设备 498

10.2.2 高速数据采集 498

10.2 高速I/O应用 498

10.2.3 视频显示 499

10.2.4 高速信号生成 499

10.2.5 网络通信 500

10.3 高速接口的一般方法 500

10.3.1 硬件FIFO 500

10.3.2 双端口存储器 500

10.3.3 分体切换存储器 501

10.4 DMA的基本原理 501

10.4.2 DMA初始化 502

10.4.3 突发方式与周期窃取DMA 502

10.4.1 DMA周期 502

10.4.4 单地址与双地址DMA 503

10.4.5 DMA编程 505

10.5 MC68HC708XL36举例 505

10.5.1 DMA I/O寄存器 505

10.5.2 存储器到存储器的块传送 508

10.5.3 SCI发送 509

10.5.4 SPI接收 509

10.5.5 简单波形生成 510

10.6 词汇 511

10.7 习题 512

第11章 模拟接口 514

11.1 电阻与电容 514

11.1.1 电阻 514

11.1.2 电容 515

11.2.1 晶体管模型 516

11.2 运算放大器(运放) 516

11.2.2 理想运算放大器 517

11.2.3 真实运算放大器模型 517

11.2.4 运算放大器的类型 521

11.2.5 饱和属性 521

11.2.6 线性运算放大器电路的基本规则 522

11.2.7 运算放大器电路的线性模式 524

11.2.8 偏置补偿运算放大器电路 528

11.2.9 高增益运算放大器电路 529

11.2.10 电流电压转换电路 530

11.2.11 电压电流转换电路 530

11.2.12 积分电路 530

11.2.14 滞后电压比较器 531

11.2.13 微分电路 531

11.3 模拟滤波器 532

11.3.1 简单的滤波器 532

11.3.2 巴特沃思滤波器 533

11.3.3 带通和带阻滤波器 535

11.4 数模转换 536

11.4.1 DAC的参数 536

11.4.2 使用求和放大器实现DAC 538

11.4.3 R-2R梯形3位DAC 539

11.4.4 采用DAC8043的12位DAC 542

11.4.5 DAC器件的选择 542

11.4.6 DAC波形发生器 545

11.5.1 ADC的参数 548

11.5 模拟数字转换 548

11.5.2 2位快速ADC 549

11.5.3 8位斜坡ADC 550

11.5.4 逐次逼近ADC 550

11.5.5 实现ADC的软件算法 551

11.5.6 16位双斜率ADC 553

11.5.7 ∑ΔADC 555

11.5.8 ADC接口 556

11.6 采样与保持 556

11.7 双极型场效应管模拟多路选择器 557

11.8 ADC系统 559

11.8.1 ADC系统框图 559

11.8.2 ADC系统的电源与接地 560

11.8.3 高速CMOS模拟输入端的输入保护 560

11.9 多访问循环队列 562

11.10 内部ADC模块 563

11.10.1 6805的ADC系统 563

11.10.2 6808的ADC系统 564

11.10.3 6811的ADC系统 566

11.10.4 6812的ADC系统 567

11.10.5 ADC软件 571

11.11 词汇 573

11.12 习题 574

第12章 数据采集系统 577

12.1 概述 577

12.1.1 准确度 580

12.1.2 分辨率 580

12.1.4 可再生性或可重复性 581

12.1.3 精度 581

12.2 传感器 582

12.2.1 传感器的静态指标 582

12.2.2 传感器的动态指标 585

12.2.3 非线性传感器 585

12.2.4 位置传感器 586

12.2.5 速度测量 588

12.2.6 力传感器 589

12.2.7 温度传感器 590

12.3 DAS设计 593

12.3.1 介绍和定义 593

12.3.2 使用采样定理确定采样率 594

12.3.4 模拟信号处理定义 597

12.3.3 确定ADC位数 597

12.3.5 ADC转换速度 602

12.3.6 采样保持电路(S/H)定义 602

12.4 噪声分析 603

12.4.1 热噪声 603

12.4.2 散射噪声 605

12.4.3 1/f噪声或粉红噪声 605

12.4.4 传感器的局限性 606

12.4.5 磁场感应 606

12.4.6 位移电流或电容(电场)耦合 606

12.4.7 阻抗负载 606

12.4.8 CMRR 607

12.4.9 频率响应 607

12.5.1 温度测量系统 608

12.5 数据采集系统示例分析 608

12.4.10 人为移动 608

12.5.2 受力测量系统 610

12.5.3 使用电子参考的热电偶接口 612

12.5.4 心跳测量 613

12.5.5 位置测量系统 615

12.6 词汇 616

12.7 习题 618

第13章 基于微计算机的控制系统 626

13.1 数字控制系统概述 626

13.2 开环控制系统 627

13.2.1 烤箱的开环控制 627

13.2.2 开环交通控制 627

13.2.3 开环步进控制器 629

13.3.1 Bang-Bang温度控制 630

13.3 简单闭环控制系统 630

13.3.2 使用增量控制的闭环位置控制系统 632

13.4 PID控制器 633

13.4.1 实现PID控制器的一般方法 633

13.4.2 速度PID控制器 635

13.4.3 PWM执行机的积分控制器 637

13.4.4 确定PID控制器参数的实验法 639

13.5 模糊逻辑控制 639

13.5.1 DAC和ADC模糊控制器 640

13.5.2 PWM模糊控制器 646

13.5.3 使用模糊逻辑的温度控制器 652

13.6 词汇 656

13.7 习题 656

14.1 概述 659

第14章 简单网络 659

14.2 串行主/从桌面总线 660

14.3 使用三态缓冲的并行总线应用 666

14.4 使用集电极开路逻辑的并行总线应用 667

14.5 二进制同步通信 668

14.6 IEEE488通用仪表总线 671

14.7 小型计算机系统接口 671

14.8 调制解调器通信 672

14.8.1 FSK调制解调器 672

14.8.2 相位编码调制解调器 674

14.8.3 正交振幅调制解调器 676

14.9 X.10协议 676

14.11 习题 683

14.10 词汇 683

第15章 数字滤波 688

15.1 基本原理 688

15.2 数字滤波器示例 691

15.3 脉冲响应 697

15.4 高Q值60 Hz数字陷波滤波器 699

15.5 时延对数字滤波器的影响 703

15.6 高Q值数字高通滤波器 705

15.7 低Q值数字高通滤波器 706

15.8 低Q值数字低通滤波器 707

15.9 数字低通滤波器 707

15.10 直接形式实现 709

15.11 词汇 710

15.12 习题 711