第1 章 USB 设备控制器固件编程..7
1.1 USB 设备控制器简介..7
1.1.1 控制器特性.7
1.1.2 控制器结构.7
1.1.3 端点配置..8
1.1.4 USB 数据流9
1.1.5 USB 设备控制器寄存器..11
1.2 usbDev2400 固件程序设计思想..12
1.3 usbDev2400 配置头文件..15
1.4 usbDev2400 硬件抽象层..15
1.5 usbDev2400 命令接口层..17
1.5.1 USB 器件中断寄存器17
1.5.2 端点中断寄存器19
1.5.3 端点使用寄存器21
1.5.4 数据传输寄存器23
1.5.5 从机模式下端点的数据传输.24
1.5.6 SIE 命令寄存器.28
1.5.7 USB 协议引擎命令描述..30
1.5.8 USB 协议引擎命令的实现.30
1.6 usbDev2400 应用层.40
1.6.1 初始化USB 设备控制器.40
1.6.2 USB 设备控制器中断服务程序..41
1.6.3 低优先级中断服务程序44
1.6.4 USB 设备控制器事件处理.45
1.6.5 控制传输处理.46
1.6.6 端点数据收发.47
1.7 usbDev2400 协议层.50
1.7.1 标准设备请求.50
1.7.2 标准设备请求的实现.51
1.8 usbDev2400 DMA 层.65
1.8.1 DMA 引擎工作原理65
1.8.2 DMA 引擎相关中断69
1.8.3 DMA 引擎相关寄存器..70
1.8.4 DMA 引擎编程要点72
1.8.5 DMA 引擎初始化73
1.8.6 DMA 中断服务程序76
1.8.7 DMA 操作相关API 函数79
1.9 usbDev2400 使用注意事项.81
第2 章 usbDev2400 固件程序的应用.82
2.1 一个最简单的例子..82
2.1.1 要求..82
2.1.2 硬件配置82
2.1.3 程序的编写..82
2.1.4 程序运行83
2.1.5 总线数据分析.84
2.2 收发大量数据的例子.86
2.2.1 要求..86
2.2.2 硬件配置86
2.2.3 实现的方法..86
2.2.4 程序的编写..86
2.2.5 例子的运行..91
2.2.6 总线数据分析.93
2.3 HID 类示例..94
2.3.1 要求..94
2.3.2 硬件配置94
2.3.3 程序的编写..95
2.3.4 程序的运行102
2.3.5 总线数据分析..104
2.4 DMA 使用例子..105
2.4.1 要求105
2.4.2 硬件配置.105
2.4.3 程序的编写105
2.4.4 程序的运行107
2.4.5 总线数据分析..108
第3 章 ZLG/USB2400 DEVICE 软件包的开发与应用.110
3.1 软件包运行的硬件条件.110
3.2 ZLG/USB2400 DEVICE 软件包总体设计思想110
3.3 软件包应用层的实现.. 111
3.3.1 初始化USB 设备控制器.. 111
3.3.2 USB 总中断服务程序.114
3.3.3 低优先级中断..115
3.3.4 控制传输的实现.116
3.3.5 端点数据收发设计思想.118
3.3.6 非DMA 模式下从USB 主机接收数据120
3.3.7 非DMA 模式向USB 主机发送数据.125
3.3.8 DMA 模式下从USB 主机接收数据..132
3.3.9 μC/OS-II 中的DMA 中断服务程序134
3.3.10 DMA 模式下向USB 主机发送数据..138
3.4 ZLG/USB2400 DEVICE 软件包的使用142
3.4.1 ZLG/USB2400 DEVICE 软件包的配置方法.142
3.4.2 ZLG/USB2400 DEVICE 软件包API 函数.143
3.5 USB-EEPROM 编程器..145
3.5.1 编程器结构示意图145
3.5.2 原理分析.146
3.5.3 设备端应用程序设计..146
3.5.4 总线数据分析..162
第4 章 USB 大容量类从机驱动设计174
4.1 USB 大容量类软件包功能..174
4.2 术语和简写174
4.3 USB 大容量类软件包层次结构175
4.4 USB 设备驱动接口..176
4.5 USB 批量传输模块..181
4.5.1 批量传输规范的命令/数据/状态流程181
4.5.2 命令块数据包(CBW)的处理184
4.5.3 命令状态包(CSW)的建立.186
4.5.4 主机/设备的数据传输.190
4.6 RBC 处理模块.193
4.6.1 RBC 命令处理主函数.194
4.6.2 查询命令(0x12) ..196
4.6.3 读格式化容量(0x23) 199
4.6.4 读容量命令(0x25) .202
4.6.5 模式判别命令(0x1A) ..203
4.6.6 请求判别数据命令(0x03) .207
4.6.7 读(10)命令(0x28) ..209
4.6.8 写(10)命令(0x2A)..210
4.6.9 检证命令(0x2F)..212
4.6.10 禁止/允许介质移除命令(0x1E).213
4.6.11 测试单元准备命令(0x00) .214
4.7 存储器接口215
4.8 多逻辑单元的支持221
4.9 USB 大容量类软件包使用..223
4.9.1 移植软件包到新的USB 设备224
4.9.2 添加存储器支持.231
4.9.3 软件包用户程序接口..239
4.9.4 使用示例.240
第5 章 USB HOST 控制器及OHCI 规范..244
5.1 LPC2400 系列ARM USB HOST 特性及结构.244
5.2 USB HOST 控制器规范简介..245
5.3 OHCI 概览.246
5.4 USB 状态248
5.5 OHCI 数据结构..249
5.5.1 端点描述符ED(Endpoint Descriptor) .250
5.5.2 传输描述符TD(Transfer Descriptor) ..254
5.5.3 主机控制器通信区域HCCA..261
5.6 主机调度.264
5.6.1 带宽分配.264
5.6.2 端点描述符链表(ED List)调度..265
5.6.3 传输描述符处理流程..270
5.7 中断处理.271
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !