如何设置CYPRESS cyusb3014从EEPROM中启动,并下载程序到EEPROM中
CYPRESS CYUSB3014 从EEPROM中启动:
1.硬件配置
PMODE[2:0]需要设置为1FF(注F表示引脚悬空;硬件EEPROM与I²C引脚相连)
2.软件设置
①配置芯片从USB启动(F11),烧写带有UsbI2cRegMode的.img程序文件;
②按照下图烧写8个字节的启动数据;
以上操作是向EEPROM中写入8字节数据43 59 0B B2 F8 00 B4 04,其中前两个字节是CYPRESS公司的签名CY,第三个字节是是EEPROM相关的设置,第四个字节是从EEPROM启动的标志,最后4个字节是PID和VID的值。其中PID的值是00F8,这里故意设置成非00F1,以便和之前的驱动分别开来。图中第6点说明烧写成功;
③验证一下上面烧写是否真正成功,按照下图操作:
如何设置CYPRESS cyusb3014从EEPROM中启动,并下载程序到EEPROM中
上图中第3,说明从EEPROM中读出的8个字节,正是前一个过程烧写进去的8个字节,烧写成功;
④拔掉USB线,将硬件启动模式设置为从EEPROM启动(1FF或F1F);
⑤出现下图画面,说明USB芯片已经从EEPROM启动了,由于PID=0081,
是新设备,因此需要安装驱动程序。
3.软件编写
①Initialize the I2C interface for the EEPROM of page size 64 bytes.
→status = CyFxI2cInit (CY_FX_USBI2C_I2C_PAGE_SIZE);
②Start the USB functionality.打开USB的功能
→status = CyU3PUsbStart();
③
④
⑤→
4.I2C 接口采用VIO5 供电,该电压独立于其他串行外设。这样,I2C接口可
以灵活地在不相同的电压下工作,这个不同于其他串行接口。I2C控制器所
支持的总线频率为100 kHz、400kHz和1MHz。当VIO5为1.2V时,支持
的最大工作频率为100kHz。当VIO5 为1.8 V、2.5 V或3.3 V时,支持的
工作频率为400 kHz和1MHz。如果在I2C总线上使用外部EEPROM来引
导固件,那么SCL 和SDA 线上需要使用大小为 2 kΩ的上拉电阻才能保
证正常运行。
CYUSB3014芯片使用EEPROM无法下载固件说明
当使用128KB的EEPROM存储CYUSB3014芯片的固件时,需要注意,不同厂家的EEPROM存储器,其A0、A1、A2功能不一样,在设计时电路也不一样。Microchip对应的128KB的EEPROM存储器芯片型号为24LC1025。Atmel的128KB的EEPROM存储器型号为24C1024。例如, Microchip EEPROM 将引脚 A1 和 A0 用于芯片选择, 并不使用引脚 A2。但 Atmel EEPROM 会将引脚 A2 和 A1 用于芯片选择, 不使用引脚 A0。因此针对不同的厂家的器件,EEPROM存储器的A0、A1、A2三个引脚设置也应该不同具体如下所示:

