当前位置:首页 > 工业技术
EZ-USB FX系列单片机USB外围设备设计与应用
EZ-USB FX系列单片机USB外围设备设计与应用

EZ-USB FX系列单片机USB外围设备设计与应用PDF电子书下载

工业技术

  • 电子书积分:17 积分如何计算积分?
  • 作 者:许永和编著
  • 出 版 社:北京:北京航空航天大学出版社
  • 出版年份:2002
  • ISBN:7810772201
  • 页数:584 页
图书介绍:USB外围设备设计与应用,已成为电机/电子领域的工程师和学生必须学习的主要技术之一。本书选择Cypress半导体公司所推出的EZUSB FX全速系列,将作者丰富的教学经验与实践经验融合在各章 节中,详细介绍USB的基本概念、EZUSB FX系列IC的原理与基本概念、仿真器及其使用方式、Keil C Complier与固件代码的设计、USB I/O设计范例。本书的内容深入浅出,使得原来技术瓶颈甚高且难学易用的USB接口技术,成为一个易学易用的接口技术。本书配光盘一张,内含范例程序以及相关的资料。本书可作为一般工程技术院校的单片机或接口设计实习等相关课程的教学参考书,亦可供一般计算机专业工程技术人员参考。
《EZ-USB FX系列单片机USB外围设备设计与应用》目录

PART1 USB的基本概念 2

第1章 USB的基本特性 2

1.1 USB简介 2

1.2 USB的发展历程 3

1.2.1 USB 1.1 3

1.2.2 USB 2.0 4

1.2.3 USB与IEEE 1394的比较 4

1.3 USB基本架构与总线架构 6

1.4 USB的总线结构 8

1.5 USB数据流的模式与管线的概念 9

1.6 USB硬件规范 10

1.6.1 USB的硬件特性 11

1.6.2 USB接口的电气特性 12

1.6.3 USB的电源管理 14

1.7 USB的编码方式 14

1.8 结论 16

1.9 问题与讨论 16

第2章 USB通信协议 17

2.1 USB通信协议 17

2.2 USB封包中的数据域类型 18

2.2.1 数据域位的格式 18

2.3 封包格式 19

2.4 USB传输的类型 23

2.4.1 控制传输 24

2.4.2 中断传输 29

2.4.3 批量传输 29

2.4.4 等时传输 29

2.5 USB数据交换格式 30

2.6 USB描述符 34

2.7 USB设备请求 42

2.8 USB设备群组 44

2.9 结论 46

2.10 问题与讨论 46

第3章 设备列举 47

3.1 注册表编辑器 47

3.2 设备列举的步骤 49

3.3 设备列举步骤的实现——使用CATC分析工具 51

3.4 结论 61

3.5 问题与讨论 61

第4章 USB芯片与EZ-USB 62

4.1 USB芯片的简介 62

4.2 USB接口芯片 64

4.2.1 Philips接口芯片 64

4.2.2 National Semiconductor接口芯片 66

4.3 内含USB单元的微处理器 68

4.3.1 Motorola 69

4.3.2 Microchip 69

4.3.3 SIEMENS 70

4.3.4 Cypress 71

4.4 USB芯片总揽介绍 73

4.5 USB芯片的选择与评估 74

4.6 问题与讨论 80

第5章 设备与驱动程序 81

5.1 阶层式的驱动程序 81

5.2 主机的驱动程序 83

5.3 驱动程序的选择 86

5.4 结论 86

5.5 问题与讨论 87

第6章 HID群组 88

6.1 HID简介 88

6.2 HID群组的传输速率 88

6.3 HID描述符 90

6.3.1 报告描述符 93

6.3.2 主要(main)项目类型 96

6.3.3 整体(global)项目卷标 97

6.3.4 区域(local)项目卷标 98

6.3.5 简易的报告描述符 99

6.3.6 Descriptor Tool(描述符工具) 100

6.3.7 兼容测试程序 101

6.4 HID设备的基本请求 102

6.5 Windows通信程序 103

6.6 问题与讨论 106

PART2 硬件技术篇 109

