Purpose of the on board EEPROM on CY7C646xx | Cypress Semiconductor
Support & Community
Purpose of the on board EEPROM on CY7C646xx
When working with CY7C646xx do you need to use an EEPROM ? What is the purpose of the on board EEPROM?
The EEPROM allows you to reprogram our part with a unique VID/PID. It is fine not to have one during the development phase and use the cypress default VID/PID for the development phase. But for your final product you will need your own VID/PID which overwrites the default cypress VID/PID with the vendor VID/PID. This can only be done using an external EEPROM.
One other purpose of having the EEPROM on the development board is to be able to download the monitor on start-up. Based on the contents of the EEPROM, the EZ-USB core makes a decision about how to enumerate .
If no EEPROM is present, or if one is present but the first byte is neither 0xB0 nor 0xB2, the EZ-USB core enumerates using internally stored descriptor data, which contains the Cypress Semiconductor VID, PID, and DID.
If a serial EEPROM is attached to the I2C bus and its first byte is 0xB0, the EZ-USB core enumerates with the same internally stored descriptor data as for the no-EEPROM case, but it supplies the PID/VID/DID data from six bytes in the external EEPROM rather than from the EZ-USB core. The default on board EEPROM is programmed with a VID of 0x0547 and PID of 0x80. This VID/PID is bound to the driver that downloads the monitor. Hence on start-up the monitor is downloaded by default.