《嵌入式项目开发三位一体实战精讲》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:刘波文;张军,何勇编著
  • 出 版 社:北京:北京航空航天大学出版社
  • 出版年份:2012
  • ISBN:9787512407022
  • 页数:506 页
图书介绍:本书以项目背景为依托,通过大量实例,深入浅出介绍了FPGA嵌入式项目开发的方法与技巧。全书共分17章,第1~3章为开发基础知识,简要介绍了FPGA芯片、编程语言,以及常用开发工具,引导读者技术入门;第4~15章为应用实例,通过14个实例,详细阐述了FPGA工业控制、多媒体应用、消费电子与网络通信领域的开发原理、流程思路和技巧。实例全部来自于工程实践,代表性和指导性强,读者通过学习后举一反三,设计水平将得到快速提高,完成从入门到精通的技术飞跃。

第1篇FPGA基础知识篇 3

第1章FPGA入门了解 3

1.1 FPGA特点和应用 3

1.2 FPGA体系结构 4

1.2.1 FPGA基本结构 4

1.2.2 FPGA的结构特点 8

1.2.3 FPGA的编程工艺 10

1.3 FPGA常用芯片与选用 10

1.3.1 FPGA常用芯片 10

1.3.2 FPGA器件的选用 13

第2章 集成开发工具MAX+plus Ⅱ 16

2.1功能与菜单说明 16

2.2 MAX+plus Ⅱ设计过程 20

2.3 MAX+plus Ⅱ综合设计选择项 37

2.3.1 LPM库的使用 37

2.3.2项目层次结构与文件系统 40

2.3.3全局逻辑综合方式 41

2.3.4设置全局定时要求、定时分析 44

2.3.5与第三方EDA软件接口 46

2.3.6设置器件的下载编程方式 48

2.3.7 FPGA器件烧写方法 50

第3章Quartus Ⅱ使用详解 53

3.1 Quartus Ⅱ设计流程 53

3.2 Quartus Ⅱ设计方法 57

3.2.1自上而下与自下而上的设计方法比较 58

3.2.2自上而下的渐进式编译设计流程 58

3.2.3自下而上的渐进式编译设计流程 59

3.3 Quartus Ⅱ各功能详解 59

3.3.1使用模块编辑器 59

3.3.2项目设置 60

3.3.3时序分析报告 62

3.3.4仿真 63

3.3.5下载 65

3.4时序约束与分析 68

3.4.1时序约束与分析基础 68

3.4.2设置时序约束的方法 70

3.4.3最小化时序分析 73

3.5设计优化 75

3.5.1优化流程 75

3.5.2使用DSE 75

3.5.3设计优化的初次编译 77

3.5.4资源利用优化 80

3.5.5 I/O时序优化 81

3.5.6最高时钟频率优化 83

3.6 SignalTap Ⅱ 83

3.6.1设计中创建SignalTap Ⅱ 83

3.6.2通过SignalTap Ⅱ察看数据 85

3.6.3 SignalTap Ⅱ的高级配置 86

第2篇 工业应用开发实例 91

第4章 步进电机驱动系统设计 91

4.1步进电机系统概述 91

4.1.1步进电机的种类 91

4.1.2步进电机的工作原理 92

4.1.3步进电机的主要技术指标 93

4.1.4步进电机的驱动控制系统 95

4.2步进电机驱动器接口电路 96

4.2.1 ULN2003达林顿芯片概述 96

4.2.2步进电机驱动器硬件电路 96

4.3硬件系统设计 97

4.3.1创建Quartus Ⅱ工程项目 97

4.3.2创建SOPC系统 98

4.3.3生成Nios Ⅱ系统 105

4.3.4创建顶层模块并添加PLL模块 108

4.4软件设计与程序代码 112

4.4.1创建Nios Ⅱ工程 112

4.4.2程序代码设计与修改 113

4.5实例总结 116

第5章 工业数字摄像机应用设计 117

5.1工业数字摄像机概述 117

5.1.1系统原理及总体设计结构 117

5.1.2图像传感器MT9P031简述 118

5.2图像传感器与FPGA硬件接口电路设计 122

5.3工业数字摄像机系统软件设计 124

5.3.1创建Quartus Ⅱ工程项目 124

5.3.2创建PLL宏模块 124

5.3.3创建FIFO 125

5.3.4 I2C总线接口控制器 129

5.3.5 DE2_D5M主程序 131

5.3.6工业数字摄像机系统原理图连线 137

5.3.7引脚配置 137

5.4实例总结 138

第3篇 多媒体开发实例 141

第6章 视频采集处理系统设计 141

6.1视频采集处理系统概述 141

6.1.1视频采集模块 141

6.1.2视频输出模块 147

6.2视频采集处理系统硬件接口电路 152