第7章 EZ-USB FX简介 109

7.1 简介 109

7.2 EZ-USB FX硬件框图 109

7.3 封包与PID码 111

7.4 主机是个主控者 113

7.4.1 从主机接收数据 113

7.4.2 传送数据至主机 113

7.5 USB方向 113

7.6 帧 114

7.7 EZ-USB FX传输类型 114

7.7.1 批量传输 114

7.7.2 中断传输 114

7.7.3 等时传输 115

7.7.4 控制传输 115

7.8 设备列举 116

7.9 USB核心 116

7.10 EZ-USB FX单片机 117

7.11 重新设备列举 117

7.12 EZ-USB FX端点 118

7.12.1 EZ-USB FX批量端点 118

7.12.2 EZ-USB FX控制端点0 118

7.12.3 EZ-USB FX中断端点 119

7.12.4 EZ-USB FX等时端点 119

7.13 快速传送模式 119

7.14 中断 120

7.15 重置与电源管理 120

7.16 EZ-USB 2100系列 120

7.17 FX系列——“从”FIFO 122

7.18 FX系列——GPIF(通用型可程序化的接口) 122

7.19 AN2122/26各种特性的摘要 122

7.20 修订ID 123

7.21 引脚描述 123

第8章 EZ-USB FX CPU 130

8.1 简介 130

8.2 8051增强模式 130

8.3 EZ-USB FX所增强的部分 131

8.4 EZ-USB FX寄存器接口 131

8.5 EZ-USB FX内部RAM 131

8.6 I/O端口 132

8.7 中断 132

8.8 电源控制 133

8.9 特殊功能寄存器(SFR) 134

8.10 内部总线 135

8.11 重置 136

第9章 EZ-USB FX内存 137

9.1 简介 137

9.2 8051内存 138

9.3 扩充的EZ-USB FX内存 139

9.4 CX#与OE#信号 140

9.5 EZ-USB FX ROM版本 141

第10章 EZ-USB FX输入/输出端口 143

10.1 简介 143

10.2 I/O端口 143

10.3 EZ-USB输入/输出端口寄存器 146

10.3.1 端口配置寄存器 147

10.3.2 I/O端口寄存器 147

10.4 EZ-USB FX输入/输出端口寄存器 149

10.5 EZ-USB FX端口配置表 151

10.6 I2C控制器 156

10.7 8051 I2C控制器 156

10.8 控制位 158

10.8.1 START位 158

10.8.2 STOP位 158

10.8.3 LASTRD位 158

10.9 状态位 159

10.9.1 DONE位 159

10.9.2 ACK位 159

10.9.3 BERR位 159

10.9.4 ID1,ID0 159

10.10 送出(WRITE)I2C数据 160

10.11 接收(READ)I2C)数据 160

10.12 I2C激活加载器 160

10.13 SFR寻址(FX) 162

10.14 端口A~E的SFR控制 165

第11章 EZ-USB FX设备列举与重新设备列举 167

11.1 简介 167

11.2 预设的USB设备 169

11.3 USB核心对于EP0设备请求的响应 170

11.4 固件下载 171

11.5 设备列举模式 172

11.6 没有存在EEPROM 173

11.7 存在着EEPROM,第一个字节是0xB0(0xB4,FX系列) 174

11.8 存在着EEPROM,第一个字节是0xB2(0xB6,FX列系) 175

11.9 配置字节0,FX系列 177

11.10 重新设备列举(ReNumerationTM) 178

11.11 多重-重新设备列举(ReNumerationTM) 179

11.12 预设描述符 179

第12章 EZ-USB FX批量传输 188

12.1 简介 188

12.2 批量输入传输 189

12.3 中断传输 191

12.4 EZ-USB FX批量IN的例子 191

12.5 批量OUT传输 192

12.6 端点对 194

12.7 IN端点对的状态 194

12.8 OUT端点对的状态 195

12.9 使用批量缓冲区内存 195

12.10 Data Toggle控制 196

12.11 轮询的批量传输的范例 197

12.12 设备列举说明 199

12.13 批量端点中断 199

