CYUSB3014
- 格式:docx
- 大小:413.03 KB
- 文档页数:2
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点说明烧写成功;
③ 验证一下上面烧写是否真正成功,按照下图操作:
上图中第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Ω 的上拉电阻才能保证正常运行。