Atmel AVR TPI Programmer Selection
Atmel, now Microchip, have been moving away from AVR ISP programming method for some time. All the latest AVR microcontrollers now use UPDI programming interface but some ATtiny chips used TPI interface, which is discussed here.
What is TPI Programming Method?
TPI, or Tiny Programming Interface, is a synchronous serial port (USART) protocol . Unlike PDI used on ATxmega, TPI uses 3 wires – TPI_CLK, TPI_DATA and AVR Reset pin. VCC and GND must also be connected. Typical speeds are the same as PDI, 230,400 Baud.
Microchip recommend a 6-way TPI header in 3 x 2 format as the connector for programming.
What Microcontrollers use TPI Programming
This is where it can get confusing because there are a lot of older ATtiny microcontrollers that use AVR ISP method. New ATtiny chips use UPDI programming interface, which is a single wire Unified Debug and Programming interface.
Therefore, it is only a small subset of AVR ATtiny microcontrollers that actually use TPI programming. They are listed here
- ATtiny10
- ATtiny102
- ATtiny104
- ATtiny20
- ATtiny4
- ATtiny40
- ATtiny5
- ATtiny9
When does ATtiny TPI Programmer needs 12V?
As these ATtiny chips are low pin count, they have a fuse option to change Reset pin function to GPIO. This is done by setting the Reset Disable fuse – RSTDISBL.
If this fuse is set, the chip needs 12V applied to Reset pin to allow it to enter TPI. This is just a constant 12V, not a short pulse, so it can be applied externally rather than by the programmer.
However, Kanda TPI programmers can supply this 12V as part of the programming sequence. Just select 12V during TPI setup.
Kanda TPI Programmers
Kanda have a range of programmers that support TPI programming, including our standalone programmer range and PC based programmers.
Kanda Handheld Standalone Programmers
Kanda hand held programmers are comprehensive and support all AVR programming interfaces. They include a 12V generator for TPI and UPDI programmer interfaces.
- AVR ISP Programmer
- TPI Programmer
- JTAG Programmer
- PDI Programmer (for ATxmega)
- UPDI Programmer
This programmer also supports all AVR programming interfaces except PDI for ATxmega. A 12V generator module is available.
- AVR ISP Programmer
- TPI Programmer
- JTAG Programmer
- UPDI Programmer
AVRISP MKII operates from Atmel and Microchip Studio. It can power the target but does not supply 12V pulse.
- AVR ISP Programmer
- TPI Programmer
- PDI Programmer (for ATxmega)
Conclusion
TPI programming method is only used on 8 ATtiny microcontrollers and the majority of ATtiny chips use AVR ISP or AVR UPDI programmer. But they are low cost and are available in very small SMD packages like 8-pin UDFN and 8-pin SOIC. This makes then useful for IOT applications, lighting and other applications where size and price are very important.
It makes sense to get an AVR programmer that is also a TPI programmer.
For more information on Atmel AVR TPI Programmer Selection talk to Kanda