12.14 中断批量传输的范例 201

12.15 设备列举说明 205

12.16 自动指针器 205

第13章 EZ-USB控制端点0 209

13.1 简介 209

13.2 控制端点EP0 210

13.3 USB请求 212

13.3.1 取得状态(Get_Status) 214

13.3.2 设置特性(Set_Feature) 217

13.3.3 清除特性(Clear_Feature) 218

13.3.4 取得描述符(Get_Descriptor) 219

13.3.5 设置描述符(Set Descriptor) 223

13.3.6 设置配置(Set_Configuration) 225

13.3.7 取得配置(Get_Configuration) 225

13.3.8 设置接口(Set_Interface) 225

13.3.9 取得接口(Get_Interface) 226

13.3.10 设置地址(Set_Address) 227

13.3.11 同步帧 227

13.3.12 固件加载 228

第14章 EZ-USB FX等时传输 229

14.1 简介 229

14.2 等时IN传输 230

14.2.1 初始化设置 230

14.2.2 IN数据传输 230

14.3 等时OUT传输 231

14.3.1 初始化设置 231

14.3.2 数据传输 232

14.4 设置等时FIFO的大小 232

14.5 等时传输速度 234

14.5.1 EZ-USB 2100系列 234

14.5.2 EZ-USB FX系列 235

14.6 快速传输(仅存于2100系列) 236

14.6.1 快速写入 236

14.6.2 快速读取 237

14.7 快速传输的时序(仅存于2100系列) 237

14.7.1 快速写入波形 238

14.7.2 快速读取波形 239

14.8 快速传输速度(仅存于2100系列) 239

14.9 其余的等时寄存器 240

14.9.1 除能等时寄存器 240

14.9.2 0字节计数位 241

14.10 以无数据来响应等时IN令牌 242

14.11 使用等时FIFO 242

第15章 EZ-USB FX中断 243

15.1 简介 243

15.2 USB核心中断 244

15.3 唤醒中断 244

15.4 USB中断信号源 245

15.5 SUTOK与SUDAV中断 248

15.6 SOF中断 249

15.7 中止(suspend)中断 249

15.8 USB重置中断 249

15.9 批量端点中断 250

15.10 USB自动向量 250

15.11 USB自动向量译码 251

15.12 I2C中断 252

15.13 IN批量NAK中断(仅存于AN2122/26与FX系列) 253

15.14 I2C STOP反相中断(仅存于AN2122/26与FX系列) 254

15.15 “从”FIFO中断(INT4) 255

第16章 EZ-USB FX重置 257

16.1 简介 257

16.2 EZ-USB FX打开电源重置(POR) 257

16.3 8051重置的释放 259

16.3.1 RAM的下载 260

16.3.2 下载EEPROM 260

16.3.3 外部ROM 260

16.4 8051重置所产生的影响 260

16.5 USB总线重置 261

16.6 EZ-USB脱离 262

16.7 各种重置状态的总结 263

第17章 EZ-USB FX电源管理 265

17.1 简介 265

17.2 中止(suspend) 266

17.3 回复(resume) 267

17.4 远程唤醒(remote wakeup) 269

第18章 EZ-USB FX系统 271

18.1 简介 271

18.2 DMA寄存器描述 272

18.2.1 来源、目的、传输长度地址寄存器 272

18.2.2 DMA起始与状态寄存器 275

18.2.3 DMA同步突发使能寄存器 275

18.2.4 虚拟寄存器 278

18.3 RD/FRD与WR/FWR DMA闪控的选择 278

18.4 DMA闪控波形与延伸位的交互影响 279

18.4.1 DMA外部写入 279

18.4.2 DMA外部读取 280

第19章 EZ-USB FX寄存器 282

19.1 简介 282

19.2 批量数据缓冲区寄存器 283

19.3 等时数据FIFO寄存器 284

19.4 等时字节计数寄存器 285

19.5 CPU寄存器 287

19.6 I/O端口配置寄存器 288

19.7 I/O端口A~C输入/输出寄存器 289

19.8 230 Kbaud UART操作——AN2122/26寄存器 291

