Forum: Mikrocontroller und Digitale Elektronik USBtiny mit Atmega8


von Mighty (Gast)


Lesenswert?

Hallo Forum,

ich habe Dick Streeflands USBtiny auf einem Mega8 untergebracht
um einen Mega16 zu programmieren mit der erweiterung das
auch UART Daten auszutauscht werden können.

Ich erkenne wenn ich flash und eprom lesen/schreiben möchte am
OSZI das SCK und MISO wackeln. Wenn ich mit einer gepatchten
version von AVRDude versuche zu programmieren wird auch
Reset entsp. runtergezogen.

Das problem ist das der Mega16 (und auch ein frischer Mega32)
an MOSI nichts ausgeben. Also ich lese nur 0xFF. Aber am OSZI
passiert genau garnichts.

Ich habe auf den Mega16 auf herkömlichen wege ein Programm geflasht
was einfach einen Buchstaben über UART ausgibt. Das kann ich auch
über Mega16_txd->Mega8_rxd->usb->PC  zurücklesen. Der Mega16 läuft also.

Was könnte ich noch versuchen? Ich bin mit meinem Latein am Ende.


MfG Mighty

von Εrnst B. (ernst)


Lesenswert?

Mal den Quelltext vom USBasp durchgeschaut?

http://www.fischl.de/usbasp/

Der nimmt einen Atmega8 mit USB-Tiny drinnen zum Programmieren von 
anderen AVRs, u.A. Mega16. Die Patches für AVR-Dude sind in der 
aktuellen AVRDude version auch schon drinnen.

Kannst ja evtl sein Protokoll nachimplementieren, dann musst du deinen 
AVRDude nicht selbst patchen ;)

/Ernst

Edit: Sorry, der nimmt nicht USBTiny her, sondern die obdev.at 
Version...

von Mighty (Gast)


Lesenswert?

@Ernst Bachmann
einen Patch für AVRDude hat USBtiny auch. Ausserdem ein
Python Script das USB Kontrollnachrichten an den Mega8 sendet.
Die Befehle kommen auch im Mega8 an. Ich sehe ja das SCK und MISO
am Mega16 wackeln, nur passiert nix an MOSI.
Gucke Grade den SPI Code an, werde daraus aber nicht so ganz schlau.
Der Code ist sehr  "Kompakt" geschrieben.
Aber wenn ich davon ausgehen kann das an MISO und SCK etwas passiert,
aber an MOSI garnichts, bin ich etwas Ratlos.

MfG Mighty

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Mighty wrote:

> Aber wenn ich davon ausgehen kann das an MISO und SCK etwas passiert,
> aber an MOSI garnichts, bin ich etwas Ratlos.

MISO beginnt erst zu wackeln, wenn die "programming enable"-Sequenz
sauber empfangen worden ist.  Hast du dir die Doku für die serielle
Programmierung genau angeguckt?  Insbesondere ist es wichtig, dass
sowohl MOSI als aus /RESET low sein müssen, wenn die Betriebsspannung
des AVR angelegt wird.  Andernfalls musst du /RESET nochmal kurz
zurück nehmen und neu anlegen.

von Jochen Rößner (Gast)


Lesenswert?

Vielleicht hilft dir das weiter:
http://www.zerties.org/tiki-index.php?page=UsbAvr

Ein USBtiny im ATmega8 und ein gepatchter avrdude.
Alles getestet auch mit einem Atmega16 und Atmega644

Jochen

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.