Archiv der Kategorie: AVR – ATtiny13

Atmel – ATtiny13

ATtiny13-Versuchsboard

Nachdem mir das „Gefrickel“ mit dem t13 auf dem STK500 zu viel wurde, ein kleines Versuchsboard (natürliche passend für mein Stecksystem). Schnittstelle zum Programmieren die ISP6 (vom STK500 holen) und viele stabile Anschlüsse.

Gesamtansicht Top Top+Parts Bottom
attiny13-gesamt-mod attiny13-top-mod attiny13-top-parts-mod attiny13-bottom-mod

Download

Aufgebaut:

attiny13_exp

und „Hallo Welt“ gesagt:

Attiny 13 auf STK500 (V2) programmieren

Leider ist in dem Handbuch zum STK500 nichts über den ATtiny13 zu finden. Ich wollte für mein Homematic-Projekt diesen aber programmieren. Nach einigen Stunden bin ich zu folgender Lösung gekommen:

  1. ISP6 Schnittstelle nutzen: ISP6IN auf SPROG1
    stk500v2_attiny13_1
  2. Verbinde PORTB.PB5 mit PORTE.RST und PORTB.PB3 mit PORTE.XT1
    stk500v2_attiny13_2
  3. Stecke den ATtiny13 auf SCKT3400D1
    stk500v2_attiny13_3

Und nochmal alles zusammen.
stk500v2_attiny13_4

Testen (Systemabhängig! hier STK550V2 mit USB-Adapter unter Linux mit entsprechenden Bibliotheken) – keine Angst liest nur das Fuse Low Byte aus:
sudo avrdude -v -p t13 -c STK500v2 -P /dev/ttyUSB0 -U lfuse:r:/dev/stdout:b

Atmel – ATtiny 13 – Pins

Pin Name Alternative Funktion Pin Nr
PB0 (MOSI/AIN0/OC0A/PCINT0) MOSI: Programmieradapter Data Input; SPI Master Data Output / Slave Data Input
AIN0: Analog Komparator, Referenzspannung (Sollwert);  Analog Comparator, Positive Input;
OC0A: 8Bit-PWM Kanal A;  Timer/Counter0 Compare Match A output
PCINT0: Interrupt bei toggle?; : Pin Change Interrupt 0, Source 0
5
PB1 (MISO/AIN1/OC0B/INT0/PCINT1) MISO:Programmieradapter Data Output;  SPI Master Data Input / Slave Data Output
AIN1: Analog Komparator, Vergleichsspannung (Istwert);  Analog Comparator, Negative Input
OCOB: 8Bit-PWM Kanal B;  Timer/Counter0 Compare Match B Output
INT0: Unterbrechung(Interrupt) programmierbar (bei fallender oder steigender Flanke oder bei Nullpegel);  External Interrupt 0 Input
PCINT1: Interrupt bei toggle?; :Pin Change Interrupt 0, Source 1
6
PB2 (SCK/ADC1/T0/PCINT2) SCK: Programmieradapter Clock Input;  Serial Clock Input
ADC1: A/D-Wandler 1;  ADC Input Channel 1
T0: „Timer“ kann als Zähleingang verwendet werden;  Timer/Counter0 Clock Source
PCINT2: Interrupt bei toggle?; : Pin Change Interrupt 0, Source 2
7
PB3 (PCINT3/CLKI/ADC3) PCINT3: Interrupt bei toggle?;  Pin Change Interrupt 0, Source 3
CLKI;  External Clock Input
ADC3: A/D-Wandler 3;  ADC Input Channel 3
2
PB4 (PCINT4/ADC2) PCINT4: Interrupt bei toggle?; PCINT4: Pin Change Interrupt 0, Source 4
ADC2: A/D-Wandler2;  ADC Input Channel 2
3
PB5 (PCINT5/RESET/ADC0/dW) RESET! LOW AKTIV! ohne besondere Programmierung nicht nutzbar!;  Reset Pin
PCINT5: Interrupt bei toggle?; : Pin Change Interrupt, Source 5
ADC0: A/D-Wandler 0;  ADC Input Channel 0
dW;  debugWIRE I/O
1
VCC  Versorgungsspannung:  ATtiny13V: 0 – 4 MHz @ 1.8 – 5.5V, 0 – 10 MHz @ 2.7 – 5.5V;  ATtiny13: 0 – 10 MHz @ 2.7 – 5.5V, 0 – 20 MHz @ 4.5 – 5.5V 8
GND  Masse 4