Forum: Mikrocontroller und Digitale Elektronik AtTiny2313 programmieren - die Miso Led blinkt nicht.


von Alex W. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe meinen AtTiny2313 per UsbAsp programmieren wollen.
Leider geht es nicht.
Nur die Miso Led blinkt nicht. Alle anderen blinken.

Grüße
Alex

von Stefan F. (Gast)


Lesenswert?

Ich habe das dumpfe Gefühl, es könnte hilfreich sein, einen Schaltplan 
zu präsentieren.

Wie ist das Ding mit Strom versorgt, wie und wo sind die LEDs 
angeschlossen? Wie ist der Programmer mit dem Mikrocontroller verbunden? 
Was hängt sonst noch dran?

Und man sollte immer damit rechnen, das Mikrocontroller, 
Programmieradapter und dessen Flachkabel nicht unkaputtbar sind. Messe 
das Kabel mal in angeschlossenem Zustand (aber ohne Versorgungsspannung) 
durch. Hast du einen anderen Mikrocontroller zum Vergleich, oder einen 
zweiten Programmieradapter?

von Karl M. (Gast)


Lesenswert?

Als Ergänzung zum schon geschriebenen.

Teilt die Kommandozeilenausgabe für Avrdude noch mit, dass die Firmware 
deines ISP Gerätes keine Anpassung des ISP Taktrate zulässt.

Evtl. gibt es hier für einen Jumper, oder man spielt einen aktuelle, 
angepasste USBAsp Version auf.

von Andreas B. (bitverdreher)


Lesenswert?

Karl M. schrieb:
> oder man spielt einen aktuelle,
> angepasste USBAsp Version auf.

genau das. China USB ASP haben i.A. eine uralt FW aus dem letzten 
Jahrtausend drauf.

von Ralph S. (jjflash)


Angehängte Dateien:

Lesenswert?

Karl M. schrieb:
> Teilt die Kommandozeilenausgabe für Avrdude noch mit, dass die Firmware
> deines ISP Gerätes keine Anpassung des ISP Taktrate zulässt.

... und deswegen funktioniert die Angabe -B16 nicht ! (wie oben 
geschrieben, den Jumper für langsameren SCK stecken):

- Stiftleister für JP3 bestücken
- Jumper setzen (für langsamen SCK Takt)
- bei nächster Gelegenheit (und vorhandenem zweiten Programmer) neuere 
Firmware aufspielen

von Ralph S. (jjflash)


Lesenswert?

btw. :

Für ein Firmwareupdate muss JP2 bestückt und gesteckt werden...

von Stefan F. (Gast)


Lesenswert?

Ralph S. schrieb:
> Für ein Firmwareupdate muss JP2 bestückt und gesteckt werden...

Ja. Und JP3 ist für die Umschaltung auf niedrige Taktrate. Aber wenn er 
nicht bestückt ist, dann macht das die Firmware schon automatisch.

Es gibt noch eine Variante, die sich über den avrdude Parameter -B 
steuern lässt, aber die hast du nicht, was man an der Warnmeldung im 
Screenshot erkennen kann.

von Ralph S. (jjflash)


Lesenswert?

Stefanus F. schrieb:
> Ja. Und JP3 ist für die Umschaltung auf niedrige Taktrate. Aber wenn er
> nicht bestückt ist, dann macht das die Firmware schon automatisch.

... wenn es eine alte Firmware ist (und das haben Chinadinger in aller 
Regel drauf), macht das die Firmware eben nicht automatisch.

Für Bastler in meinem Umkreis wird JP2 kurz gebrückt und mit neuer 
Firmware (i.Ü. eine, die auch die TxD und RxD Leitungen bedienen) 
versehen:

https://github.com/akrasuski1/usbasp-uart

Für meine Zwecke (unter Linux) habe ich das Host-Terminalprogramm leicht 
angepasst (damit es optisch meinem angepassten picocom entspricht). Die 
in der Beschreibung gemachte Modifikation (Serienwiderstand 1K in der 
TxD Leitung) war bei den bisherigen getesteten Schaltungen nicht zu 
hoch.

von Stefan F. (Gast)


Lesenswert?

Ich habe im Laufe der letzten 5 Jahre mehrere USBASP bei 
unterschiedlichen Händlern gekauft. Alle konnten automatisch auf 
niedrige Taktrate umschalten. Und alle brachten die obige Warnmeldung 
bei Verwendung des -B Parameters.

von Alex W. (a20q90)


Lesenswert?

Alex W. schrieb:
> Hallo,
>
> ich habe meinen AtTiny2313 per UsbAsp programmieren wollen.
> Leider geht es nicht.
> Nur die Miso Led blinkt nicht. Alle anderen blinken.
>
> Grüße
> Alex

