{"id":1504,"date":"2019-06-24T14:33:25","date_gmt":"2019-06-24T13:33:25","guid":{"rendered":"https:\/\/www.kanda.com\/blog\/?p=1504"},"modified":"2019-06-24T14:35:43","modified_gmt":"2019-06-24T13:35:43","slug":"avr-microcontroller-programming-interfaces-isp-jtag-tpi-pdi-updi","status":"publish","type":"post","link":"https:\/\/www.kanda.com\/blog\/microcontrollers\/avr-microcontrollers\/avr-microcontroller-programming-interfaces-isp-jtag-tpi-pdi-updi\/","title":{"rendered":"AVR Programming – ISP, JTAG, TPI, PDI and UPDI"},"content":{"rendered":"

When AVR microcontrollers were first introduced in 1995, In System Programming was simple, with one programming method (Serial Programming Interface or SPI) and a recommended 5 x 2 10-pin target interface. For 10-15 years, this stayed the same except for the addition of JTAG programming on some devices and a move towards a 3 x 2 6-pin target header. In the last few years, new interfaces have sprouted like weeds, including TPI, PDI and UPDI. What do this all mean and how does it affect you?<\/p>\n

<\/p>\n

Classic ISP or SPI<\/strong>
\nThis programming method is simple and gives few problems if you follow the rules on the ISP interface in your circuit – see AVR ISP Circuit Guide<\/a>. The standard header recommended by Atmel was a 5 x 2 10-Way box header at 2.54mm (0.1″) pitch. This had interleaved ground lines to improve reliability but Atmel decided these weren’t necessary so moved to a 3 x 2 6-way header.<\/p>\n

SPI is simple, supported by all programmers and it is hard to lock yourself out of the AVR chip, except some small 8-pin chips that could have Reset pin reconfigured. These then need 12V to clear this Reset pin change and very few programmers now support this.<\/p>\n

The downsides of SPI include <\/p>\n