当EZ-USB FX2加电复位(或人工按钮复位)后:
1、FX2内核(Core)被初始化,所有FX2寄存器被初始化。
2、寄存器CPUCS.0=1,CPU保持复位状态,CPU CLK="12MHz"。
3、寄存器USBCS.1(Renum)=0,使用FX2内核的缺省USB设备配置(PID=0x04B4,VID=0x8613),FX2内核处理EP0上的所以设备请求(来自主机)。
4、所以中断被关闭,所以I/O端点设置为普通I/O方式。
5、如果FX2没有检测到外部串行EEPROM,或者有EEPROM,但其首字节不是)0xC0或0xC2,当EA=1时转第8步,否则使用FX2内核缺省的USB描述符(包括PID、VID和DID等),此时FX2等待从主机(Host)下载USB固件至FX2片内RAM。
6、如果检测到EEPROM首字节是0xC0,则使用EEPROM中第1~7字节的PID、VID和DID,但描述符还是FX2内核的缺省值,FX2内核等待从主机下载固件。当主机通过EP0将USB固件下载至片内RAM后,最后一帧写0x00至CPUCS寄存器,是FX2的8051CPU脱离复位状态,开始运行固件程序,并对USB设备进行一次“重枚举”,重枚举后使用固件中的USB描述符及PID和VID等(是在“dscr.a51”中定义的,不是EEPROM的第1~7字节!),同时Renum位置“1”,由(用户)固件程序接管来自主机的所有EP0的设备请求。
7、
EZ-USB FX2(CY7C68013)加电复位过程分析
最新推荐文章于 2021-05-13 18:24:12 发布
本文详细分析了EZ-USB FX2(CY7C68013)在加电或手动复位后的初始化步骤,包括CPU的复位状态、USB设备配置、中断与I/O端点的设置,以及如何处理外部EEPROM中的固件和描述符。在不同情况下,FX2会根据EEPROM内容或等待主机下载固件,然后释放CPU执行固件程序。此外,还介绍了主机如何通过EP0请求对FX2内部8051CPU进行复位。
摘要由CSDN通过智能技术生成