Poste erst mal ein Foto von der Schaltung! Und zwar so dass man auch die 
Lötstellen sehen kann!

Zudem solltest du schreiben welche Software du zum Beschreiben des Tiny 
verwendest. Arduino? Bascom?

von Ralph S. (jjflash)


Lesenswert?

Stefanus F. schrieb:
> Und alle brachten die obige Warnmeldung
> bei Verwendung des -B Parameters.

... die letzten 3 die ich gekauft hatte konnten es nicht, was aber 
letztlich egal war, weil sie sowieso neu geflasht werden

von Alex W. (Gast)


Lesenswert?

Hallo,

ich habe die Schaltung auf einen Steckboard aufgebaut.
Also auf 2 Steckboards.

Leider geht gerade das Fotografieren nicht. Ich muss dafür erst meine 
uralt Kamera reaktivieren.

Das merkwürdige hierbei ist: ich habe das Board zum beschreiben eines 
AtTiny13 aufgebaut - was auch antandslos klappt.

Jetzt habe ich Kabel von einen Steckboard zum anderen gelegt um den 
größeren T2313 zu beschreiben - und es funktioniert nicht.

Habe die Leitungen dreifach geprüft und es haut einfach nicht hin.

Die Warnung mit dem Takt krieg ich auch bei dem T13 der sich ohne 
Probleme beschreiben lässt. Die Steckleitungen hab ich bereits getauscht 
und mit einem T13 überprüft ob es geht. Und ja es funktioniert.

Brauch ich für den T2313 irgendetwas besonderes? Quarz, zusatz Kondi, 
Spule?

Hab es mit zwei T2313 geprüft von 2 verschiedenen Händlern...

Grüße und herzlcihensten Dank!
Alex

von Andreas B. (bitverdreher)


Lesenswert?

Alex W. schrieb:
> Zudem solltest du schreiben welche Software du zum Beschreiben des Tiny
> verwendest. Arduino? Bascom?

Es geht um avrdude

Ralph S. schrieb:
> ... die letzten 3 die ich gekauft hatte konnten es nicht, was aber
> letztlich egal war, weil sie sowieso neu geflasht werden

Sehe ich genauso. Sich darauf zu verlassen daß der -B Parameter trotz 
Warnung funktioniert, wäre mir zu wackelig.

TO:
So lange hier kein Schaltplan oder Bild des Aufbaus erscheint, wirst Du 
auf weiterführende Tips verzichten müssen.

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Alex W. schrieb:
> Brauch ich für den T2313 irgendetwas besonderes? Quarz, zusatz Kondi,
> Spule?

Nein, es sei denn er wurde vorher mal für den Betrieb mit externer 
Taktquelle konfiguriert. Ohne Taktquelle funktioniert die ISP 
Schnittstelle nicht. Leider können die AVR nicht den Takt der ISP 
Schnittstelle für ihre Internen Vorgänge nutzen.

Für solche Fälle habe ich einen 4MHz Quarzoszillator in der Bastelkiste 
liegen. 
https://www.conrad.de/de/quarzoszillator-tft680-4-mhz-dip-14-cmos-4000-mhz-207-mm-131-mm-53-mm-158100.html

Da du einen funktionierenden ATtiny13 hast, kannst du ihn so 
programmieren, dass er an einem I/O Pin ein Taktsignal erzeugt:
1
#include <avr/io.h>
2
3
int main()
4
{
5
   CLKPR = (1<<CLKPCE);
6
   DDRB = (1<<PB4);
7
   while (1)
8
   {
9
      PORTB ^= (1<<PB4);
10
   }
11
}

Du kannst nun den Ausgang PB4 vom ATtiny13 mit dem XTAL1 Eingang des 
ATtiny2313 verbinden. Vielleicht hilft das, ist einen Versuch wert.

Interessant wäre noch, die Fuses des ATtiny13 mal auszulesen, um zu 
sehen, ob er auf 1,2MHz oder 9,6MHz konfiguriert ist. Wenn der nämlich 
auf 9,6MHz konfiguriert ist, dann könnte es sein, dass dein 
Programmieradapter tatsächlich zu schnell ist. Denn der ATtiny2313 läuft 
standardmäßig nur mit 1,0Mhz.

Die Taktfrequenz der ISP Schnittstelle muss immer kleiner als 1/4 von 
der Taktfrequenz des Mikrocontrollers sein.

von Alex W. (Gast)


Angehängte Dateien:

Lesenswert?

