EZUSB FX2单片机原理、编程及应用 - 中国高校教材图书网
|
书名: |
EZUSB FX2单片机原理、编程及应用
|
ISBN: | 7-81077-740-8 |
条码: | |
作者: |
钱峰
相关图书
|
装订: | 平装 |
印次: | 1-1 |
开本: | 16开 |
定价: |
¥45.00
折扣价:¥42.75
折扣:0.95
节省了2.25元
|
字数: |
730千字
|
出版社: |
北京航空航天大学出版社 |
页数: |
|
发行编号: | |
每包册数: |
|
出版日期: |
2006-03-01 |
|
内容简介: |
本书全面、系统地介绍Cypress半导体公司推出的新一代智能USB接口芯片EZUSB FX2(CY7C68013),涵盖了EZUSB FX2的原理、编程、驱动和应用程序等内容。EZUSB FX2芯片全面支持USB 2.0协议,是Cypress半导体公司对以往EZUSB系列芯片的又一次全面提升。芯片将高性能USB引擎和增强8051内核有机结合,开发方便、快捷,现已成为科研和开发的主流芯片。本着学以致用的原则,首先详细介绍EZUSB FX2的原理,其次介绍开发和学习中所需的软、硬件工具,随后讨论固件程序、驱动程序和应用程序的编制方法,最后通过列举范例程序进一步总结和提高。同时,为了方便读者,书中还用附录的形式配置了开发和学习中常用的参考资料。 为工科院校本科生、研究生单片机与接口设计等相关课程的参考用书,也可作为从事计算机外围设备接口开发和各类微控制器应用系统设计工程技术人员的参考用书。
|
作者简介: |
|
章节目录: |
第1章 USB基本概念和特性
1.1 USB的一般概念1
1.2 USB的发展和应用2
1.3 USB的特点4
1.4 USB系统的描述5
1.5 电缆和连接器6
1.6 电源9
1.7 总线协议10
1.8 稳定性10
1.9 系统设置11
1.10 数据流种类11
1.11 USB设备13
1.12 USB主机: 硬件和软件14
第2章 EZUSB FX2简介
2.1 主机是主控者16
2.2 USB方向16
2.3 令牌和PID码17
2.4 USB帧18
2.5 USB传输类型19
2.6 设备枚举20
2.7 串行接口引擎21
2.8 设备重枚举22
2.9 EZUSB FX2构成22
2.10 EZUSB FX2特性24
2.11 EZUSB FX2集成微处理器24
2.12 EZUSB FX2硬件框图和封装25
2.13 EZUSB FX2端点缓冲区29
2.14 外部FIFO接口30
2.15 EZUSB FX2系列芯片32
第3章 EZUSB FX2控制端点0
3.1 引言33
3.2 控制端点EP033
3.3 USB请求35
3.3.1 获取状态37
3.3.2 设置特性39
3.3.3 清除特性40
3.3.4 获取描述符41
3.3.5 设置描述符45
3.3.6 设置配置47
3.3.7 获取配置47
3.3.8 设置接口48
3.3.9 获取接口48
3.3.10 设置地址49
3.3.11 同步帧49
3.3.12 固件装载50
第4章 EZUSB FX2枚举和重枚举
4.1 引言52
4.2 EZUSB FX2启动模式52
4.3 缺省USB设备53
4.4 EEPROM 引导加载数据的形式54
4.4.1 无EEPROM 或EEPROM无效54
4.4.2 “C0”EEPROM引导加载55
4.4.3 “C2”EEPROM引导加载55
4.5 EEPROM配置字节56
4.6 RENUM位57
4.7 EZUSB FX2响应设备请求58
4.8 固件加载的Vendor请求59
4.9 固件程序重枚举过程60
4.10 多重重枚举60
第5章 EZUSB FX2中断
5.1 引言61
5.2 特殊功能寄存器61
5.3 中断过程64
5.3.1 中断屏蔽65
5.3.2 中断检测66
5.3.3 中断响应时间66
5.4 USB特殊中断67
5.4.1 RESUME中断67
5.4.2 USB中断67
5.5 USB中断自动向量72
5.6 I2C总线中断74
5.7 FIFO/GPIF中断(INT4)74
5.8 FIFO/GPIF中断自动向量75
第6章 EZUSB FX2存储器
6.1 引言77
6.2 内部数据RAM77
6.3 外部程序存储器和外部数据存储器78
6.3.1 56和100引脚FX279
6.3.2 128引脚FX279
6.4 FX2存储器分配80
6.5 冯·诺伊曼片外程序存储器和数据存储器82
6.6 片内数据存储器(0xE000~0xFFFF)82
第7章 EZUSB FX2复位和电源管理
7.1 EZUSB FX2复位84
7.2 上电复位(POR)84
7.3 释放CPU复位85
7.4 CPU复位的影响86
7.5 USB 总线复位87
7.6 EZUSB FX2的“断开”87
7.7 EZUSB FX2电源管理88
7.8 USB挂起89
7.9 唤醒/恢复90
7.10 USB恢复(远程唤醒)92
第8章 EZUSB FX2 CPU介绍
8.1 引言94
8.2 8051的改进94
8.3 性能综述95
8.4 软件兼容性96
8.5 FX2与803x/805x的特性比较96
8.6 FX2与DS80C320的不同96
8.7 EZUSB FX2 寄存器接口97
8.8 EZUSB FX2 内部RAM98
8.9 I/O端口98
8.10 中断98
8.11 电源控制99
8.12 特殊功能寄存器99
8.13 外部地址/数据总线100
8.14 复位100
第9章 EZUSB FX2输入和输出
9.1 引言101
9.2 I/O端口101
9.3 I/O端口交替功能103
9.3.1 端口A 的交替功能105
9.3.2 端口B和端口D的交替功能105
9.3.3 端口C的交替功能106
9.3.4 端口E的交替功能107
9.4 I2C总线控制器108
9.4.1 连接I2C外围设备108
9.4.2 寄存器109
9.4.3 发送数据111
9.4.4 接收数据111
9.5 EEPROM引导加载器112
第10章 EZUSB FX2定时/计数器和串行接口
10.1 定时/计数器114
10.1.1 与803x/805x的兼容性114
10.1.2 定时器0和1115
10.1.3 定时器速率控制118
10.1.4 定时器2118
10.1.5 定时器2带俘获的16位定时/计数器方式120
10.1.6 定时器2带自动重装的16位定时/计数器方式120
10.1.7 定时器2波特率发生器方式120
10.2 串行接口122
10.2.1 与803x/805x 的兼容性124
10.2.2 高速波特率发生器124
10.2.3 方式0125
10.2.4 方式1127
10.2.5 方式2130
10.2.6 方式3131
第11章 EZUSB FX2端点缓冲区存取
11.1 引言133
11.2 FX2的大端点和小端点133
11.3 高速和全速的区别133
11.4 CPU如何配置端点134
11.5 CPU访问FX2端点数据135
11.6 CPU对FX2端点的控制136
11.6.1 控制小端点的EP0、EP1IN和EP1OUT的寄存器136
11.6.2 控制EP2、EP4、EP6和EP8的寄存器139
11.6.3 控制所有端点的寄存器142
11.7 设置数据指针145
11.7.1 传输长度145
11.7.2 可访问的内存空间146
11.8 自动指针146
第12章 EZUSB FX2从属FIFO
12.1 引言148
12.2 硬件148
12.2.1 从属FIFO引脚149
12.2.2 FIFO数据总线(FD)150
12.2.3 接口时钟(IFCLK)151
12.2.4 FIFO 标志引脚(FLAGA、FLAGB、FLAGC和FLAGD)151
12.2.5 控制引脚(SLOE、SLRD、SLWR、PKTEND和FIFOADR\[1∶0\])152
12.2.6 从属FIFO片选(SLCS)154
12.2.7 实现同步从属FIFO的写154
12.2.8 实现同步从属FIFO的读156
12.2.9 实现异步从属FIFO的写157
12.2.10 实现异步从属FIFO的读158
12.3 固件程序159
12.3.1 固件程序FIFO存取159
12.3.2 EPx存储器160
12.3.3 从属FIFO 可编程级标志(PF)161
12.3.4 自动输入/输出方式161
12.3.5 CPU存取OUT包(AUTOOUT=1)163
12.3.6 CPU存取OUT包(AUTOOUT=0)163
12.3.7 CPU存取IN包(AUTOOUT=1)165
12.3.8 CPU存取IN包(AUTOOUT=0)167
12.3.9 自动输入/输出初始化168
12.3.10 自动方式举例: 同步FIFO IN数据传输169
12.3.11 自动方式举例: 异步FIFO IN 数据传输170
12.4 手动输出与自动输出之间的切换170
第13章 EZUSB FX2通用可编程接口(GPIF)
13.1 引言171
13.2 硬件173
13.3 GPIF波形177
13.3.1 GPIF寄存器178
13.3.2 设计GPIF波形178
13.3.3 在判决点状态内再执行一个任务182
13.3.4 状态指令184
13.4 固件188
13.4.1 单向读事务处理195
13.4.2 单向写事务处理198
13.4.3 FIFO读和FIFO写事务处理201
13.4.4 GPIF标志的选择202
13.4.5 GPIF标志停止202
13.4.6 固件存取IN包(AUTOIN=1)206
13.4.7 固件存取IN包(AUTOIN=0)207
13.4.8 固件存取OUT包(AUTOOUT=1)213
13.4.9 固件存取OUT包(AUTOOUT=0)214
13.4.10 突发FIFO事务处理216
13.5 UDMA接口219
第14章 硬件开发工具介绍
14.1 SY2200 EZUSB FX2开发系统简介220
14.1.1 概述220
14.1.2 EZUSB开发系统框图220
14.1.3 初始下载过程221
14.2 开发系统配套内容222
14.2.1 开发系统硬件222
14.2.2 软件工具与文档222
14.2.3 其他推荐使用工具(系统未提供)223
14.3 SY2200 EZUSB FX2开发系统安装223
14.3.1 软件安装223
14.3.2 硬件安装224
14.4 SY2200 EZUSB FX2开发板225
14.4.1 总体介绍225
14.4.2 I2C总线扩展连接器226
14.4.3 EEPROM选择和使能跳线连接器226
14.4.4 USB和串口连接器227
14.4.5 扩展连接器227
14.4.6 PCF8574扩展I/O229
14.4.7 地址分配229
14.5 SY2200 EZUSB FX2开发板整体操作流程229
第15章 软件开发工具及其使用
15.1 EZUSB控制面板236
15.1.1 控制面板的启动236
15.1.2 控制面板程序的基本操作内容237
15.1.3 主操作菜单238
15.1.4 应用程序工具栏240
15.1.5 主屏工具栏240
15.1.6 操作工具栏240
15.1.7 制造商请求工具栏243
15.1.8 同步传输工具栏243
15.1.9 批量传输工具栏244
15.1.10 管道操作和设置接口工具栏244
15.1.11 GPIF Tool的具体作用及其操作方法简介245
15.2 利用Keil C调试程序245
第16章 固件框架和函数库
16.1 固件框架250
16.1.1 概述250
16.1.2 构建框架251
16.1.3 框架函数挂钩252
16.1.4 框架全局变量257
16.1.5 描述符表257
16.1.6 固件框架应用举例261
16.1.7 设计专用设备固件程序278
16.2 固件函数库278
16.2.1 固件函数库相关文件279
16.2.2 固件函数库279
16.2.3 固件函数库应用举例281
第17章 设备驱动及应用程序设计
17.1 固件下载USB设备驱动程序283
17.1.1 简介283
17.1.2 开发EZLoader设备驱动程序的步骤284
17.1.3 设计举例285
17.2 EZUSB通用设备驱动程序(GPD)规范288
17.2.1 引言288
17.2.2 生成EZUSB通用设备驱动程序289
17.2.3 装载EZUSB通用设备驱动程序289
17.2.4 GPD与应用程序的接口290
17.2.5 I/O控制码(IOCTL)参考291
17.3 应用程序设计举例300
第18章 EZUSB FX2编程及应用实例
18.1 上传和下载EZUSB内部RAM和扩展RAM(a3load.hex)308
18.2 批量端点环路测试(bulkext.hex)309
18.3 批量环路测试(bulkloop.hex)309
18.4 批量端点无限发送接收测试(bulksrc.hex)310
18.5 按钮和灯(dev_io.hex)311
18.6 批量传输测试(ezbulk.hex)311
18.7 利用批量端点对进行环路测试(ibn.hex)313
18.8 内部存储器测试(imemtest.hex)313
18.9 采用PING NAK中断的批量端点环路测试(pingnak.hex)317
18.10 Vendor专用命令程序(Vend_Ax.hex)318
18.11 HID人机接口设备的开发实例318
18.11.1 HID描述符318
18.11.2 HID设备的基本请求319
18.11.3 HID设备固件程序320
18.11.4 VB应用程序设计329
18.11.5 程序运行结果340
附录A EZUSB FX2封装、引脚分配及功能
附录B 寄存器
B.1 引言357
B.2 特殊功能寄存器358
B.3 GPIF波形存储器364
B.4 通用配置寄存器365
B.4.1 CPU 控制和状态365
B.4.2 接口配置(端口、GPIF、Slave FIFO)366
B.4.3 从属FIFO FLAGA~FLAGD引脚配置368
B.4.4 FIFO复位370
B.4.5 断点、断点高位地址和断点低位地址370
B.4.6 设置230 Kb/s(T0、T1、T2)371
B.4.7 Slave FIFO 接口引脚极性371
B.4.8 芯片修改ID372
B.4.9 芯片版本控制372
B.4.10 GPIF保持时间373
B.5 端点配置寄存器374
B.5.1 端点1OUT/端点1IN 配置374
B.5.2 端点2、4、6和8配置374
B.5.3 端点2、4、6和8的Slave FIFO配置376
B.5.4 端点2、4、6、8 AUTOIN包长度(高/低位)377
B.5.5 端点2、4、6、8/Slave FIFO可编程级标志(高/低位)378
B.5.6 端点2、4、6、8 ISO每帧IN包383
B.5.7 强制IN包结束384
B.5.8 强制OUT包结束384
B.6 中断寄存器385
B.6.1 端点2、4、6、8 Slave FIFO 标志中断使能/请求385
B.6.2 INBULKNAK中断使能/请求386
B.6.3 端点PINGNAK/IBN 中断使能/请求387
B.6.4 USB中断使能/请求388
B.6.5 端点中断使能/请求389
B.6.6 GPIF中断使能/请求389
B.6.7 USB错误中断使能/请求390
B.6.8 USB 错误计数器限定391
B.6.9 清除错误计数391
B.6.10 INT2(USB)自动向量391
B.6.11 INT4(Slave FIFO和GPIF)自动向量392
B.6.12 INT2和INT4设置392
B.7 输入/输出寄存器393
B.7.1 I/O PORTA交替配置393
B.7.2 I/O PORTC 交替配置393
B.7.3 I/O PORTE交替配置394
B.7.4 I2C总线控制和状态394
B.7.5 I2C总线数据396
B.7.6 I2C总线控制396
B.7.7 自动指针1和2的MOVX访问396
B.8 UDMA CRC寄存器397
B.9 USB控制寄存器398
B.9.1 USB控制和状态398
B.9.2 进入挂起状态399
B.9.3 唤醒控制和状态399
B.9.4 数据触发控制400
B.9.5 USB帧计数的高位401
B.9.6 USB帧计数的低位401
B.9.7 USB微帧计数401
B.9.8 USB功能地址402
B.10 端点寄存器402
B.10.1 端点0(字节计数高位)402
B.10.2 端点0控制和状态(字节计数低位)402
B.10.3 端点1 OUT/IN字节计数403
B.10.4 端点2和端点6字节计数高位403
B.10.5 端点4和端点8字节计数高位403
B.10.6 端点2、4、6、8字节计数低位404
B.10.7 端点0控制和状态404
B.10.8 端点1 OUT/IN控制和状态405
B.10.9 端点2控制和状态406
B.10.10 端点4控制和状态406
B.10.11 端点6控制和状态407
B.10.12 端点8控制和状态407
B.10.13 端点2和端点4的Slave FIFO标志408
B.10.14 端点6和端点8的Slave FIFO标志408
B.10.15 端点2的Slave FIFO总字节计数高位409
B.10.16 端点6的Slave FIFO总字节计数高位409
B.10.17 端点4和端点8的Slave FIFO字节计数高位409
B.10.18 端点2、4、6、8的Slave FIFO字节计数低位410
B.10.19 设置数据指针高位和低位地址410
B.10.20 设置自动数据指针411
B.10.21 设置数据的8字节411
B.11 通用可编程接口(GPIF)寄存器412
B.11.1 GPIF波形选择器412
B.11.2 GPIF工作和闲置驱动方式412
B.11.3 CTL输出413
B.11.4 GPIF高位地址414
B.11.5 GPIF地址的低位414
B.11.6 GPIF流状态寄存器415
B.11.7 GPIF事务处理计数字节421
B.11.8 端点2、4、6、8 GPIF标志选择422
B.11.9 端点2、4、6、8 GPIF停止传输422
B.11.10 端点2、4、6、8的Slave FIFO GPIF触发423
B.11.11 GPIF数据高位(16位方式)423
B.11.12 读/写GPIF数据低位和触发传输423
B.11.13 读GPIF数据低位,无事务处理触发423
B.11.14 GPIF RDY引脚配置424
B.11.15 GPIF RDY引脚状态424
B.12 端点缓冲区寄存器425
B.12.1 端点0 IN/OUT缓冲区425
B.12.2 端点1 OUT缓冲区425
B.12.3 端点1 IN 缓冲区425
B.12.4 端点2/Slave FIFO缓冲区426
B.12.5 512字节端点4/Slave FIFO缓冲区426
B.12.6 512/1 024字节端点6/Slave FIFO缓冲区426
B.12.7 512字节端点8/Slave FIFO缓冲区427
B.13 同步延时寄存器427
附录C EZUSB FX2指令集
C.1 引言429
C.2 指令时序433
C.3 延展存储器周期(等待状态)433
C.4 双数据指针434
C.5 特殊功能寄存器435
附录D 常用词汇英汉注释
|
精彩片段: |
|
书 评: |
|
其 它: |
|
|
|