With chips like the ATMEGA and ATTINY you can use high voltage programming even after the RESET
pin has been disabled using the RSTDISBL
fuse, but the XMEGA family does not seem to have a high voltage programming mode, so how do you program one of these chips after setting the RSTDISBL
fuse?
1 Answer
The PDI functionality of the pin is still active on an XMEGA even if the RESET
functionality is disabled via the RSTDISBL
fuse. You can program the chip using a normal PDI connection.
How does it do this? There is a dance between the PDI clock and data pins that puts the chip into programming mode without needed an external reset. From the datasheets:
Enabling
The PDI physical layer must be enabled before use. This is done by first forcing the PDI_DATA line high for a period longer than the equivalent external reset minimum pulse width (refer to device datasheet for external reset pulse width data). This will disable the RESET functionality of the Reset pin, if not already disabled by the fuse settings.
Next, continue to keep the PDI_DATA line high for 16 PDI_CLK cycles. The first PDI_CLK cycle must start no later than 100μs after the RESET functionality of the Reset pin is disabled. If this does not occur in time, the enabling procedure must start over again.