19.9 等时控制/状态寄存器 291

19.10 I2C寄存器 292

19.11 中断 294

19.12 端点0控制与状态寄存器 299

19.13 端点1~7的控制与状态寄存器 300

19.14 整体USB寄存器 305

19.15 快速传输 309

19.16 SETUP数据 311

19.17 等时FIFO的容量大小 311

19.18 通用I/F中断使能 312

19.19 通用中断请求 312

19.20 输入/输出端口寄存器D与E 313

19.20.1 端口D输出 313

19.20.2 输入端口D脚位 313

19.20.3 端口D输出使能 313

19.20.4 端口E输出 313

19.20.5 输入端口E脚位 314

19.20.6 端口E输出使能 314

19.21 端口设置 314

19.22 接口配置 314

19.23 端口A与端口C切换配置 316

19.23.1 端口A切换配置#2 316

19.23.2 端口C切换配置#2 317

19.24 DMA寄存器 319

19.24.1 来源、目的、传输长度地址寄存器 319

19.24.2 DMA起始与状态寄存器 320

19.24.3 DMA同步突发使能寄存器 320

19.24.4 选择8051 A/D总线作为外部FIFO 321

PART3 固件技术篇 323

第20章 EZ-USB FX固件架构与函数库 323

20.1 固件架构总览 323

20.2 固件架构的建立 325

20.3 固件架构的副函数钩子 325

20.3.1 工作分配器 326

20.3.2 设备请求(device request) 326

20.3.3 USB中断服务例程 329

20.4 固件架构整体变量 332

20.5 描述符表 333

20.5.1 设备描述符 333

20.5.2 配置描述符 334

20.5.3 接口描述符 334

20.5.4 端点描述符 335

20.5.5 字符串描述符 335

20.5.6 群组描述符 335

20.6 EZ-USB FX固件的函数库 336

20.6.1 包含文件(?.H) 336

20.6.2 子程序 336

20.6.3 整体变量 338

20.7 固件架构的原始程序代码 338

第21章 EZ-USB FX固件范例程序 346

21.1 范例程序的简介 346

21.2 外围I/O测试程序 347

21.3 端点对,EP_PAIR范例 352

21.4 批量测试,BulkTest范例 362

21.5 等时传输,ISOstrm范例 368

21.6 问题与讨论 373

PART4 实验篇 375

第22章 EZ-USB FX仿真器 375

22.1 简介 375

22.2 所需的工具 376

22.3 EZ-USB FX框图 377

22.4 EZ-USB最终版本的系统框图 378

22.5 第一次下载程序 378

22.6 EZ-USB FX开发系统框图 379

22.7 设置开发环境 380

22.8 EZ-USB FX开发工具组的内容 381

22.9 EZ-USB FX开发工具组软件 382

22.9.1 初步安装程序 382

22.9.2 确认主机(个人计算机)是否支持USB 382

22.10 安装EZ-USB控制平台、驱动程序以及文件 383

22.11 EZ-USB FX开发电路板 385

22.11.1 简介 385

22.11.2 开发电路板的浏览 385

22.11.3 所使用的8051资源 386

22.11.4 详细电路 386

22.11.5 LED的显示 387

22.11.6 Jumper 387

22.11.7 连接器 391

22.11.8 内存映象图 392

22.11.9 PLD信号 394

22.11.10 PLD源文件文件 395

22.11.11 雏形板的扩充连接器P1~P6 397

22.11.12 Philips PCF8574 I/O扩充IC 400

22.12 DMA USB FX I/O LAB开发工具介绍 401

22.12.1 USB-FX简介 401

22.12.2 USB-FX及外围整体环境介绍 403

22.12.3 USB-FX与PC连接软件介绍 404

22.12.4 USB-FX硬件功能介绍 404

第23章 LED显示器输出实验 409

23.1 硬件设计与基本概念 409

23.2 固件设计 410

23.3.1 固件架构文件FW.C 411

23.3.2 描述符文件DESCR.A51 412

23.3.3 外围接口文件PERIPH.C 417

23.4 固件程序代码的编译与链接 421

