EZ-USB系列使用了强大的SIE/USB接口(称为USB内核)。这个具有强大功能的内核可以自动完成USB协议的转换,简化8051的代码。
EZ-USB 芯片在3.3 V电压下就可以运行,简化了USB设备总线电压的设计。
3.2 EZ-USB特性
① 改进的8051内核。性能可达到标准8051的5~10倍,与标准8051的指令完全兼容。
② 高度集成。传统USB外设的硬件设计通常包括非易失性存储器(如EPROM、EEPROM、FLASH ROM)、微处理器、RAM、SIE(串行接口引擎)和DMA等。EZ-USB将上述多个模块集成在一个芯片中,从而减少了各芯片接口部分时序配合时的麻烦。
③ USB 内核。EZ-USB可以代替USB外设开发者完成USB协议中规定的80 %~90 %的通信工作,使得开发者不需要深入了解USB的低级协议即可顺利地开发出所需要的USB外设。EZ-USB系列芯片接收全部USB 的吞吐量。这种采用EZ-USB的设计,不受端点数目、缓冲区大小及传输速度的限制。
④ 软配置。外设未通过USB接口连接到PC机之前,外设上的固件存储在PC上;一旦外设接到PC机上,PC先询问该外设是"谁"(即读设备描述符),然后,将该外设的固件下载到EZ-USB的RAM中并执行,这个过程叫作再枚举。这个特性给USB外设开发者带来许多方便。如开发过程中,当固件需要修改时,可以在PC机上修改好以后,下载到EZ-USB,从而省去了编程芯片的麻烦。这种基于RAM的软配置方法,可以允许无限的配置和升级。
⑤ 易用的软件开发工具。固件可独立于驱动程序被测试。驱动程序和固件的开发与调试相互独立,可加快开发的速度。
4 EZ-USB微处理器
EZ-USB微处理器是一个改进的8051内核,使用标准8051指令系统,其指令执行速度比标准8051快,原因有两点:
① 空闲( wasted)的总线周期被消去。一个总线周期仅包含4个时钟周期,而标准8051则为12个时钟周期。
② 8051的运行速度为24 MHz。
除了速度的提高,改进的8051内核还有以下几处结构上的改进:
① 第二个数据指针,可用于存储器块之间的传输;
② 第二个UART;
③ 第三个16位计数器/定时器(TIMER2);
④ 与非多路复用16位地址总线的高速存储器直接接口;
⑤ 增加了7个中断源(INT2~INT5、PFI、T2和UART1);
⑥ 可变的MOVX执行时间可适应高/低速的RAM外设;
⑦ 256字节的内部寄存器RAM,8K字节的程序/数据复合SRAM;
⑧ 3.3 V工作电压。
EZ-USB 集成芯片在8051的基础上又有其他改进:
① 快速外部数据块传输(指针自动增量,快速传输模式);
② USB中断向量;
③ CONTROL传输的SETUP和DATA部分有各自的缓冲器。
4.1 AN2131Q的封装和引脚描述
图5是EZ-USB 2100系列中80引脚封装的AN2131Q的引脚排列图。
图5 80引脚的PQFP(AN2131Q)
各引脚功能分述如下:
DISCON#:引脚1,输出。该引脚由两个位DISCOE和DISCON控制。
当DISCOE=0时,引脚悬空;当DISCOE=1时,驱动引脚。当DISCOE=1时,驱动的逻辑级与DISCON位相反。
USBD-,USBD+:引脚77,79 ,高阻态。USB D+/D-信号。将24Ω振荡器与USB D+/D-引脚相连。
A0~A15:引脚7~12,15,16,26~29,34~37输出。8051地址总线。
D0~D7:引脚48~51,57~60,I/O/高阻态。8051数据总线。该双向总线空闲时处于高阻状态,总线读时为输入,总线写时为输出。
PSEN#:引脚80,输出。程序存储器使能端。引脚接低电平时有效,表示从外部存储器中读取程序。当EA为低电平时,程序存储器的地址从0x1B40开始;当EA为高电平时,程序存储器的地址从0x0000开始。
PA0~PA7:引脚68~71,73~76,I/O。多功能输入/输出引脚。
PB0~PB7:引脚44~47,52~55,I/O。多功能输入/输出引脚。
PC0~PC7:引脚30~33,38~41,I/O。多功能输入/输出引脚。
BKPT:引脚61,输出。断点。当8051地址总线与BPADDRH/L寄存器的内容一致,且USBBAV寄存器中的断点使能(BPEN)时,该引脚被激活(高电平)。如果USBBAV寄存器中的BPPULSE位为高,就产生8个24 MHz的高电平的时钟脉冲;如果BPPULSE位为低,保持高电平直到8051清除USBBAV寄存器中的BREAK位(写1)。
RESET:引脚25,输入。有效高电平复位。使8051和SIE复位。该引脚一般通过1个10 kΩ电阻接地,用1个1μF电容接VCC。
EA:引脚24,输入。访问外部存储器。该引脚有效(HI)时,8051并不是从内部程序RAM中获得代码,而是从外部存储器中读取代码。当EA=0时,8051从外部存储器的0x1B40地址(AN2131)开始读取代码。
AVCC:引脚21,电源。Analog Vcc(模拟电源)。该引脚为芯片的模拟部分提供电源。
AGND:引脚18,电源。Analog Ground(模拟地)。尽可能以最短路径接地。
XIN:引脚19,输入。晶振输入。该引脚经由12 MHz晶振和22~33 pF电容接地。它也能用12 MHz的时钟电路驱动。
XOUT:引脚20,输出。晶振输出。该引脚经由12 MHz晶振和22~33 pF电容接地。当XIN由12 MHz时钟电路驱动时,该引脚悬空。
WAKEUP#:引脚66,输入。USB唤醒。当8051挂起时,该引脚上的一个上升沿可开启振荡器,向8051发出中断,请求推出挂起状态。维持WAKEUP#的低电平可避免EZ-US芯片进入挂起状态。