Stefanus F. schrieb:
> Nein, es sei denn er wurde vorher mal für den Betrieb mit externer
> Taktquelle konfiguriert. Ohne Taktquelle funktioniert die ISP
> Schnittstelle nicht. Leider können die AVR nicht den Takt der ISP
> Schnittstelle für ihre Internen Vorgänge nutzen.

Könnte sein. Ich vermute das die dinger schon mal verbaut waren.
1. Wegen dem Preis. 1,60 pro Chip. Hab die dinger schon länger.
Damals haben sie bei reichelt oder elv (weis nimmer welcher) über 2 
Euros gekostet.
2. Weil die aufschrift ganz "verwaschen" aussieht.


> Für solche Fälle habe ich einen 4MHz Quarzoszillator in der Bastelkiste
> liegen.

Hab ich bestellt. Kommen aber erst in 14 Tagen ->Warensendung. Hab die 
billigsten dinger die ich finden konnte gekauft -> 16 Mhz.

> 
https://www.conrad.de/de/quarzoszillator-tft680-4-mhz-dip-14-cmos-4000-mhz-207-mm-131-mm-53-mm-158100.html
>
> Da du einen funktionierenden ATtiny13 hast, kannst du ihn so
> programmieren, dass er an einem I/O Pin ein Taktsignal erzeugt:
>
>
1
> #include <avr/io.h>
2
> 
3
> int main()
4
> {
5
>    CLKPR = (1<<CLKPCE);
6
>    DDRB = (1<<PB4);
7
>    while (1)
8
>    {
9
>       PORTB ^= (1<<PB4);
10
>    }
11
> }
12
>
>
> Du kannst nun den Ausgang PB4 vom ATtiny13 mit dem XTAL1 Eingang des
> ATtiny2313 verbinden. Vielleicht hilft das, ist einen Versuch wert.

Ja, das werd ich versuchen.
Etwas später. Ich melde mich dann.


> Interessant wäre noch, die Fuses des ATtiny13 mal auszulesen, um zu
> sehen, ob er auf 1,2MHz oder 9,6MHz konfiguriert ist. Wenn der nämlich
> auf 9,6MHz konfiguriert ist, dann könnte es sein, dass dein
> Programmieradapter tatsächlich zu schnell ist. Denn der ATtiny2313 läuft
> standardmäßig nur mit 1,0Mhz.
>
> Die Taktfrequenz der ISP Schnittstelle muss immer kleiner als 1/4 von
> der Taktfrequenz des Mikrocontrollers sein.

Ich glaube er liegt bei einem 1/8... siehe Foto.

Fotos: dauert noch. Handykamera ist lange hinüber und für meine andere 
uralt Kamera brauch ich einen neuen Akku.

Grüße
Alex

von Stefan F. (Gast)


Lesenswert?

Dein ATtiny13 wird mit 1,2MHz getaktet. Da dein Programmieradapter damit 
funktioniert kannst du sicher sein, dass er (wie meine) die Taktrate 
automatisch herabsetzt. Auch ich bekomme die Fehlermeldung, die du ganz 
oben gezeigt hast, aber der Programmiervorgang funktioniert trotzdem.

Also, am Programmieradapter und der Taktrate kann es nicht liegen.

Speise mal einen Takt am XTAL1 Pin ein. Wenn es damit auch nicht geht, 
ist der Chip wahrscheinlich defekt oder verfused (ISP Schnittstelle oder 
Reset Pin deaktiviert).

von Alex W. (Gast)


Lesenswert?

Hallo,

Stefanus F. schrieb:
> Speise mal einen Takt am XTAL1 Pin ein. Wenn es damit auch nicht geht,
> ist der Chip wahrscheinlich defekt oder verfused (ISP Schnittstelle oder
> Reset Pin deaktiviert).

Takt -> gemacht -> funktioniert trotzdem nicht.
Außer meinen Tiny13 krieg ich weder den AtMega48 noch den AtTiny2313 zum 
laufen.

Kann man so einen HVSP Programmer auch z.B. mit zwei AtTiny13 aufbauen?
Fuses resetten ist meine letzte Hoffnung die drei 2313 noch zu retten.

Grüße
Alex

von Stefan F. (Gast)


Lesenswert?

Alex W. schrieb:
> Kann man so einen HVSP Programmer auch z.B. mit zwei AtTiny13 aufbauen?
> Fuses resetten ist meine letzte Hoffnung die drei 2313 noch zu retten.

Als ich damals diese Frage stellte, kam ich zu dem Schluss, dass sich 
weder der Kauf noch der Eigenbau eines HV Programmers für 2 verfuste 
Mikrocontroller lohnt.

Ein drittes mal ist es mir dann auch nicht mehr passiert - durch 
Schmerzen lernt man.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.