6.2.1 SAA7113视频采集电路 153

6.2.2 SAA7121视频编码处理电路 153

6.3视频采集处理系统软件设计 154

6.3.1创建Quartus Ⅱ工程项目 155

6.3.2创建PLL宏模块 155

6.3.3创建ROM宏模块 157

6.3.4创建MASK_ ROM宏模块与ADD MASK例化 161

6.3.5 I2 C总线接口控制器 162

6.3.6 SAA7113芯片I2C命令集 171

6.3.7 SAA7121芯片I2C命令 175

6.3.8视频采集处理系统原理图连线 179

6.3.9引脚配置 179

6.4实例总结 180

第7章 音频采集系统设计 181

7.1音频采集系统概述 181

7.1.1音频编解码工作原理 181

7.1.2音频编码过程介绍 182

7.1.3 IIS音频接口总线 184

7.2音频采集系统硬件设计 185

7.2.1数字立体声音频编解码芯片AIC23应用介绍 186

7.2.2硬件电路 192

7.3程序设计与代码 194

7.3.1创建Quartus Ⅱ工程 194

7.3.2创建宏模块 195

7.3.3创建Verilog HDL文件 202

7.3.4创建硬件模块原理图 205

7.3.5软件仿真与验证 206

7.4实例总结 206

第8章VGA视频输出应用 207

8.1 VGA接口概述 207

8.1.1 VGA接口定义 207

8.1.2 VGA显像原理 208

8.1.3 VGA工业标准与工作时序 208

8.2 VGA芯片ADV7123概述 209

8.2.1 ADV7123引脚功能描述 210

8.2.2 ADV7123芯片接口功能说明 212

8.3 VGA硬件接口电路设计 214

8.4 VGA硬件系统与程序设计 215

8.4.1创建Quartus Ⅱ工程项目 215

8.4.2创建PLL宏模块 217

8.4.3编写VGA控制器时序代码 220

8.4.4模块原理图连线 223

8.4.5引脚配置 224

8.4.6程序仿真 225

8.5实例总结 226

第4篇 消费电子开发实例 229

第9章 压力传感器数据采集系统 229

9.1压力传感器数据采集系统概述 229

9.1.1压力传感器概述 230

9.1.2增益放大器 233

9.1.3模数转换器(ADC) 233

9.2压力传感器数据采集系统硬件电路 236

9.3压力传感器硬件系统设计 237

9.3.1创建Quartus Ⅱ工程项目 238

9.3.2创建SOPC系统 238

9.3.3生成Nios Ⅱ系统 250

9.3.4创建顶层原理图模块 250

9.4压力传感器软件系统设计与程序代码 251

9.4.1创建Nios Ⅱ工程 251

9.4.2程序代码设计 251

9.5实例总结 252

第10章SD卡音乐播放器设计 253

10.1 SD存储卡概述 253

10.1.1 SD存储卡物理结构与接口规范 253

10.1.2 SD存储卡总线协议 255

10.2 SD卡音乐播放器与FPGA接口电路设计 258

10.2.1 SD存储卡硬件接口电路 258

10.2.2字符型LCD硬件电路 259

10.3硬件系统的SOPC设计 260

10.3.1创建Quartus Ⅱ工程项目 261

10.3.2创建SOPC系统 262

10.3.3生成Nios Ⅱ系统 270

10.3.4创建工程顶层文件与子模块文件 274

10.4系统软件设计与程序代码 281

10.5实例总结 289

第11章 大容量存储器系统设计 290

11.1存储器概述 290

11.1.1 Flash存储器概述 290

11.1.2 SDRAM存储器概述 292

11.1.3 SRAM存储器概述 295

11.2存储器与FPGA硬件接口电路设计 296

11.2.1 SDRAM存储器硬件电路 296

11.2.2 Flash存储器硬件电路 297

11.2.3 SRAM存储器硬件电路 297

11.2.4复位电路与LED电路 297

11.3硬件系统设计 300

11.3.1创建Quartus Ⅱ工程项目 300

11.3.2创建SOPC系统 302

11.3.3生成Nios Ⅱ系统 310

11.3.4创建顶层模块 311

11.4软件设计与程序代码 312

11.5实例总结 313

第12章LCD液晶显示器/触摸屏应用设计 314

12.1 LCD液晶显示/触摸屏概述 314

12.1.1 LCD液晶显示屏概述 314

12.1.2触摸屏概述 317

12.2 LCD液晶显示/触摸屏功能及应用 318

12.2.1液晶显示模块概述 318

12.2.2触摸屏控制芯片概述 321

12.2.3 LCD液晶显示/触摸屏硬件接口电路 325

12.3硬件系统设计 327

12.3.1创建Quartus Ⅱ工程项目 328

12.3.2创建SOPC系统 328

12.3.3生成Nios Ⅱ系统 337

12.3.4创建顶层模块 338

12.4软件设计与程序代码 342

12.4.1 μC/OS-Ⅱ操作系统移植要点 343

12.4.2 Nios Ⅱ系统工程创建 345

12.5实例总结 347

第13章 数字温度传感器应用 348

13.1数字温度传感器概述 348

13.1.1 LM75A简述 348

13.1.2 LM75A器件引脚描述 349

13.1.3 LM75A相关寄存器介绍 350

13.1.4中断(OS)输出 353

13.1.5 I2C总线通信协议 354

13.2数字温度传感器与FPGA接口电路 357

13.3传感器硬件系统设计 357

13.3.1创建Quartus Ⅱ工程项目 358

13.3.2创建SOPC系统 358

13.3.3生成Nios Ⅱ系统 363

13.3.4创建顶层原理图模块 366

13.4软件设计与程序代码 367

13.4.1创建Nios Ⅱ工程 367

13.4.2程序代码设计与修改 367

13.5实例总结 369

第5篇 通信开发实例 373

第14章 以太网通信系统设计 373

14.1以太网系统概述 373

14.1.1以太网协议与MAC 802.3帧格式 373

14.1.2网络传输介质 375

14.1.3以太网物理层芯片与MAC层芯片接口 377

14.2以太网控制器DM9000A简述 379

14.2.1以太网控制器DM9000A引脚功能 380

14.2.2以太网控制器DM9000A应用 383

14.2.3以太网控制器DM9000A寄存器功能 385

14.3以太网硬件接口电路设计 402

14.3.1自动极性切换器电路 402

14.3.2以太网接口电路 403

14.4以太网硬件系统设计 403

14.4.1创建Quartus Ⅱ工程项目 404

14.4.2创建SOPC系统 405

14.4.3生成Nios Ⅱ系统 417

14.4.4创建顶层模块并添加PLL模块 417

14.5软件设计与程序代码 421

14.5.1创建Nios Ⅱ 421

14.5.2程序代码设计与修改 422

14.6实例总结 425

第15章USB2.0接口数据通信系统设计 426

15.1 USB2.0芯片CY7C68013概述 426

15.1.1 I2C总线与控制器 427

15.1.2 USB启动方式和枚举 429

15.1.3中断系统 429

15.1.4复位和唤醒 432

15.1.5程序/数据RAM 432

15.1.6寄存器地址 434

15.1.7端点 434

15.1.8外部FIFO接口 436

15.1.9可编程通用接口(GPIF) 436

15.2 CY7C68013与FPGA硬件接口电路 437

15.2.1 CY7C68013芯片引脚功能介绍 437

15.2.2 CY7C68013与FPGA硬件接口电路原理 439

15.3从模式(slave) FIFO传输概述 440

15.3.1硬件连接 440

15.3.2 Slave FIFO的常用传输方式 441

15.4 USB系统软件设计与实现 445

15.4.1 USB设备固件设计 445

15.4.2 USB设备驱动程序设计 449

15.4.3 USB设备应用程序(API)设计 449

15.5 USB接口数据通信应用设计 449

15.5.1同步读写FIFO实例设计 450

15.5.2 USB IN/OUT实例设计 453

15.6实例总结 458

第 16章IrDA红外收发器应用 459

16.1 IrDA红外数据通信概述 459

16.1.1 IrDA分类 459

16.1.2 IrDA基本通信协议层规范 460

16.1.3 IrDA标准的协议栈 461

16.1.4 IrDA编解码概述 461

16.2 IrDA与FPGA硬件接口电路设计 463

16.2.1 HSDL3201红外收发器概述 463

16.2.2 IrDA与FPGA硬件接口电路 464

16.3 3/16编解码软件设计 464

16.3.1顶层程序文件 465

16.3.2 3/16编解码程序 465

16.3.3 UART顶层逻辑程序 468

16.3.4 UART接收逻辑程序 469

16.3.5 UART发送逻辑程序 472

16.4 IrDA原理图连线 475

16.5实例总结 476

第17章GPS通信系统设计 477

17.1 GPS通信系统概述 477

17.1.1 GPS系统工作原理 478

17.1.2 GPS模块输出信号分析 478

17.1.3 GPS模块电路原理图 481

17.2硬件系统设计 482

17.2.1创建Quartus Ⅱ工程项目 483

17.2.2创建SOPC系统 483

17.2.3生成Nios Ⅱ系统 492

17.2.4创建顶层原理图模块 492

17.3软件设计与程序代码 493

17.3.1创建Nios Ⅱ工程 493

17.3.2程序代码设计与修改 493

17.4实例总结 504

参考文献 505