- 1、本文档共64页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
USB通信程序开发.
目录
第一章 绪论 1
1.1 PC接口简介 1
1.2 USB 接口分析 1
1.3 USB 器件的选择 1
1.4 Mass Storage协议与FAT16文件系统 2
第二章 USB总线结构 3
2.1 总线拓扑结 3
2.2 USB设备 3
2.2.1 USB HUB 4
2.2.2 即插即用 5
2.2.3 设备电源 6
2.2.4 设备的挂起 6
2.3 USB主机 6
2.4 USB数据流 7
2.5 USB的端点 9
第三章 协议 12
3.1 Mass Storage 协议 12
3.2 Bulk-Only传输协议 16
3.3 SCSI指令集 18
3.4 FAT16 文件系统 21
3.4.1 FAT 文件系统结构 21
3.4.2 Flash盘的FAT结构 26
第四章 程序实现与调试 29
4.1 固件程序的实现 29
4.1.1 主循环——MAINLOOP.C 29
4.1.2 中断服务程序——D12ISR.C 29
4.1.3 标准设备请求处理——D12SETUP.C 33
4.1.4 NAND FLASH操作程序——NFLASH32.C 38
4.2 固件调试 42
4.2.1 检查USB器件是否正常工作 42
4.2.2 设备枚举 43
4.2.3 BULK_ONLY传输协议命令处理 43
4.2.4 FLASH的读写 45
结论 46
致谢 47
参考文献 48
附录 49
附录 A USB接口芯片命令总汇 49
A1.初始化命令 50
A2.数据流命令 54
A3.数据流命令 59
附录 B U盘固件程序源码清单 60
第一章 绪论
1.1 PC接口简介
PC中的接口有两类:串行接口和并行接口。计算机内部总线,如CPU与存储器之间匀采用并行接口,这样速度快;但外设却以串行接口比较占优势。传统的打印机接口为并行接口。SCSI标准的全名是小型设备通用接口标准,其传输速率为10M,早期的扫描仪一般使用此接口,硬盘与主机的联接也使用这种接口。串行接口出现最早,使用最广的RS232接口,但其速度太慢,现在已经逐渐被淘汰。USB接口和IEEE1394接口是两种速度比较高的串行接口,还有局域网中的以太网接口,它们具有较广阔的发展前景和应用潜力。USB适用于低档外设与主机之间的高速数据传输,USB1.1可以达到1.5Mbps或12Mbps的传输率,而1394更是可达100/200/400Mbps。USB2.0将速度定位在480Mbps,而IEEE1394也推出了1394b 1.3.1 版草案,速度从800Mbps起步,最高可达3.2Gbps。局局域中用得最多的是以太网接口,速度可达100Mbps,当使用光纤传输时,速度可达1000Mbps。
1.2 USB 接口分析
通用串行总线(Universal Serial Bus USB),是一种快速、灵活的总线接口。与其它通信接口比较,USB接口的最大特点是易于使用,这也是USB的主要设计目标。作为一种高速总线接口,USB适用于多种设备,如数码相机、MP3播放机、高速数据采集设备等。易于使用还表现在USB接口支持热插拔,并且所有的配置过程都由系统自动完成,无需用户干预。USB接口支持1.5Mb/s(低速)、12Mb/s(全速)和高达480Mb/s(USB 2.0规范)的数据传输速率,扣除用于总线状态、控制和错误监测等的数据传输,USB的最大理论传输速率仍达1.2Mb/s或9.6Mb/s,远高于一般的串行总线接口。USB接口芯片价格低廉,一个支持USB 1.1 规范的USB接口芯片价格大多在人民币(2004年)15~30元之间,这也大大促进USB设备的开发与应用。
1.3 USB 器件的选择
在进行一个USB设备开发之前,首先要根据具体使用要求选择合适的USB控制器。目前,市场上供应的USB控制器主要有两种:带USB接口的单片机(MCU)或纯粹的USB接口芯片。带USB接口的单片机从应用上又可以分成两类,一类是从底层设计专用于USB控制的单片机另一类是增加了USB接口的普通单片机,如Cypress公司的EZ-USB(基于8051),选择这类USB控制器的最大好处在于开发者对系统结构和指令集非常熟悉,开发工具简单,但对于简单或低成本系统。但价格因素也是在实际选择过程中需要考虑的因素。纯粹的USB 接口芯片仅处理USB通信,必须有一个外部微处理器来进行协议处理和数据交换。典型产品有Philips公司的PDIUSBD11(I2C接口)、PDIUSBD12(并行接口),NS公司的USBN9603/9604(并行接口),NetChip公司的NET2888 等。USB接口芯片的主要特点是价格便宜、接口方便、可靠性高,尤其适合于产品的改型设计(硬件上仅
文档评论(0)