mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AVRISP


Autor: Gnipfel (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

hab mir einen AVRISP selbergebaut.
Leider tut das Ding nicht so wie es soll.
Ich kann zwar ein Programm auf den ATTINY2313 schreiben, aber wenn ich 
versuche damit ein ATMEGA8-Board zu flashen, dann geht das nicht.

Die Fuses sind korrekt gesetzt und auch sonst finde ich keinen Fehler.
An der Software kanns auch nicht liegen, weil ein bekannter das gleiche 
Teil hat und bei Ihm funktionierts.

Wäre klasse, wenn ihr mal den Schaltplan anschauen könntet.

Mfg

Gnipfel

Autor: Steven Wetzel (steven)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Wäre klasse, wenn ihr mal den Schaltplan anschauen könntet.

Der Atiny und der AT90S sind nicht kompatibel. Oder ist der im 
Schaltplan nur so beschrieben? Welche Firmware verwendest du?

Autor: Gnipfel (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Steven,

der ist nur im Schaltplan so beschrieben, weil die beiden Pinkompatibel 
sind.
Als Firmware verwende ich AVR910.
Hab im Anhang mal das ASM-File drin.

Habe zwei AVRISP. Einen mit 14,745MHz und einen mit 7,3728MHz.
Bei beiden funktioniert das flashen des ATMEGA8 nicht, weil ich keine 
Verbindung aufbauen kann.

Autor: Sajuuk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier mal nachschauen da gibts auch ne Beschreibung wie man den AVRISP 
auf ATtiny umrüstet.

http://www.klaus-leidinger.de/mp/Mikrocontroller/A...

Autor: Gnipfel (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Sorry war das falsche .asm

Autor: Steven Wetzel (steven)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gnipfel wrote:
> Sorry war das falsche .asm

Probiere mal mein angepasstes. Das sollte für den Atiny funktionieren. 
AN910 geht nicht.

http://steven-wetzel.de/atmel/doc/an910_neu_source.zip

Deine Source scheint schon angepasst zu sein, jedoch mit dem falschen 
Include.

Ich habe noch etliche Leerplatinen (glaub 9 Stück) für einen USB-AVRISP, 
die ich eh nicht mehr benötige. Falls da jemand was möchte. Schaltplan 
ist hier dazu:
http://steven-wetzel.de/atmel/doc/an910_neu.pdf

Autor: Sajuuk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich bin kein experte.

Aber solltest du hir nicht etwas auskommentieren um deine Baudrate fest 
zu
legen?

;**** Constant declarations Data Rate ****

;******** Chrystals for maximum Baudrates
;.equ  XTAL = 14746    ; XTAL frequency, Khz (14.746 Mhz)
;********
;.equ  BAUD = 115200    ; Data rate, bauds
;.equ  N = 7        ; for 7.3728 Mhz/115.200Baud
;********
;.equ  BAUD = 38400    ; Data rate, bauds
;.equ  N = 11        ; for 7.3728 Mhz/38.400Baud
;********
;.equ  BAUD = 19200    ; Data rate, bauds
;.equ  N = 23        ; for 7.3728 Mhz/19.200 Baud
;*********



;******** Chrystals for maximum Baudrates
.equ  XTAL = 7373      ; XTAL frequency, Khz (7.3728 Mhz)
;********
.equ  BAUD = 115200    ; Data rate, bauds
.equ  N = 3        ; for 7.3728 Mhz/115.200Baud
;********
;.equ  BAUD = 38400    ; Data rate, bauds
;.equ  N = 11        ; for 7.3728 Mhz/38.400Baud
;********
;.equ  BAUD = 19200    ; Data rate, bauds
;.equ  N = 23        ; for 7.3728 Mhz/19.200 Baud
;*********

;**** definitions for different chrystals and 115.200 baud ****
;.equ  XTAL = 3686      ; XTAL frequency, Khz (3.6864 Mhz)
;*********
;.equ  BAUD = 115200    ; Data rate, bauds
;.equ  N = 1        ; for 3.6864 Mhz/115.200Baud
;*********
;
;********* Baudrates for 8 Mhz Chrystal
;.equ  XTAL = 8000      ; XTAL frequency, Khz (8.000 Mhz)
;*********
;.equ  BAUD = 38400    ; Data rate, bauds
;.equ  N = 12        ; for 8.00 Mhz/38.400 Baud
;*********
;.equ  BAUD = 19200    ;Data rate, bauds
;.equ  N = 25        ; for 8.00 Mhz/19.200 Baud
;*********
;.equ  BAUD = 9600      ; Data rate, bauds ! Not valid for AVRProg, use 
for avrdude only !
;.equ  N = 51        ; for 8.00 Mhz/9.600 Baud
;*********

;********* Baudrates for 4 Mhz Chrystal
;.equ  XTAL = 4000      ; XTAL frequency, Khz (4.000 Mhz)
;*********
;.equ  BAUD = 19200    ; Data rate, bauds
;.equ  N = 12        ; for 4.00 Mhz/19.200 Baud
;*********
;.equ  BAUD = 9600      ; Data rate, bauds ! Not valid for AVRProg, use 
for avrdude only !
;.equ  N = 25        ; for 4.00 Mhz/9.600 Baud
;*********

Autor: Sajuuk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
bzw das richtige auskommentieren und was du nicht benötigst wieder 
kommentieren

Autor: Sajuuk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Im mom ist glaub ich das eingestellt

;******** Chrystals for maximum Baudrates
.equ  XTAL = 7373      ; XTAL frequency, Khz (7.3728 Mhz)
;********
.equ  BAUD = 115200    ; Data rate, bauds
.equ  N = 3        ; for 7.3728 Mhz/115.200Baud

vielleicht ist die Baudrate zu hoch

Probier doch mal ne kleinere

Autor: Gnipfel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Sajuuk,

da müsste schon das richtige auskommentiert sein.

Autor: Sajuuk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Von der Seite
http://www.klaus-leidinger.de/mp/Mikrocontroller/A...

der Hinweis:

>Achtung! Nicht alle haben einen 7,3728 Mhz Quarz herumliegen und einige 
>Programmer bzw. einige PCs (selten) machen offenbar Probleme mit den >115200 
Baud. Im Sourcefile habe ich deshalb einige Zeilen mit >alternativen Quarzen und 
Baudraten eingefügt. Einfach die passenden >Zeilen auskommentieren, (die anderen 
dann wieder kommentieren) und den >Code compilieren.

aber wie gesagt bin kein experte und beschäftige mich auch erst seit ein 
paar Tagen damit

Autor: Sajuuk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
OMG
Sorry

Nochmal

>Achtung! Nicht alle haben einen 7,3728 Mhz Quarz herumliegen und einige
>Programmer bzw. einige PCs (selten) machen offenbar Probleme mit den
>115200 Baud. Im Sourcefile habe ich deshalb einige Zeilen mit
>alternativen Quarzen und Baudraten eingefügt. Einfach die passenden
>Zeilen auskommentieren, (die anderen dann wieder kommentieren) und den
>Code compilieren.

Autor: Tishima (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Kontrolier mal die Fuse CLK/8....

gruß,
Bjoern

Autor: Gnipfel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
PonyProg sagt, dass CLK/8 nicht gesetzt ist.

Ich versuchs jetzt mal mit ner niedrigen Baudrate.

Autor: Gnipfel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Steven: Vielen Dank für den Code, aber leider funktioniert es immernoch 
nicht.

Autor: Steven Wetzel (steven)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gnipfel wrote:
> @Steven: Vielen Dank für den Code, aber leider funktioniert es immernoch
> nicht.

Hast du das mit dem mitgelieferten include probiert?
Was für einen Quarz verwendest du?
Die Quellen müssen natürlich auf den richtigen Quarz abgestimmt werden.

Autor: Gnipfel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, hab ich eingefügt.
Bekomme aber dennoch keine Verbindung her.

Autor: Steven Wetzel (steven)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gnipfel wrote:
> Ja, hab ich eingefügt.
> Bekomme aber dennoch keine Verbindung her.

Welche Software verwendest du zum Flashen? AVRPROG?

Autor: Gnipfel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Versuche es mit AVRProg und AVROSPII

Autor: Steven Wetzel (steven)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann muss es an der Baudrateneinstellung liegen.

Autor: Gnipfel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Denk ich mir auch. Teste gerade noch verschiedene Einstellungen.
Mir ist aufgefallen, dass beim übersetzen von Deinem Programm eine 
Warnung
ausgegeben wird:

"Register r28 already defined by the .DEF directive"
"Register r29 already defined by the .DEF directive"

Autor: Steven Wetzel (steven)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gnipfel wrote:
> Denk ich mir auch. Teste gerade noch verschiedene Einstellungen.
> Mir ist aufgefallen, dass beim übersetzen von Deinem Programm eine
> Warnung
> ausgegeben wird:
>
> "Register r28 already defined by the .DEF directive"
> "Register r29 already defined by the .DEF directive"

Ja, ist eine doppelte Definition. Im inlcudefilee wird r28 und r29 YL 
bzw YH zugewiesen. Im asm-File wird diese Definition überschrieben. YL 
wird ja als Name nie verwendet.

Du kannst im asm-File alle addrl und addrh durch YL und YH ersetzen oder 
einfach diese Zellen im include auskommentieren (wäre aber unsauber) 
oder einfach die Warnung ignorieren.

Autor: Holger Krull (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
kommt bei mir beim assemblieren auch, aber kein Problem, der 
Assembleroutput läuft bei mir. (7,3728 MHz; 115200 Baud)

Autor: Gnipfel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also der AVRISP läuft zwar immernoch nicht, aber trotzdem vielen Dank 
für die vielen Antworten und Hilfestellungen.

Werde es weiter versuchen die Fehlerquelle zu ermitteln.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.