While trying to program PSoC devices, we get a silicon ID mismatch. How can we solve this?
There are two common scenarios that might cause this error:
1. When the detected silicon ID is entirely different from the ID in the database. Example: “Detected silicon ID: “FF FF 12 A3” is not in database”, whereas the expected value is "0E 21 11 9E"
Reason: This can happen when the core is powered at a higher voltage than recommended. For example, the maximum recommended voltage for PSoC 4 Vccd pins is 1.89 V. By mistake, some designers short the Vccd and Vddd pins together and supply 3.3/5 V to the Vccd pins. This will cause the above error and can damage the core as well.
2. When the detected silicon ID’s third byte is different from byte in the database. Example: “Detected silicon ID: “0E 21 11 9E” is not in database”, whereas the expected value is "0E 21 19 9E"
Reason: This error happens when you have developed a custom programmer and try to program. The third byte represents the silicon revision ID.
byte - Silicon Id Hi
byte - Silicon Id Lo
byte - Revision ID
byte - Family Id.
The revision ID is irrelevant to programming and should be ignored. Changes in revision ID have no effect on functionality.