一、CY
CY
上电复位后68013会检查芯片iic总线上是否连接有串行EEPROM,它将读取第一个字节以决定其枚举模式,分如下情况处理:
1. 如果EEPROM 不存在,则用默认PID/VID 启动USB 设备,缺省的USB 设备自动处理
通过控制面板来下载,调试时常用。
2. 如果EEPROM 存在,并且EEPROM 中第一字节是0xC0,后面字节包括用户定制的
PID/VID,则用定制好的PID/VID 来从主机下载固件和加载驱动,此方式为0xC0模式。
3、如果EEPROM 存在,并且EEPROM 中第一字节是0xC2,后续内容包括PID/VID,以及
程序代码,则FX2 从EEPROM加载固件,此方式称为“C2 加载”模式。
4. 如果FLASH 或EEPROM 通过地址总线和数据总线扩展(仅128 引脚封装有效),并且
EA=1,则程序从外部空间的0x0000 开始运行。
无EEPROM,0xC0模式加载EEPROM,0xC2模式加载EEPROM概述
以下详细描述68013 0xC2模式下枚举与重枚举过程。
如果68013检测到一个EEPROM存在,且首字节值为0xC2,则VID、PID、DID、各种USB描述符,及其8051固件代码都有该EEPROM提供,此模式即为0xC2模式,其数据格式如下表:
首字节为0xC2 时,EEPROM中数据格式
上表中前八个字节分别描述了模式标志,VID/PID/DID以及IIC速率配置,从第九个开始为的程序块,每个程序块包括起始地址、数据长度和数据块组成,最后一个字节0x00将写入到CPUCS寄存器(地址是0xE600)中,且该数据的最低位必须为0,以使8051 脱离复位。
CYPRESS 提供了hex2bix 来生成“0xC
二、烧写EEPROM
IIC文件是一个二进制文件,由HEX文件通过Cypress提供的hex2bix.exe程序转换来。
烧写EEPROM的时候,首先插入设备并确定68013连接的EEPROM没有被烧写过程序,(或者与EEPROM所连接的SDA引脚断开,这种情况下EEPROM已经被烧写过)这样设备才可以作为CYPRESS的默认设备被枚举。然后即可通过控制面板烧写EEPROM。
如果EEPROM已经被烧写过,则可以使用下面的方法实现再次烧写:
1。断开EEPROM的SDA连接;
2。插入USB设备,打开Control Panel程序,这时作为EEPROM missing的68013设备被枚举;
3。这时不要断开USB设备,小心将sda连接上;
4。通过Control Panel 的eeprom按钮重新烧写,这样可以覆盖原来的程序。只是这种硬件操作比较麻烦,最好在sda之间焊接个开关。
三、典型示例
以下以68013连接ATMEL
8pin

连接方式为:A0接3.3V电源,A1、NC、GND接地,SCL和SDA分别接68013IIC接口,WP接地,VCC接电源即可。此款EEPROM芯片兼容
No comments:
Post a Comment