CEPARK USB开发教程:从入门到实践

需积分: 9 2 下载量 133 浏览量 更新于2024-07-21 收藏 15.16MB PDF 举报
"圈圈的usb教程,包含了USB的基础知识,CEPARK-USB开发板的详细教程,以及圈圈的早期USB作品和原创USB入门系统文章。" 这篇教程旨在帮助初学者理解USB技术并进行实践操作。USB(Universal Serial Bus)是一种通用串行总线,广泛应用于计算机和电子设备之间,提供数据传输和供电。教程首先介绍了学习USB的目的,强调了其在现代电子设备中的重要性。内容包括USB的基本概念,如USB简述、接口类型(如前置接口、硬盘盒接口、无线USB)、不同接口与数据线的区别,以及USB3.0的特性。 CEPARK为学习者提供了低价USB开发套件,旨在降低学习门槛。CEPARK-USB开发板具有独特的特点,如便携性和实用性,并附带详细的教学资源,如开发板的功能介绍、配件清单、安装焊接和调试方法。此外,还提供了申请免费开发板的流程,以鼓励更多人参与学习。 开发板教程涵盖了从硬件到软件的全过程,包括原理图、PCB布线图、安装图和元件清单。同时,教程还包括了实际操作部分,如焊接收工、贴片元器件焊接,确保学习者能亲手制作出工作正常的USB设备。 "圈圈早期USB作品"部分展示了作者通过USB技术实现的一些创新项目,如使用AT89S52和D12模拟U盘,AT89S52和D12搭建的IDE-USB转接板,基于AT89C51的硬件MP3播放器(具备USB大容量存储功能),自制USB键盘、鼠标和MIDI键盘。这些作品不仅展示了USB技术的应用,也为读者提供了实践灵感。 最后,"圈圈原创USB入门系统文章"部分深入讲解了USB HID(Human Interface Device)报告和报告描述,澄清了一些关于USB的常见误区,为读者构建了扎实的USB理论基础。 这份教程是USB学习者的宝贵资源,它不仅讲解了USB的基本知识,还提供了丰富的实践指导和创新示例,有助于读者全面理解和掌握USB技术。
2013-03-17 上传
第一章 USB概述及协议基础 1 1.1 USB是什么 1 1.2 USB的特点 1 1.3 USB的拓扑结构 2 1.4 USB的电气特性 5 1.5 USB的线缆以及插头、插座 5 1.6 USB的插入检测机制 7 1.7 USB的描述符及其之间的关系 9 1.8 USB设备的枚举过程 10 1.9 USB的包结构及传输过程 11 1.9.1 USB包的结构及包的分类 11 1.9.2 令牌包 13 1.9.3 数据包 14 1.9.4 握手包 14 1.9.5 特殊包 15 1.9.6 如何处理数据包 15 1.10 USB的四种传输类型 16 1.10.1 USB事务 16 1.10.2 批量传输 16 1.10.3 中断传输 18 1.10.4 等时传输(同步传输) 19 1.10.5 控制传输 20 1.10.6 端点类型与传输类型的关系 21 1.10.7 传输类型与端点支持的最大包长 21 1.11 本章小结 21 第二章 硬件系统设计 1 2.1 方案以及芯片的选定 1 2.2 D12引脚功能说明 2 2.3 D12与89S52的连接 4 2.4 串口部分电路 6 2.5 按键部分 7 2.6 指示灯部分 7 2.7 IDE接口部分 8 2.8 单片机部分 8 2.9 元件安装 8 2.10 电路调试 11 2.11 测试程序的编写和调试 12 2.11.1 建立一个工程 12 2.11.2 为工程添加源文件 14 2.11.3 KEIL工具栏及仿真介绍 15 2.11.4 按键驱动的编写 18 2.11.5 串口驱动的编写 24 2.11.6 PDIUSBD12读写函数及读ID的实现 28 2.12 本章小结 33 第三章 USB鼠标的实现 1 3.1 USB鼠标工程的建立 1 3.2 USB的断开与连接 1 3.3 USB中断的处理 4 3.4 读取从主机发送到端点0的数据 6 3.5 USB标准请求 12 3.5.1 USB标准设备请求的结构 13 3.5.2 GET_DESCRIPTOR请求 15 3.5.3 SET_ADDRESS请求 16 3.5.6 SET_CONFIGURATION请求 16 3.6 设备描述符的实现 17 3.7 设备描述符的返回 20 3.8 设置地址请求的处理 30 3.9 配置描述符集合的结构 32 3.9.1 配置描述符的结构 32 3.9.2 接口描述符的结构 33 3.9.3 端点描述符的结构 33 3.9.4 HID描述符的结构 34 3.10 配置描述符集合的实现以及返回 35 3.11 字符串及语言ID请求的实现 39 3.12 设置配置请求的实现 45 3.13 报告描述符的结构及实现 48 3.14 报告的返回 54 3.15 Bus Hound工具的简介 57 3.16 本章小结 59 第四章 USB键盘的实现 1 4.1 USB键盘工程的建立 1 4.2 设备描述符的实现 1 4.4 配置描述符集合的实现 2 4.4.1 配置描述符 3 4.4.2 接口描述符 3 4.4.3 HID描述符 3 4.4.4 端点描述 3 4.5 字符串描述符 6 4.6 报告描述符 6 4.7 输入和输出报告的实现 10 4.8 USB键盘实例的测试 13 4.9 再谈USB HID的报告描述符 14 4.10 带鼠标功能的USB键盘(方法一) 16 4.11 带鼠标功能的键盘(方法二) 22 4.12 多媒体USB键盘 29 4.13 本章小结 34 第五章 用户自定义的USB HID设备 1 5.1 MyUsbHid工程的建立 1 5.2 描述符的修改 1 5.3 报告的实现 3 5.4 对用户自定义的USB HID设备的访问 5 5.5 访问HID设备时所用到的相关函数 5 5.5.1 获取HID设备的接口类GUID的函数 5 5.5.2 获取指定类的所有设备信息集合的函数 6 5.5.3 从设备信息集合中获取一个设备接口信息的函数 6 5.5.4 获取指定设备接口详细信息的函数 7 5.5.5 打开设备的函数 8 5.5.6 获取HID设备属性的函数 8 5.5.7 从设备读取数据的函数 9 5.5.8 往设备写数据的函数 9 5.5.9 通过控制端点0读取报告的函数 10 5.5.10 通过控制端点0发送报告的函数 10 5.5.11 关闭设备的函数 10 5.5.12 需要包含的库文件 11 5.6 访问USB HID设备的上位机软件的实现 11 5