23.5 Windows程序.VB设计 423

23.6 INF文件的编写设计 424

23.7 结论 426

23.8 问题与讨论 427

第24章 七段显示器与键盘的输入/输出实验) 428

24.1 硬件设计与基本概念 428

24.2 固件设计 431

24.2.1 七段显示器 431

24.2.2 4×4键盘扫描 433

24.3 固件程序代码的编译与链接 434

24.4 Windows程序,VB设计 436

24.5 问题与讨论 437

第25章 LCD文字型液晶显示器输出实验 438

25.1 硬件设计与基本概念 438

25.1.1 液晶显示器LCD 438

25.2 固件设计 452

25.3 固件程序代码的编译与链接 456

25.4 Windows程序,VB设计 457

25.5 问题与讨论 458

第26章 LED点阵输出实验 459

26.1 硬件设计与基本概念 459

26.2 固件设计 463

26.3 固件程序代码的编译与链接 463

26.4 Windows程序,VB设计 465

26.5 问题与讨论 465

第27章 步进电机输出实验 466

27.1 硬件设计与基本概念 466

27.1.1 1相激磁 467

27.1.2 2相激磁 467

27.1.3 1-2相激磁 468

27.1.4 PMM8713介绍 469

27.2 固件设计 473

27.3 固件程序代码的编译与链接 474

27.4 Windows程序,VB设计 476

27.5 问题与讨论 477

第28章 I2C接口输入/输出实验 478

28.1 硬件设计与基本概念 478

28.2 固件设计 481

28.3 固件程序代码的编译与链接 483

28.4 Windows程序,VB设计 484

28.5 问题与讨论 485

第29章 A/D转换器与D/A转换器的输入/输出实验 486

29.1 硬件设计与基本概念 486

29.1.1 A/D转换器 486

29.1.2 D/A转换器 490

29.2 固件设计 493

29.2.1 A/D转换器的固件设计 493

29.2.2 D/A转换器的固件设计 496

29.3 固件程序代码的编译与链接 497

29.4 Windows程序,VB设计 498

29.5 问题与讨论 499

第30章 LCG绘图型液晶显示器输出实验 500

30.1 硬件设计与基本概念 500

30.1.1 绘图型LCD 500

30.1.2 绘图型LCD控制指令集 503

30.1.3 绘图型LCD读取与写入时序图 505

30.2 固件设计 506

30.2.1 LCG驱动程序 506

30.2.2 USB固件码 513

30.3 固件程序代码的编译与链接 516

30.4 Windows程序,VB设计 517

30.5 问题与讨论 518

附录A Cypress控制平台的操作 519

A.1 EZ-USB控制平台总览 519

A.2 主画面 520

A.3 热插拔新的USB设备 521

A.4 各种工具栏的使用 524

A.5 故障排除 526

A.6 控制平台的进阶操作 527

A.7 测试“Unary Op”工具栏上的按钮功能 528

A.8 测试制造商请求的工具栏(2100系列的开发电路板) 529

A.9 测试等时传输工具栏 532

A.10 测试批量传输工具栏 533

A.11 测试重置管线工具栏 535

A.12 测试设置接口工具栏 537

A.13 测试制造商请求工具栏(FX系列开发电路板) 538

A.14 执行“Get Device Descriptor”操作来验证开发板的功能是否正确 539

A.15 从EZ-USB控制平台中,加载dev_io的范例并且加以执行 540

A.16 从Keil侦错应用程序中,加载dev_io范例程序代码,然后再加以执行 542

A.17 将dev_io目标文件移开,且使用KeilIDE(集成开发环境)来重建 545

A.18 在侦错器下执行dev_io目标文件,并且使用具有侦错能力的IDE 547

A.19 在EZ-USB控制平台下,执行ep_pair目标文件 548

A.20 如何修改fw范例,并在开发电路板上产生等时传输 550

附录B EZ-USB 2100系列及EZ-USB FX系列引脚表 555

B.1 EZ-USB 2100系列引脚表 555

B.2 EZ-USB FX系列引脚图表 561

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