主要介绍嵌入USB控制核的51系列单片机EZ-USB的特性及传输与控制机理。该内核可帮助USB外设开发者完成USB协议中规定的80%~90%的通信工作,是USB外设研制者的理想选择。
文中还对使用不同的USB芯片组成的应用系统作了比较
1 概述
随着PC的广泛应用,其外设也越来越多,打印机、鼠标、扫描仪、游戏杆、音箱……,每个外设都需要通过一个接口与PC相连。外设多了,PC的I/O插口自然也就不够用了。在很多特定的应用场合,如工业数据采集等领域,常常用采集板卡来完成工作,而每一个板卡自然会占用一个PC插槽。PC插槽有限。采集点多了就不够用。除此之外,在个人电脑的应用中,外围设备存在很多问题。这些问题大致可以归结到成本、配置以及个人电脑的连接等几个方面,而USB正是为了解决这些问题而出现的一种方案。简而言之,USB的出现不仅解决了I/O插口不够的问题,而且还建立了一条连接和访问外设的方法。这些方法可以有效地减少总体成本,而且从终端用户的角度来看,可以增加可连接的外设数目,简化设备的连接和配置。
通用串行总线USB是由Intel等厂商制定的连接计算机与具有USB接口的多种外设之间的串行总线。其拓扑结构如图1所示。
图1 USB的层次拓扑图
USB的特性有:
◇ 成本低。为了把外设连接到PC上,USB提供了一种低成本的解决方案。
◇ 热插拔。设备连接后由USB自动检测,并由软件自动配置,完成后可立即使用,无须用户干涉。
◇ 单一的连接器类型。USB定义了一种简单的连接器,可以用来连接任何一个USB设备。多个连接器可以通过USB集线器连接。
◇ 每个USB总线支持127个设备的连接。
◇ USB支持三种设备传输速率:1.5 Mb/s(低速设备)、12 Mb/s(中速设备)和480 Mb/s(高速设备)。
◇ 外设能够直接由USB总线进行供电。
◇ 不需要系统资源(如内存、I/O地址空间和中断请求线路)。
◇ USB事务处理包括错误检测机制,它们用以确保数据无错误发送。
◇ 电源保护。如果连续3 ms没有总线活动,USB将自动进入挂起状态。
◇ 支持四种类型的传输方式:块传输、控制传输、中断传输和同步传输。
2 通用USB控制系统的组成结构
在每一个USB设备中都有一个串行接口引擎(SIE)。SIE与USB数据线的D+和D-两个引脚相连,与USB设备进行字节传送。图2表示一次USB块传输,时间顺序从左到右。SIE对PID信息包进行解码,并通过传送的CRC位对数据进行错误检测,然后,将有效数据送到USB设备。如果SIE检测到一个出错的数据,它并不是发出一个握手信号,而是自动地不进行响应,并告诉主机延时重发。
图2 SIE的功能
由于USB被设计成可以用简便有效的方法来与多种类型的外设通信,没有现有接口的局限性和缺点,这样,导致了对USB接口的设计和编程更加复杂。为了降低设计者的开发难度,使用专用的USB控制器已成为研制人员的首选方案。