1.2 USBl00通用串行总线模块

USBlOO是基于ASIC设计的,内部封装了USBl.1全部协议以及300位元组的内部FIF0,8位并行数据接口,对USB的操作类似于对外部内存的操作,由USBl00模块完成全部协议的转换和封装,使开发的过程变得简单。注意:由于USBlOO输出TTL电平的数据,可以与5V的单片机很好地连接,而C8051F060是3.3 V的系统,为了系统的稳定性,中间需要增加3~5 V电平转换电路。

DO~D7:数据口是一个8位双向I/0口。它是一个8位并口,C8051F060通过它和USBlOO交换数据。

RD:允许内部接收缓冲区数据通过8位并行总线读出。

WR:将8位并行总线上的数据锁存入内部缓冲区。

TXE:高表示模块发送缓冲区已满;低表示发送缓冲区为空,可以发送数据。

RXF:高表示模块没有数据输出;低表示模块有数据输出,可以读数据。

LISBVCC:USB界面的电源脚。

D+:USB数据脚。

D一:USB数据脚。

GND:电源地。

0UTVCC:+5V输出,可以提供给外部MCU使用,最大为400 mA。

NC:空引脚。

USBl00模块的控制时序:

发送时序如图3所示。当单片机检测到USBl00模块TXE为低时,表示内部发送缓冲区允许发送数据,可以将数据通过8位数据总线DO~D7发给USBl00模块,发送数据锁存由WR控制;USBl00模块TXE为高时,禁止发送数据。

接收时序如图4所示,当单片机检测到USBl00模块RXF为低时,表示内部接收缓冲区有数据,可以通过8位数据总线DO~D7发给C8051F060单片机,接收数据锁存由RD控制。