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控制。