摘要
USB(通用串行总线)是一种应用在PC领域的新型接口技术,是现在非常流行的一种快速、双向、廉价、可以进行热插拔的接口。在遵循USB1.1规范的基础上,USB接口最高传输速度可达到12Mb/s;而在最新的USB2.0规范下,更可达到480M/s。同时它可以连接127个USB设备,而且连接方式也十分灵活,既可使用串行连接,也可使用集线器(Hub)把多个设备连接在一起,再同PC机的USB接口相连。此外,它还可以从系统中直接汲取电流,无需单独的供电系统。USB由此获得了广泛的应用。
本文以Phillips公司的USB控制芯片PDIUSBD12为例,采用USB1.1协议,介绍了嵌入式系统USB的开发流程,重点讨论了USB外设控制器中固件的设计和实现, 用单片机实现USB高层通信协议,同时提供了利用C语言进行USB外设控制接口编程时的一些基本考虑,其中主要涉及到USB规范中描述主机和外设在应用层进行通信的部分。本设计完全由作者自行学习完成,对USB通信进行了初步实现,同时保留了各项功能接口,可作为其他设计时的参考模板。
关键词:USB接口,PDIUSBD12芯片
目
录
摘要………………………………………………………………………… 1
Abstract …………………………………………………………………… 2
第一章
引言 …………………………………………………………… 3
第二章
USB设计基础及方案 ………………………………………
3
2.1 基本体系结构
………………………………………………………
3
2.2
USB通信流 ………………………………………………………… 4
2.3
传送类型
……………………………………………………………
5
2.4
传送的总线访问
……………………………………………………
5
2.5 外设接口技术
………………………………………………………
6
第三章
核心芯片的选择 ………………………………………………
6
第四章
USB工作电路设计初步 ………………………………………
7
4.1 设计方案
……………………………………………………………
8
4.1.1 简单接口电路 …………………………………………………
8
4.1.2 带DMA视频信号接口功能的USB接口电路 ………………………
9
4.2 系统主要电路
………………………………………………………
9
第五章
USB外设控制器固件的设计 ………………………………
10
5.1 主循环
………………………………………………………………
11
5.2 中断服务程序
………………………………………………………
12
5.3 标准器件请求函数
…………………………………………………
17
5.4
PDIUSBD12命令接口
………………………………………………
21
5.5 硬件提取层
…………………………………………………………
21
第六章
主机端软件的设计
…………………………………………… 22
第七章
验证USB接口连接和数据传输
…………………………… 22
第八章 总结 …………………………………………………………………
24
参考文献
……………………………………………………………………
25
附录:
程序清单
…………………………………………………………
26
第一章
引言
嵌入式USB接口设备开发是对USB开发全程的模拟体验,从底层电路的搭建到各种USB程序的编写在大学教程中根本没有涉及,需要通过阅读大量的相关资料来获取,亦需要不短的时间来熟悉、消化。同时在USB开发过程中需要对USB硬件结构有足够了解,且对各种编程手段(固件编程、VB、VC++、数据库等)的熟练应用都有较高的要求,对开发人员的知识的学习吸收能力及综合素质对是极大的考验。USB技术作为新兴技术,在各个领域都得到了广泛应用。
USB(UniversalSerialBus)是一种新型的通用串行总线,它具有即插即用、可热插拔和传输速率快等特点,使得支持USB技术的产品和设备越来越多,在工业界已经获得了广泛的支持和应用。目前一般的PC机、笔记本电脑等都为用户提供了USB接口,并且Windows和Linux等流行操作系统都支持USB协议。USB外设以惊人的速度发展,迄今为止,各种USB的外设已经有上千种。除了象显卡这种需要极高数据量和一些实时性要求特别高的控制设备,几乎所有的PC外设都可以移植到USB上来。而事实上国外几乎已经做到了这一点。USB的PC外设有着大得不可限量的发展空间。譬如:
1. 传统PC外设,象鼠标、键盘、音箱、游戏杆、扫描仪、打印机等;
2. 基于PC的通信设备,如Modem,
ISDN等;
3. 端口转接器,如USB-->232,
USB-->LPT等,以适应原来的设备;
4. 具有中国特色的设备,象汉字输入笔那样的东西;