USB协议的复杂性意味着USB外设必须具备智能。USB控制器必须知道如何检测并对USB端口的事件做出反应。一般的做法是:USB控制器只处理USB通信,由一个外部的微控制器(MCU)来管理USB控制器的寄存器、设备描述符的获取和数据包的交换等,如图3所示。
图3 通用USB设备的组成结构
表1所示为可与一般微控制器连接的USB控制器。
表1
USB控制器使用串行口或并行口与MCU连接。这样,外部接口可能比USB最大速度要慢,使得芯片只适合传送间歇数据。这样设计的好处是系统组成灵活,可根据不同的系统需求,搭配不同的MCU,使其具有很高的性能价格比;但同时也加大了编程设计人员的开发难度,延长了产品的开发周期。
另一种可行的方法是使用嵌入MCU的USB控制器。这样,CPU只需要访问一系列寄存器和存储器,便可实现USB口的数据传输。从而简化了程序的设计,并且许多供应商还提供许多范例电路和测试代码,使设计者从复杂的协议解释中得到解脱。现在,许多芯片制造商开始生产一些基于通用MCU的USB控制器,采用研制人员所熟知的指令集,大大简化了编程的难度。如基于8051结构的USB控制器有:Intel公司的8X930A、8X931A;CYPRESS公司的EZ-USB等。此外,还有基于MITSUBISHI 740/7600/M16C的USB芯片;基于MOTORORA HC05系列的USB芯片等。受篇幅所限,本文仅介绍EZ-USB 2100系列单片机。
3 EZ-USB组成结构及特性
美国CYPRESS公司是一家从事USB接口芯片和USB单片机开发和生产的公司。CYPRESS最新推出的带智能USB接口的单片机EZ-USB,极大地降低了USB外设的开发难度,为PC外设的制造商提供了一个性能优良、价格较低的设计方案。
EZ-USB有多个系列的产品,根据不同的速率需求,可满足不同的系统要求和价格。CYPRESS提供三个系列的EZ-USB芯片,如表2和表3所列。
表2 CYPRESS的EZ-USB系列产品
表3 EZ-USB2100系列产品
3.1 EZ-USB芯片组成结构
EZ-USB芯片将USB接口的控制核整合到单片机集成电路中,如图4所示。
集成的USB收发模块与USB 总线的D+和D-引脚相连。SIE进行串行数据译码和错误更正,以及其他USB所要求的信号级操作等,最后,再与USB收发模块接口进行数据字节的传输。
图4 EZ-USB的组成框图
内部的微处理器在标准8051上缩短了执行时间并增加了新的特性。它用内部SRAM存储程序和数据,使EZ-USB 系统具有软配置的特性。USB主机经USB总线将8051的程序代码和描述符装入SRAM中,然后,EZ-USB芯片用已下装程序中定义的外设特性进行重新连接,这个过程也叫再枚举。