Forum: Projekte & Code Programmer incl. neuem Code für Atmel AN910


von Klaus L. (Gast)


Lesenswert?

Hallo AVR Programmierer,

unter http://www.mikrocontroller-projekte.de habe ich u.a. eine
aktuelle Bauanleitung incl. Platinenlayout (3*5cm, Eagle)) für die
Atmel Application Note 910 abgelegt. Eine aktualisierte Software (im
AT90S2313) mit schnellerer Programmierung und Unterstützung für die
neuen AVR Controller gibt es dort auch. Vielleicht eine Alternative für
geplagte LPT-Port-Programmer-Anwender.

Check it out...

Ciao,
Klaus

von Klaus L. (Gast)


Lesenswert?

Hallo nochmal,

ich hatte leider die 2313 Software mit falscher LED Belegung
hochgeladen =8-o Jetzt stimmts aber.

Alle die vor 09.11 20:30 die Software geladen haben, bitte noch mal.
Sonst bleibt die LED dunkel.

Sorry!

Viel Spass beim nachbauen.

Ciao,
Klaus

von CarstenG (Gast)


Lesenswert?

Hallo Klaus,

der Programmer funktioniert wirklich super. Ich hatte schon lange vor,
den AVR910-Programmer zu bauen, da der ISP-Programmer aus dem Tutorial
so seine Tücken hat (ich mußte 6 (!) 74HC244 ausprobieren, bis ich
einen funktionierenden IC hatte). Bisher scheiterte der Bau daran, daß
ich keinen auf die neuen Modelle upgedateten 910-Programmer gefunden
hatte. Aus den Informationen auf AVRFreaks bin ich als mehr oder
weniger Newbie auch nicht so ganz schlau
geworden. Der Schalter zum Programmieren des Programmers selbst und die
LEDs zur Zustandsanzeige sind gute Ergänzungen. Eine DUO-Led ist m.E.
nicht notwendig, ich nehme zwei LEDs, die ich gegenpolig parallel
zwischen Pin 12 und 15 lege. Je nach Polarität der beiden Ausgänge
leuchtet eine LED, während die andere sperrt. Zum Programmieren der
FUSE-Bits benötigt man aber weiterhin PonyProg? Oder habe ich dieses
Feature übersehen?
Also nochmal volles Lob, ich hoffe Updates auf neue Modelle (Tiny2313?)
folgen.

Carsten

von Klaus L. (Gast)


Lesenswert?

Hallo Carsten,

danke für die Bluimen ;-)

Die Duo Led besteht ja genau aus den beiden gegeneinender geschalteten
LED in rot und grün. Braucht halt weniger PLatz und ist besser als nur
eine, die nur beim Programmieren leuchtet.

Wenn Du beim AVR-Prog auf den Button "advanced" drückst, kommst Du in
das Menü der FuseBit Programmierung. Je nach ausgewähltem Mikrontroller
sind die Anzahl und Funktion entsprechend.

Ciao, und viel Spass mit dem Programmer,

Klaus

von TecDroiD (Gast)


Lesenswert?

hmm..
also mit dem ATTiny11 funktionierts definitiv nicht. Dieser besitzt
nämlich kein ISP, mit dem dieser Programmer arbeitet.
und mein Brenner - naja, die schaltung hatt ich schonmal hier
eingestellt und nachgefragt, aber irgendwie gabs nie na Antwort... :(

von Klaus L. (Gast)


Lesenswert?

Hallo TecDroiD,

guter Hinweis! Danke. Der TTiny11 hat nur einen High Voltage Serial
Programming Modus. Der TTiny12 kann programmiert werden.Ich werde mal
meine Liste der "supported Devices" anpassen.

Für den TTiny 11 braucht man dann eine Zusatzschaltung die die 12V an
Reset anlegt (Transistor).

Ciao,
Klaus

von Klaus Leidinger (Gast)


Lesenswert?

Hallo alle die die AN910 von meiner Seite nachgebaut haben:

Leider war der Elko C100 falsch herum eingezeichnet, das habe ich am
25.11.2003 korrigiert! Bitte bei den aufgebauten Geräten unbedingt
ändern.

Entschuldigung für den Fehler! Und vielen Dank an Thomas L. der es
bemerkt und mir geschrieben hat!

Bei mir waren mehrere Programmer eine ganze Zeit in Betrieb ohne dass
es zu aussetzern oder ausfällen kam. Gut dass der Elko so stabil war.

Ciao,
Klaus Leidinger

http://www.mikrocontroller-projekte.de

von Peter D. (peda)


Lesenswert?

Auch wenn sie äußerlich unversehrt scheinen, sollte man falsch gepolte
Elkos lieber wegschmeißen, kosten ja nicht die Welt.


Ich hatte kürzlich mal eine Platine mit einem Fremdlayout bestücken
lassen und getestet.
Ich war geschockt, als etwa die Hälfte aller Tantals explodierte und
ein bestialischer Gestank sich breitmachte. Da hatte der Idiot doch
tatsächlich alle Pin1-Markierungen rein zufällig gesetzt.


Peter

von Andreas Jakob (Gast)


Lesenswert?

Tantalkondensatoren tendieren scheinbar besonders gerne zum platzen.
Hatte mal einen der richtig Feuer gefangen hat und ein hässliches Loch
in die Platine gebrannt hat. War auch verpolt.

von carlos candido (Gast)


Lesenswert?

helo Klaus.
 Construi I (Programmierer avr-prog910) 2313_v32.
  Ich verwende (ide)studio_3.
-progeto, ursprüngliches avrprog erkennt nicht die Platte (in suported
1.37).
 KI, zog ich (umwandelnd) für, Maximum rs232 um.
  ja!  es erkannte!
  aber, von der Störung in der Stunde (uC programmieren) der
PROGRAMMIERUNG FIEL aus.
  uC im programmig (er nicht Antwort).
  ja I versuchte zur Bewegung von port(com1/com2) nicht nicht.
Fragen????:
 er würde studio3 sein.
  er würde rs232 sein.
  uC, beim Progamming hat zu habendes das (xtal).
  weil in der Vorlage (bc558 bc548)ele erkennt nicht avr910.
  1 attiny12 das ja dieses (progammed), von dem für rogramalooutraves.
  Carlos:  von Brasilien.
 linguagen:portugues Brasilien.
  conprimenta Klaus.

von Axel Rühl (Gast)


Lesenswert?

Ich habe nach wie vor mein STK500 auf dem Tisch, kann ich das dann
weglegen? Ich verwende es eh' nur für die ISP-Programmierung.
paar fragen ich:
 - ist der Porgrammer kompatibel zum STK500 Protokoll? sicher nicht...
 - Die RS232-Wandlung sieht mir ziemlich abenteuerlich aus,
funktioniert das so?
 - Wie ich der Schaltung entnehme, wird der Programmer von der
Zielschaltung mit Strom versorgt, richtig?

Ich bau' das mal auf.

Gruß Axel

von Klaus Leidinger (Gast)


Lesenswert?

Hallo Axel,

das STK500 würde ich nicht ganz weglegen, eventuell benötigst Du mal
die parallele oder serielle high Voltage Programmierung.

- Der Programmer ist natürlich nicht kompatibel zum STK500 Protokoll
- Die "abenteuerliche" RS232 Schaltung stammt von Atmel (Application

  Note 910) und funktioniert bei mir einwandfrei.
  Ich habe ein paar Rückmeldungen erhalten, die nicht auf die 115.200
  Baud übertragungsrate kommen. Das scheint aber die Ausnahme zu sein.
- Stromversorgung durch die Zielschaltung

Viel Spass beim basteln,

Klaus

von Frankl (Gast)


Lesenswert?

Hi Carlos es gibt schon Studio 4.08 funktioniert auch mit der AV910.
Schau mal hier http://www.mikrocontroller-projekte.de gibt es eine neue
Software funktioniert aber nur mit dem AVR 2313.

von Mike L (Gast)


Lesenswert?

Hi,

wie ist das mit dem High Voltage Serial Programming Modus beim
ATtiny15. Oben schreibst du, dass man da eine Zusatzschaltung braucht,
um die 12V dranzuschalten. So wie ich das sehe, reicht das bein
ATtiny15 nicht aus - Da gibts ja mindestens eine Programmierleitung
mehr als beim ISP. Kann man das vielleicht irgend wie doch machen?
Gibts dafür andere Hard- und Software ?

Gruß
Mike

von Klaus (Gast)


Lesenswert?

Hallo Mike,

die Beschaltung zum Programmieren des ATtiny15 steht ja im Datenblatt.
Da die AN910 keine 12V bietet muss zumindest dafür eine Zusatzschaltung
her. Ob das dann irgendwie funktioniert, weiss ich auch nicht, da ich
es nicht probiert habe. Eventuell sind noch Softwareänderungen im 2313
erforderlich.

Was sicher funktioniert ist das STK500, dort sind auch die High Voltage
Modes mit drauf beschaltbar.

Wenn jemand mit der ATtiny Programmierung schon Erfahrung gemacht hat,
immer raus damit, vielleicht kann man die AN910 ja noch erweitern.

my2cent,
Klaus

von Roman (Gast)


Lesenswert?

Hallo,

das High-Voltage Programmieren funktioniert mit dem Tiny15 und STK500
wunderbar;man muß die Leitungen für die serielle Programmierung nur
richtig verlegen (siehe Bedienungsanleitung). Anfangs wirkte der Aufbau
etwas verwirrend, doch man gewöhnt sich daran.

mfg
Roman

von Mike (Gast)


Lesenswert?

Hallo,

danke zunächst für die antworten - Ich werde sehen, was ich nun mache.
Da ich das Ganze nur hobbymäßig betreibe, überlege ich mir die
Anschaffung eines STK500 natürlich noch wegen des Preises. Ich werde
wohl vorerst mit dem "einfachen" Programmieradapter auskommen müssen
:-)


Gruß
Mike

von Thomas Fischl (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

@Klaus: Deine Internetseite zum Programmer ist echt klasse! Danke!
Von deiner Beschreibung motiviert, hab ich mir einen zusammengebaut. Da
ich nicht alle Teile hier hatte mit folgenden Änderungen: Jumper statt
Taster, 2 Leds statt Duoled, 3,6864MHz-Quarz und einfache SUB9-Buchse.
Bild im Anhang.

Unter Windows arbeitete der Programmer mit AvrProg sofort problemlos
und auch relativ zügig. Dann hatte ich unter Linux zuerst UISP und
danach AVRDUDE getestet. AVRDUDE ging erst nach zwei kleinen
Änderungen. Um eine 6380 Bytes große Datei in einen ATMega8 zu
verbannen, brauchten beide aber halbe Ewigkeiten. Grund dafür ist wohl
das Protokoll, welches ein ständiges "Umschalten" zwischen Senden und
Empfangen erfordert. Mit einem "setserial /dev/ttyS1 low_latency"
kann man zwar diese Zeiten schon um einen Großteil verkürzen, aber
recht zufriedstellend ist das immer noch nicht. Deshalb hab ich mir die
Firmware mal genauer angesehen und mir folgende zusätzlichen Befehle
ausgedacht:

1. Aus Flash auslesen:
Hier wird einfach nach dem Kommando die Anzahl der zu lesenden Words
übergeben. Danach schickt der Programmer alle Bytes in einem Schwung
zum PC, ohne etwa dazwischen eine Bestätigung vom PC zu erwarten.

2. Ins Flash schreiben:
Der 2313 hat ja SRAM, der bisher noch ungenutz war. Man kann diesen
also nutzen, um nicht nur byteweise die Daten vom PC zu übertragen,
sondern gleich mehrere auf einmal. Diese werden vom Programmer im SRAM
zwischengespeichert und erst danach einzeln ins Flash geschrieben. Wenn
alle Bytes im Flash gelandet sind, wird eine Bestätigung zum PC
geschickt.

Diese zwei Befehle hab ich nun mal grob in die Firmware mit eingebaut
und AVRDUDE entsprechend angepasst. Die Ergebnisse lassen sich sehen
(für 6380 Bytes bei einer Baudrate von 115200baud, Schreiben/Lesen):

Mit "setserial /dev/ttyS1 ^low_latency":
Vor Modifikation: 66.79s / 31.91s
Nach Modifikation: 5.99s / 1.78s

Mit "setserial /dev/ttyS1 low_latency":
Vor Modifikation: 6.00s / 31.90s
Nach Modifikation: 2.87s / 1.78s

Wenn Interesse besteht, könnten wir versuchen, dies ordentlich in die
Firmware und z.B. AVRDUDE einzubauen...

Thomas

von Klaus Leidinger (Gast)


Lesenswert?

Hallo AVR910 Nutzer ;-)

wegen der häufigen Anfragen zu anderen Quarzen haben ich den Source um
einige Zeilen erweitert, und die entsprechenden Defines für 4.0 und 8.0
Mhz Quarze noch eingebaut. Jeder kann sich jetzt die richtigen
heraussuchen und auskommentieren (die anderen dann wieder kommentieren
und den Code neu compilieren) und braucht nicht ins Datenblatt zu
schauen.

Hier die defines:
;*********************************************************************** 
****
;**** Baudrates for 8.000 Mhz Chrystal
;.equ  XTAL = 8000    ;XTAL frequency, Khz (8.0 Mhz)
;*********************************************************************** 
****
;********
;.equ  BAUD = 38400    ;Data rate, bauds
;.equ  N = 12      ;for 8.0 Mhz/38.400Baud
;********
;.equ  BAUD = 19200    ;Data rate, bauds
;.equ  N = 25      ;for 8.0 Mhz/19.200Baud
;********
;.equ  BAUD = 9600    ;Data rate, bauds
;.equ  N = 51      ;for 8.0 Mhz/9.600Baud
;
;*********************************************************************** 
****
;**** Baudrates for 4.000 Mhz Chrystal
;.equ  XTAL = 4000    ;XTAL frequency, Khz (4.0 Mhz)
;*********************************************************************** 
****
;********
;.equ  BAUD = 19200    ;Data rate, bauds
;.equ  N = 12      ;for 4.0 Mhz/19.200Baud
;********
;.equ  BAUD = 9600    ;Data rate, bauds
;.equ  N = 25      ;for 4.0 Mhz/9.600Baud
;********

Mehr als 38400 Baud mit 8Mhz ist allerdings nicht "drin".

Die Änderungen die Thomas im letzten Beitrag erwähnt, sind gerade von
uns beiden in Arbeit. Leider können davon aber nur AVRDUDE Anwender
profitieren.

Wenn alles klappt, wird es in kürze eine eigene Sektion auf der
AVR-Prog Seite dafür geben.

Das, und noch viel mehr findet Ihr auf:

http://www.mikrocontroller-projekte.de

Viele Grüsse, und viel Spass,
Klaus

von Hans Hafner (Gast)


Angehängte Dateien:

Lesenswert?

Hi Klaus!

Hab mir deinen ISP-Programmer als Print in meiner Schule anfertigen
lassen und stand dann vor dem typischen "Henne-Ei"-Problem! Teil
deines Programmers ist ja ein AT90S2313 mit 2kB Programmspeicher.

Wie sollte ich das Programm für den Programmer in den 2313 bekommen,
dachte ich mir - denn auch dazu braucht man einen Programmer!
Also hab ich mir einen Billigst-Programmer via LPT1 aufgebaut (nur vier
Bauteile inkl. 74HCT244) und ein Testprogramm zum auf einem Steckboard
aufgebauten 2313 gesendet, was auch klaglos funktioniert hat.

Dann habe ich versucht, deine HEX-Datei für deinen Programmer über
meinen Mini-Programmer mit der ISP-Software 2.65 zum 2313 zu senden
(die Kombination ISP-Software 2.65 und der Programmer am LPT
funktionieren klaglos, wie mein vorhergegangener Test gezeigt hat).

Jedoch hatte ich KEINE CHANCE, eine 3,76 kB große Datei in den 2 kB
großen Programmspeicher des 2313 zu schreiben!

Was habe ich falsch gemacht?

P.S.: Ich habe erst heute dieses Forum entdeckt und verspreche mir
dadurch eine große Hilfe. Will aber nicht nur Empfänger von Hilfe sein,
sondern das von mir erworbene Wissen natürlich auch an alle anderen
verteilen! Als zeichen dafür habe ich eine PDF-Datei mir einer von mir
erstellte Lernhilfe zu meinem Beitrag dazugehängt, die ich mir vor
kurzer Zeit als Einstieg selbst erarbeitet habe.
Inhalt? Allgemeines zu µC, spezielleres am Beispiel des AT90S8515,
Assembler-Programmierung-Einführung und ein Konvolut an von der
englischsprachigen Originaldatei ins Deutsche übersetzte
Assembler-Befehlen! Rückmeldungen zu dieser Datei (positive und
negative Kritik einfach an meine Email schicken - auch
Verbesserungsvorschläge)

So Long - AVR-Users
Danke im Voraus für deine Hilfe bezüglich des Programmierens des 2313
mit der HEX-Datei - im Voraus!

von Klaus (Gast)


Lesenswert?

Hallo Hans,

wichtig ist hier die richtige Einstellung auf das Fileformat. Eine HEX
Datei ist (normalerweise) im Format "Intel Hex", also eine ASCII
Datei mit Checksum usw. (suche mal in diesem Forum oder z.B. Google
danach) Der Programmer muss auf auf dieses Dateiformat eingestellt
werden (Normalerweise werden binär, Intel Hex, Motorola und ev. noch
Atmel Object Dateien unterstützt).

Der Programmer wandelt dann das ASCII Format in Binär um und das passt
dann auch in den 2313 rein ;-) .

Falls kein HEX vom Programmer unterstützt wird, musst Du den Sourcecode
noch mal mit AVRStudio kompilieren und in den Optionen "Binärformat"
angeben.

Viel Erfolg mit dem Programmer,
Klaus

von Hans Hafner (Gast)


Lesenswert?

Hi Klaus!

Danke für Deine wirklich prompte Antwort - irgendwie ist es mir letzte
Nacht vor dem Einschlafen (ca. 3 Uhr früh, weil ich gerade eine
Diplomarbeit, die nix mit dem AVR zu tun hat, fertigstellen
muss)geschossen, dass eine HEX-Stelle ja nur 4 Bit (für 0..9 und A..F)
hat und nicht 8 Bit, jedoch ohne genaueren Gedanken, wie ich diese Idee
nutzen könnte.

Du hast mir mit Deiner Info sehr geholfen. Ich werde, sobald ich die
Print fertig habe und einen Testlauf gemacht habe, darüber Bericht
geben.

Als nächstes Projekt dann will ich ein reines Programmierboard für alle
ISP-tauglichen AVRs entwickeln, auf welchem ich eine einzige
Nulldruckfassung für die AVRs verwenden will, wobei ich noch an der
Lösung wegen den unterschiedlichen Pin-Belegungen tüftle (habe mir
bereits eine Vergleichstabelle angefertigt) und wie ich dies schalten
könnte. Allerdings habe ich dazu noch ein paar Brocken zu bewältigen:
Kann ich die Leitungen vom Quarz zu den XTAL-Anschlüssen (nur für
dieses Programmierboard) über einen 4016 bzw. 4066 (bilateraler
Analog-Switch) schalten?

Wie sieht dies mit den MISO-,MOSI-,SCK-,/RESET-,GND- und VCC-Leitungen
vom Programmer zum AVR aus, kann ich diese (nur für dieses
Programmierboard) über einen 4016 bzw. 4066 (bilateraler Analog-Switch)
schalten?

Danke nochmal wegen dem Programmer
LG Hans

von Klaus (Gast)


Lesenswert?

Hallo Hans,

jetzt wird es langsam off Topic ;-)
Schau Dir mal auf meiner Seite das 2313 Mikrocontrollerboard an, das
hat die Umschaltung mit 4066. Bei den Quarzanschlüssen bin ich mir
nicht so sicher, das das funktioniert, besser ist vermutlich einen Takt
auf XTAL1 aufzuschalten. Ausprobieren hilft sicher...

Viele Grüsse,
Klaus

http://www.mikrocontroller-projekte.de

von Sebastian__ (Gast)


Lesenswert?

Hallo,
ich habe mir jetzt auch den Programmer nach der Appn. 910 gebaut,.. er
funktioniert hervorragend.
Aber, ich habe ein kleines Problem, ich habe bis jetzt immer Yaap
benutzt, da war es möglich ein Flash file und eines für das Eprom zu
definieren und das wurde dann alles mit einem mausklick geflasht. das
scheint bei dem AVR Prog, das aus AVR Studio nicht mehr zu gehen.
Gibt es vielleicht ein AVRProg das man per komandozeile steuern kann?
oder gibt es vielleicht ein alternatives frontend für AVRProg wo man
ein wenig mehr einstellen kann? Zum Beispiel das nach dem flashen des
Flash+EE gleich die Lock bits gesetzt werden usw. . Ich würde mir ja
auch selbst einem frontend schreiben, aber ich habe da irgendwie keinen
ansatz.

MfG
Sebastian

von Klaus (Gast)


Lesenswert?

Hallo Sebastian,

wie weiter oben in diesem Thread beschrieben geht auch z.B. AVRDUDE.
Das ist ein command Line tool und es gibt es im Source und für Linux
und Win (WinAVR, also die GCC Umgebung).

Das dürfte als Ansatz schon eine ganze Menge sein...

Ein Link dazu ist auch auf meiner AVR-Prog Projektseite.

Bitte halte uns über das Ergebnis auf dem laufenden.

Ciao,
Klaus

von Sebastian__ (Gast)


Lesenswert?

das werde ich mir mal anschauen,.. wenn ich ein brauchbares frontend
gemacht habe werde ich das auf jeden fall als source und mit den
compilierten daten zur verfügung stellen.
Der Programmer arbeitet bei mit jedenfalls schon mal bestends und auch
mit einem USB->Seriell konverter fürs Notebook. Die SW sollte relative
schnell gemacht sein wenns schon ein fertiges command line tool gibt.

Sebastian

von Hans Hafner (Gast)


Lesenswert?

Danke Klaus - werde das mit dem Switchen der XTAL-Anschlüsse
ausprobieren und vom Ergebnis dann hier posten bzw. mitteilen.

Hans

von Sebastian__ (Gast)


Lesenswert?

Hallo,
ich habe heute mal den AvrDude Programmer ausprobieren wollen (erst mal
nur in der Komandozeile), dabei hat dann die Software gesagt sie findet
den Programmer nicht.
Mit dem Prog. vom AVR Studio geht es aber. Kann es vielleicht sein das
es mit den verschiedenen Baudraten Problem gibt? Ich benutze den 8 Mhz
Quarz mit 38.4KBaud.
Hat jemand mal beide varianten auprobiert?

Sebastian

von Hans Hafner (Gast)


Lesenswert?

Hi Klaus!

Natürlich - so wie Du sagtest - ich hab anscheinend eine winzige
Kleinigkeit falsch gemacht - heute hat das Beschicken des 2313 mit
deiner HEX-Datei über meinen MINI-ISP und die ISP-Software
funktioniert! Werde nächste Woche (muss jetzt die Diplomarbeit fertig
machen) dann deinen AVR-Programmer löten, den 2313 einsetzen - und bin
natürlich zuversichtlich, dass es auf Anhieb im AVR-Studio
funktionieren wird.

Danke nochmals
Hansi

P.S: Ich werde zu meine Lernunterlage einen eigenen Thread aufmachen,
da anscheinen Bedarf ist.

von Klaus (Gast)


Lesenswert?

@Sebastian,

AVRDude erwartet den standart AVR910 mit 9600 Baud, Du kannst Die
Baudrate im configfile oder dem Source anpassen. Unbedingt die neuesete
AVRDude Version nehmen!

Welches Betriebssystem benutzt Du? unter Win (Cygwin) musst Du den com1
Port mit /dev/com1 auswählen, sonst funktioniert es nicht.

Ansonsten probier mal den AVRDude Mailalias, die Jungs sind recht
schnell.

@Hans,

freut mich das es jetzt auch mit dem brennen klappt ;-)
Wenn Du einen Oszillator als Takt benutzt, hast Du ja ein TTL Signal,
das kann z.B. mit Gattern umgeschaltet werden und braucht keine
Analogschalter.

Ciao,
Klaus

http://www.mikrocontroller-projekte.de

von Sebastian__ (Gast)


Lesenswert?

Ich habe die Version 4.30 http://savannah.nongnu.org/download/avrdude/
da runtergelade, http://savannah.nongnu.org/projects/avrdude/.
Ich benutze windows XP und die WIN32 distribution des Programmers.

Wenn ich wieder die 9,6KBaud nehme mache ich mir ja wieder alle
vorteile des Programmers zunichte.
an wen kann ich mich wenden? ich habe da keine support oder
kontaktadresse gefunden.

Sebastian

von tecdroid (Gast)


Lesenswert?

gibts nun eigentlich irgendwo nen simplen high-voltage-programmer für
den tiny11?

bräuchte da dringend einen..

von Thorsten (Gast)


Lesenswert?

Hallo,

ich habe jetzt auch mal den AN910-Programmer aufgebaut und benutze ihn
mit AVR-Prog. Er funktioniert wunderbar bei Betrieb an einer normlen
seriellen Schnittstelle. Probehalber hab ich ihn auch mal an einen
USB-Seriell-Converter (FT232, TxD und RxD des FT232 direkt an den
AT90S2313 da kein MAX232) angeschlossen, auch hier funktioniert er doch
leider extreeeeem langsam (etwa Faktor 10!!!). Hat einer eine Idee, wie
man dieses Problem lösen könnte ? Ich vermute mal, daß ist wieder
irgendein Problem mit den VCP-Treibern. Ich habe mal die Latency
verändert, doch das hatte keinerlei Wirkung, auch neuere bzw. ältere
Treiber brachten nichts.

Gruß
Thorsten

von Axel Rühl (Gast)


Lesenswert?

hat der FT232 RTS/DTR und sowas? vielleicht mit beschalten.
nur so ne Idee...
Axel

von Thorsten (Gast)


Lesenswert?

Ich hab RTS-CTS und DTR-CTR gebrückt, der AN910-Programmer unterstützt
ja kein Hardware-Handshaking.

Thorsten

von Hans Hafner (Gast)


Lesenswert?

Hi Klaus!

So, Diplomarbeit fertig - und ran an den Programmer.
Also, Dein AVR-Programmer mit dem 2313 funktioniert prächtig im
AVRStudio!

Danke nochmals

So long
Hans

von Oryx (Gast)


Lesenswert?

Hallo,
hat schon mal jemand den AN910-Programmer unter folgenden Bedingungen
zum laufen gebraucht:
WinXP
Avrdude 4.3.0
8MHz Resonator 8MHz mit Skop nachgemessen
avrdude.conf auf 38400 Baud eingestellt
Aufruf mit:
avrdude -v -p AT90S2313 -P com1 -c avr910 -U flash:w:lwa_mq.hex

bei mir läuft es nur teilweise. Es wird mit folgender Meldung
abgebrochen:

Version usw...
Version 3.0 und auch die neue 3.2. Jeweils mit Anpassung der
Taktfrequnz.

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100%
0.00s

avrdude: Device signature = 0x01911e
avrdude: NOTE: FLASH memory has been specified, an erase cycle will be
performed

         To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "lwa_mq.hex"
avrdude: input file lwa_mq.hex auto detected as Intel Hex
avrdude: writing flash (1832 bytes):

Writing |                                                    | 0%
0.00savrdude:
error: programmer did not respond to command: clear LED


Meine Signale auf der seriellen Schnittstelle sehen gut aus. Mit dem
AVR-Studio funktioniert das programieren auch. Als Pegelwandler
verwende ich einen MAX232.

MfG
Oryx

von Klaus L. (Gast)


Lesenswert?

Hallo Oryx,

probier mal im 2313 Source den Befehl rcall getc beim Kommand "x" und
"y" herauszunehmen. Wenn ich mich richtig erinnere, ist das zwar in
der Kommandbeschreibung so verlangt, aber es gibt unterschiedliche
Implementierungen. Siehe hierzu auch den tread:
http://mail.gnu.org/archive/html/avrdude-dev/2004-03/msg00016.html

Man kann auch im avrdude Source was ändern, aber das ist wohl etwas
aufwändiger.

Schreib bitte mal, ob es geklappt hat.

Ciao,
Klaus

;====== 'x' - Set LED
w6:
  cpi  u_data,'x'  ; 'x' Set LED (LED off or green)
  brne  w61
;-->  rcall  getc    ; get parameter
;@@KL
  set_LED
  rjmp  put_ret

;====== 'y' - Clear LED
w61:
  cpi  u_data,'y'  ; 'y' Clear LED (LED on or red)
  brne  w7
;-->  rcall  getc    ; get parameter
;@@KL
  clr_LED
  rjmp  put_ret

;======================================================================= 
===

von Michael Liebing (Gast)


Angehängte Dateien:

Lesenswert?

Ich hatte das gleiche Problem mit AVRDUDE und habe die oben genannten
Aenderungen gemacht. Der Fehler mit dem LED-Kommando ist verschwunden.
Jetzt meldet AVRDUDE

error: programmer did not respond to command: flush pages



Michael

von Thomas Fischl (Gast)


Lesenswert?

Hallo,

neben dem LED-Kommando gibt's noch ein Problem mit AVRDUDE. Und zwar
stimmt die Reihenfolge der Schreibkommandos mit z.b. AVRProg nicht
überein. Und wenn ich mich recht erinnere, war das genau diese
Fehlermeldung. Ich hab bei mir eine Zeile eingefügt, um dieses Problem
zu beheben. Siehe hierzu:
http://mail.gnu.org/archive/html/avrdude-dev/2004-03/msg00012.html

Thomas

von Oryx (Gast)


Lesenswert?

Hallo,
danke für die schnellen Antworten.
Ist das nun ein generelles Problem zwischen Avrdude und der Software im
2313 oder ist es nur ein Problem mit den 8Mhz und den 38400 Baud?
Mir scheint es eher ein generelles Problem zu sein. Mit UISP habe ich
auch nichts zum laufen bekommen.
Gibt es für den 2313 auch einen C Quellcode?

MfG
Oryx

von Klaus L. (Gast)


Lesenswert?

Hallo,

@Oryx: Die Geschwindigkeit spielt hier keine Rolle, wichtig ist nur,
dass avrdude und der 2313 die gleiche haben.
Einen C Code für diese 2313 Firmware gibt es nicht.

Das Problem der unterschiedlichen Implementierungen kommt vermutlich
daher, dass die Entwickler eine andere Basis des 2313 Programmes
benutzt haben als die auf meiner Seite. Im Forum von
http://www.avrfreaks.net wurde auch schon mal eine andere Version der
Firmware hochgeladen, die ebenfalls block write mode unterstützt. Man
kann also davon ausgehen, das es mehrere "Codebasen" für die 2313
Firmware gibt. Die sind zwar alle mit der "Ursprungssoftware" von
Atmel Kommandokompatibel, aber anscheinend nicht "Antwortidentisch".
Ausserdem kommt es darauf an, was Die avrdude Entwickler als basis
hatten. ...und: keine Software ist fehlerfrei. Zumindest ist bei
avrdude der Algorhytmus anders als bei AVRprog, was Thomas ja auch
schon zu spüren bekommen hat ;-) .

Ich habe übrigens gerade mal zum Test die avrdude 4.3.0 für Linux
geladen und frisch compiliert. Das LED Problem tritt bei mir nicht auf,
wohl aber das Problem beim schreiben des Flash. In der Original Source
von Atmel (die Version mit AT90S1200, Version 2.2) wird übrigens trotz
anderer Dokumentation beim LED Kommando (x,y) kein zusätzliches
Datenbyte abgefragt. Hier könnte man mal testen, was AVRprog beim
umstellen des Kommandos macht.

Bleibt die Frage: wer hat eine mit avrdude funktionierende AVR910
Firmware, und welche ist das?

Soweit für heute, ich bleibe an dem Thema mal dran.

@Thomas, wie siehts bei Dir zeitlich aus? Ich bräuchte Unterstützung
beim C Code von avrdude ;-)

Ciao,
Klaus

von Sebastian__ (Gast)


Lesenswert?

Hallo,
der link wurde bereits im forum gepostet, mit der SW geht AVRDude, der
CodeVision Programmer und AVRProg.
http://www.icplan.de/seite20.htm
aud der seite sind die sources und die hex dateit als zip zum
runterladen, aber nur mit 9,6KBaud.

Sebastian

von Oryx (Gast)


Lesenswert?

Hallo Klaus,
ich habe deine Änderungen ebenfalls ausprobiert.
Jetzt laufen bei mir Avrdude und Uisp mit 8MHz und 38400 Baud.
Danke.

Leider habe ich der Meldung von Michael getraut und den Code von
Sebastian getestet. Daher hat es etwas länger gedauert.

Kann es sein, das im avrdude-code ein Problem vorhanden ist, das dann
durch den LED-Befehl kaschiert wird.

Datei avr910.c ab Zeile 358
/*
 * For some reason, if we don't do this when writing to flash, the
first byte
 * of flash is not programmed. I susect that the board got out of sync
after
 * the erase and sending another command gets us back in sync. -TRoth
 */
static void avr910_write_setup(PROGRAMMER * pgm, AVRPART * p, AVRMEM *
m)
{
  if (strcmp(m->desc, "flash") == 0) {
    avr910_send(pgm, "y", 1);
    avr910_vfy_cmd_sent(pgm, "clear LED");
  }
}

Ich werde den Programmer morgen mal richtig testen. Ansonsten bin ich
schon mal sehr zufrieden. Die Zielhardware läuft ohne irgendwelche
Störungen vom PC.

Soll ich meinen Code irgendwo hinsenden?

Nochmals Danke

Oryx

von Klaus L. (Gast)


Lesenswert?

Hallo,

@Oryx: freut mich, das es jetzt soweit schon mal funktioniert. Ich habe
mich noch nicht ausgiebiger mit avrdude auseinandergesetzt, meinen
funktionierenden acrdude-Code habe ich von Thomas Fischl. Er hat schon
mehr Erfahrung damit. Ich bin aber gerade dabei meine AVR
Programmierumgebung auf Linux zumzustellen. Ich werde auf jeden Fall
meine Erfahrungen posten. Was ich aber schon gemerkt habe ist, dass
avrdude auch so seine Macken hat ;-) insbesondere die
Programmiergeschwindigkeit ist (noch) nicht so toll.

@Sebastian: Soweit ich das sehe, ist der Code in Deinem Link bis auf
die geringere Baudrate der Code von meiner Seite. Hast Du noch andere
Änderungen gefunden?

Ciao,
Klaus

von Thomas Fischl (Gast)


Lesenswert?

Hallo,

@Klaus:
Im CVS von avrdude liegt eine Firmware. Auf die wurde, denk ich,
avrdude zugeschnitten:
http://savannah.nongnu.org/cgi-bin/viewcvs/avrdude/avr910/

@Oryx:
Genau, das ist die Stelle im avrdude-Code, die Probleme macht. In der
aktuellen CVS-Version wurde dies aber bereits behoben.
Dann bleibt für "unsere" Programmer nur noch das Problem mit der
Reihenfolge der Schreibkommandos. Evtl. sollten wir mal den
Firmware-Code vom Link oben genauer ansehen, ob die beim Flashen was
anderes ganz machen?!

Thomas

von Thorsten (Gast)


Lesenswert?

Hallo,

ich habe gerade festgestellt, daß der Programmer den AT90S1200-4SI
nicht programmieren kann, wenn der interne RC-Oszillator (1MHz)
aktiviert ist. Kann das zufällig jmd. bestätigen ?

Thorsten

von Klaus L. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo *,

ich hab gestern mal mit Portmon die LED sequenz von AVRProg und meinem
Programmer mitgeloggt, und dann die weiter oben beschriebene Änderung
in der 2313 Firmware beim LED Kommando eingebaut und wieder geschaut.

Das Ergebnis:
AVRProg (Atmel Software unter Windows) sendet nach dem LED Kommando
noch ein Zählbyte, der Code auf meiner Seite passt daher.

avrdude basiert auf einer alten Firmware, bei der von Atmel das LED
Kommando noch nicht wirklich implementiert war und sendet KEIN 2. Byte.
Deshalb die Probleme mit meiner Firmware und avrdude.

Wenn man die Firmware jetzt "avrdude gerecht" ändert, also das
"rcall getc" Kommando in der Firmware auskommentiert klappt avrdude.
AVRprog kommt damit auch zurecht, da das "unerwartete verhalten" des
Programmers abgefangen wird und der RS232 Puffer gelöscht wird.
(AVRprog sendet das LED Kommando mehrmals, und erkennt an den
zurückgegebenen Codes das Verhalten)

Danach gehts normal weiter, und die LED funktioniert auch so wie es
sein soll.

Fazit: man kann die Modifikation (weglassen des 2. getc) für avrdude
schon machen, unter Win funktioniert es trotzdem. Alle Win only nutzer,
lassen es besser so wie es ist.

Bis bald,
Klaus

Wen es genauer interessiert, der schaut in den Dateianhang.

von formtapez (Gast)


Lesenswert?

Ich habe gerade mit dem Gerät einen ATmega128 programmiert.
Der Programmer funktioniert super.
Vielen Dank dafür!
Ich verwende allerdings einen MAX232 Baustein.

MfG
formtapez

von formtapez (Gast)


Lesenswert?

@ Klaus:

In welcher Zeile soll man denn das "rcall getc" auskommentieren damit
avrdude funktioniert ?
Kannst Du vielleicht ein alternatives Hex-File zum Download anbieten ?

MfG
formtapez

von formtapez (Gast)


Lesenswert?

Ach ich war anscheinend blind ;-)

Jetzt funktioniert es mit AVRProg und AVRDude problemlos mit 115200
Baud.


MfG
formtapez

von formtapez (Gast)


Lesenswert?

Komischerweise funktioniert es plötzlich nicht mehr mit AVRDude.

Fehlermeldung:
--------------------<schnipp>-------------------------
AVRDUDE: writing flash (388 bytes):
Writing | ################################################## | 100%
0.43s
AVRDUDE: error: programmer did not respond to command: flush final
page
--------------------<schnapp>-------------------------

MfG
formtapez

von formtapez (Gast)


Angehängte Dateien:

Lesenswert?

Im Anhang sind zwei Hex-Files für den Mega128.
Bei dem File geht_nicht.hex kommt der o.g. Fehler.
Bei geht.hex habe ich im Programm nur die RS232-kommunikation
deaktiviert und es lässt sich mit AVRdude programmieren.

Vielleicht reagiert der Prommer falsch auf irgend ein Zeichen.

MfG
formtapez

von Oryx (Gast)


Lesenswert?

Hallo formtapez,
ich habe deine beiden Dateien mal auf einem Mega8 getestet. Ging beides
nicht. Die gleiche Fehlermeldung wie bei dir. Einen MAX232 verwende ich
auch.

MfG
Oryx

von formtapez (Gast)


Angehängte Dateien:

Lesenswert?

Hallo !

Ich habe jetzt den unteren Teil (nicht den Teil mit dem ESC-Zeichen)
des Patches von
http://mail.gnu.org/archive/html/avrdude-dev/2004-03/msg00012.html
auf die avr910.c angewandt.
Mit der angepassten 2313er Firmware (ohne die beiden "rcall getc" wie
oben beschrieben) kann ich jetzt problemlos Programmieren.

Ich habe für die Windows-User eine entsprechend kompilierte Version im
Anhang hochgeladen. Enthalten ist auch die geänderte Firmware des
2313ers.

Viel Spass beim Programmieren :-)

MfG
formtapez

von DerDominic (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,
gerät jetzt zwar etwas offtopic, aber :
Es gibt die Application Note 309 von Atmel, da wird ein 2313 bzw. Mega8
dazu verwendet die USB-Kommunikation zu machen. Nun wäre es ja schön,
wenn man diese beiden kombinieren würde. Raus käme im Groben eine
Schaltung mit zweimal 2313 und direktem programmieren per USB.
Was hält die Gemeinde davon, könnte man doch auch in einen AVR
quetschen, order ?

Gruß
Dominic

von Oryx (Gast)


Lesenswert?

Hallo formtapez,

ich habe deine avrdude Version getestet. Scheint mit 38400 Baud
(conf-Datei geändert) auf einem Mega8 und einem 2313 zu laufen.

Super!!

MfG
Oryx

von Hans Meier (Gast)


Lesenswert?

Hey Dominic,
schau dir mal das hier an:

http://unpy.net/avr/usb/

von schneidertobi (Gast)


Lesenswert?

Hi,
ich kenne diese ARt von USB-Interface. Das ist im Grunde eine ganz
tolle Sache, sie hat aber einen Haken: Die USB-Implementierung benuzt
langsame control-transfers, und schaft gerade mal ca 120 Uebertragungen
pro sekunde mit maximal 4 Byte Nutzlast. Die Geschwindigkeitsangabe von
100Byte/s auf der Page scheint mir daher realistisch. Das macht fuer
8KB ca 80s und ist daher unertraeglich langsam.

Neu ist mir, dass es auch linux treiber gibt

Gruß Tobias

von Peter D. (peda)


Lesenswert?

Wie schon bei meinem Bootloader beschrieben, nehme ich ein
USB-UART-Kabel (29,99€).

Damit hat man dann keinerlei Probleme mehr, ein LINUX-Treiber ist auch
mit dabei.

Ich komme dann über USB auf 17s für meinen Mega162 und das ist voll
o.k.
Den Mega128 wüßte ich eh nicht, wie ich den vollkriegen soll.


Peter

von Klaus Leidinger (Gast)


Lesenswert?

Hallo Peter,

hast Du das USB-UART Kabel mit dem AVR910 getestet, oder
ausschliesslich mit Deinem Bootloader?

Das AVR910 Protokoll ist leider etwas "geschwätzig", besonders bei
den alten AVRs, die noch keinen page Mode beim Programmieren
unterstützen. Latenzen kommen also dort besonders schmerzlich zum
tragen.

Wenn der USB Umsetzter mit AVRprog und am besten noch mit avrdude in
ordentlicher Geschwindigkeit funktionieren würde, wäre das toll, die
Anfrage hatte ich nämlich schon öfter ;-)

Woher hast Du denn Deinen USB-UART adapter?

Viele Grüsse,
Klaus

von Dominic Thomé (Gast)


Lesenswert?

<schnipp>
Hey Dominic,
schau dir mal das hier an:

http://unpy.net/avr/usb/
<schnapp>
Hoppla, da war einer schon schnellr mti meiner Idee.
Aber 100Baud ist wirklich nicht die Welt.....

Habe hier übrigens einen USB2Seriell wo der AVR-ISP angeschlossen ist,
das geht wirklich super schnell, kann man nix sagen...

Danke
Dominic

von Peter D. (peda)


Lesenswert?

@Klaus,

ich habs nur mit meinem Bootloader getestet und der sendet bis 512
Bytes am Stück und wartet dann auf die Fertigmeldung.


Peter

von Alexander Niessen (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Klaus.
Ein dickes Lob an dich wegen der guten Anleitung auf deiner HP zum Bau
des Programmers.
Hat alles auf Anhieb funktioniert. Nun bin ich endlich meinen
Parallel-Port-Prommer los :)

Grüße,
Alex

von A. Arndt (Gast)


Lesenswert?

Hallo Klaus,

habe den Programmer auch nachgebaut, leider läuft er nicht, die
bekannte Meldung "No supported board found" kommt.

Die Firmware ist drin, auch ein 2313 ist mit 115200er FW bestückt, auch
das mit dem Terminal mit x und y läuft nicht. Habe jetzt statt bc547 -->
bc548 genommen, evtl. liegt es daran, ich prüfe nochmal die Schaltung
genau.

Die Schnittstelle habe ich auch auf 115200 eingestellt.

AVR Prog sucht wohl auch nach COM-Ports, denn mein Modem klickte leicht
und dann kam der Fehler.

Gruss
A. Arndt

von Klaus Leidinger (Gast)


Lesenswert?

Hallo Alexander,

die Transistoren funktionieren schon so, wie in meinem Schaltplan. Der
wurde bisher schon so oft nachbebaut.

Hier die häufigsten Fehler:

Falsche Sub-D Buchse. Es muss eine Buchse sein!

Falsches serielle Kabel: es muss ein 1:1 Kabel sein, eine Seite
Stecker, eine Seite Buchse, jedenfalls dann wenn es ein 9pol/9pol.
Kabel ist.

Der AVRProg muss an 5V angeschlossen sein, er bekommt keinen Strom über
den com Port

Seltener klappt der PC Port nicht mit 115200 Baud, dann die Firmware
auf 57600 umstellen und neu brennen.

Hast Du meinen Layoutplan verwendet? Wenn nicht prüfen ob die Brücken
an der Sub-D Buchse gemacht sind (und natürlich ob sonst alles stimmt)

Wechselt die LED beim Einschalten die Farbe? Wenn ja, stimmt schon mal
die Firmware und Du kannst Dich auf den seriellen Teil konzentrieren.

Die Tests hierzu stehen auf meiner Seite.

HTH,

Klaus

von A. Arndt (Gast)


Lesenswert?

Hallo Klaus,

jetzt läuft es auch bei mir, habe leider die SUB-D-Buchse falsch
angeschlossen, das ist auch immer sehr verwirrend, aber nun klappt es.

Wie kann man nochmal die Auswahl beschränken auf wenige Modelle die man
braucht bei AVR-Prog vom Studio ?

Gruss
Alexander

von Klaus Leidinger (Gast)


Lesenswert?

Hallo Alexander,

am Ende des Sourcecodes befindet sich die sektion mit den "bekannten"
Controllern. Einfach alles auskommentieren, was Du nicht haben willst.
Dann neu compilieren, brennen, fertig.

Ciao,
Klaus

P.S. und immer die Beschreibung lesen...

von Klaus Leidinger (Gast)


Lesenswert?

Hallo AVR910 Nutzer,

ich habe meine AVR910 Seite etwas überarbeitet (detailliertere
Beschreibung der Steuerprogramme, mehr Tipps zur Fehlersuche usw.) und
zusammen mit Thomas Fischl habe ich die weiter oben angesprochene
Beschleunigung für avrdude eingebaut.

Für alle, die diesen Programmer zusammen mit avrdude benutzen, gibt es
einen neuen Beitrag in diesem Forum:
http://www.mikrocontroller.net/forum/read-4-95689.html

Dort bitte Eure Erfahrungen, Bugs usw. zur Beschleunigten avrdude
Version eintragen.

Für allgemeine Fragen, Kommentare usw. bitte weiter diesen Beitrag
benutzen.

Alle die avrdude nicht benutzen, können eventuell trotzdem etwas von
der überarbeiteten polling Routine profitieren. (und mal die
selfprogramming Funktion testen ;-) )

Ciao,
Klaus

Hier noch mal der Link zur AVR910 Programmer Seite:

http://www.mikrocontroller-projekte.de (AVR910-Prog)

von Christof Krüger (Gast)


Angehängte Dateien:

Lesenswert?

Ich hab jetzt auch mal den Prommer gebaut. Habe ihn allerdings noch
etwas miniaturisiert. Bringt zwar nix, fand ich aber mal ne
Herausforderung. Das Ding passt jetzt in einen RS232-Stecker... wenn
auch nur knapp...
Die herausragenden Pins muss man zum Updaten der Firmware
kurzschliessen, für einen Taster war kein Platz.

Allerdings finde ich den Prommer nicht sonderlich schnell. Um ca. 16 KB
zu schreiben braucht er ungefähr 10 Sekunden. Eingestellt ist er auf
115200baud und ich habe es mit avrdude unter Windows gemacht. Habe den
Patch von der Seite eingespielt und in der Config und Firmware
lediglich dem ATmega162 einen device code verpasst, sonst nichts
geändert.
Habe ich etwas übersehen, oder wird das nicht schneller?
Mit Ponyprog und Parallel-Prommer dauert es nämlich genauso lang.

von Klaus Leidinger (Gast)


Lesenswert?

Hallo Christof,

schöner Aufbau im SUB-D Gehäuse. Kompliment. Gut gelöst. Gibts auch ein
Bild mit offenem Gehäuse?

>Allerdings finde ich den Prommer nicht sonderlich schnell. Um ca. 16
>KB zu schreiben braucht er ungefähr 10 Sekunden.
>...
>Habe ich etwas übersehen, oder wird das nicht schneller?
>Mit Ponyprog und Parallel-Prommer dauert es nämlich genauso lang.

Zum Vergleich solltest Du mal die Original Firmware ausprobieren ;-)

Wenn er genau so schnell wird wie der Programmer am Parallelport ist
das eigentlich mehr als ich erwartet habe...

Voraussichtlich nächste Woche stelle ich die neue Version mit
Beschleunigung auch für AVRProg online. Läuft bei mir schon. Bringt
dort ungefähr die gleiche Zeit wie jetzt mit dem avrdude Patch. Ev.
geht dann noch was mit avrdude, da ich die block Schreib Routine etwas
geändert habe. (1,6K in 0,76s bei Mega8)

Bis dann,
Klaus

von Christof Krüger (Gast)


Lesenswert?

AVRProg kann ich vergessen, der unterstützt den 162er nicht. Daher bin
ich grad mit AVRdude am werkeln.

Beim Herstellen der Prommers habe ich die Platine leider etwas
überbelichtet, so dass die Oberfläche leicht porös geworden ist. Hatte
den Nachteil, dass ich sehr schlechte Lötstellen hatte. Nach x-maligem
Nachbessern will ich das Gehäuse jetzt lieber nicht mehr öffnen.
Ausserdem wäre das jetzt mit den vielen Nachbesserungen auch nicht mehr
hübsch g

Der Aufbau ist "vertikal". Es sind eigentlich zwei dünne 0.8mm
Platinen, ein SMD 90S2313 und paar SMD-Widerstände und Kondensatoren.
Transistoren und Elko sind "normal", da ich keine SMD bauteile
passend da hatte. Als Quarz habe ich einen 11,... MHz genommen. Damit
ist der AVR zwar etwas übertaktet, das stört ihn aber nicht.

Versuche jetzt mal den mit AVRdude und 230400baud laufen zu lassen.

von Christof Krüger (Gast)


Lesenswert?

Bah, das Ding fällt mir wieder auseinander. So schick klein das auch
sein mag, es hatte paar Macken und die Lötstellen hielten der
mechanischen Belastung nicht stand. Wenn ich mal Zeit habe, baue ich
die Schaltung noch mal richtig in Makro- und nicht Nanobausweise ;)

von Klaus Leidinger (Gast)


Lesenswert?

Hallo,

die neue Firmware (Version 3.6) für den AVR910 Programmer ist jetzt
fertig. Es ist jetzt die Protokollerweiterung nach der Atmel
Application Note 109 implementiert, die u.a. von AVRProg und avrdude
unterstützt werden. Durch die Beschleunigung des Protokolles
(Blockmode) gibt sich eine deutliche Geschwindigkeitsverbesserung für
den Einsatz von serial<-> USB Wandlern.

Alles weitere auf meiner Homepage:
http://www.mikrocontroller-projekte.de (AVR910 Prog)

Viel Spass,
Klaus

von CarstenG (Gast)


Lesenswert?

Hallo Klaus,

ich habe ein kleines Problem mit Deinem AVR910-Programmer. Ich habe
damit bisher problemlos die Klassik-AVRs und Mega8 programmiert.
Mittlerweile bevorzuge ich den Mega8535 (mehr Pins). Leider ist dieser
MC in der Auswahlliste des AVRProg des AVRStudios (Version 4.09 Build
338) nicht zu finen, obwohl der Mega8535 in derFirmware vom Oct 03 2003
als auch Sep 30 2004 unter "dw 0x6A ;m8535" aufgeführt ist, d.h dieses
Problem tritt in beiden Versionen bei mir auf. Bin ich einfach nur zu
blind oder mache ich einen anderen Fehler?

Carsten

von echtÄtzend (Gast)


Lesenswert?

Hallo Carsten,

der Fehler liegt bei mir ;-) Der m8535 wird nicht erkannt, ich werde
mal probieren, ob er in einer alten AVR-Prog Version drin war (kann ich
mir aber nicht vorstellen), oder ob mir der m8535 einfach
"reingerutscht" ist.

Da meines Wissens nur Speichergrössen und Programmiermodus (block mode)
abgefragt wird, kannst Du z.B. den m8515 einstellen, falls keine anderen
Fuses eingestellt werden (hab jetzt nicht geprüft, ob andere Fuses
vorhanden sind).

Danke für den Hinweis, ich werde dem nachgehen.

Ciao,
Klaus

von Dirk (Gast)


Lesenswert?

Hi,

ich haette da auch eine kurze Frage zu deinem Programmer.

Du arbeitest mit Transistoren zum Levelshiften (12V->5V). Ich hatte
ueberlegt die ganze Transistorenbeschaltung gegen ein MAX202
auszutauschen oder gibt es einen speziellen Grund das du mit
Transistoren arbeitest? (ausser Preis).


Mfg
Dirk

von Tobi (Gast)


Lesenswert?

man kann auch einen max dafür verwenden. läuft bei mir einwandfrei. aber
der max202 schafft laut datenblatt nur 64kbaud. das ist ein bisschen
wenig

von Dirk (Gast)


Lesenswert?

Hi,

ich benutze den MAX202 mit 115kbaud und hatte bis jetzt noch keine
Probleme.

Vielen Dank fuer Information.

Mfg
Dirk

von Dirk (Gast)


Lesenswert?

Hi,

@Tobi hier mal eine Korrektur "Data Rate (kbps) max 120 ".


Mfg

Dirk

von Tobi (Gast)


Angehängte Dateien:

Lesenswert?

hmm... ich bin von der tabelle im anhang ausgegangen. ist aus nem maxim
datenblatt

vielleicht ja mittlerweile überholt...

von Dirk (Gast)


Lesenswert?

Hi,

so ist es (ist ueberholt) und so teuer ist der MAX202 auch nicht mehr
im Gegensatz zu dem MAX232.

Ich verwende ihn am liebsten wegen den kleinen 100nF Pillen :)

Mfg

Dirk

von Tobi (Gast)


Lesenswert?

da geht aber auch der 232a

von Klaus Leidinger (Gast)


Lesenswert?

Hallo Dirk,

der 2. Grund ausser dem Preis ist der geringere Platzbedarf, oder
besser gesagt die bessere Platzausnutzung in den Ecken des Gehäuses
wenn man "nicht SMD" Bauteile verwendet.


Ciao,
Klaus

von Klaus Leidinger (Gast)


Lesenswert?

Hallo avr910 Nutzer ;-)

ich habe eine neue Version der avr910 Firmware auf meiner Seite zum
download. Diese Version (V 3.7) fixt einige Probleme beim brennen von
ATTiny 15 und 26, sowie einiger AT90S Chips.

Ausserdem habe ich Support für den ATTiny2313 eingebaut. Brennen kann
man diesen aber leider nur mit avrdude, die Anpassungen dafür im
avrdude.conf file habe ich auf meiner Seite beschrieben.

Fehlerberichte und Kommentare bitte in diesem Thread.

Die Firmware funzt auf praktisch allen Brennern, die auf Basis der
Atmel Application Note 910 aufgebaut sind (insbesondere geeignet für
Varianten mit USB Adapter, da schneller).
Die ev. erforderlichen Änderungen sind auf meiner Seite beschrieben.

...let it burn,
Klaus

http://www.mikrocontroller-projekte.de (avr910 Prog)

von Klaus Leidinger (Gast)


Lesenswert?

Hallo avr910 Fans,

Atmel hat mit der letzten AVRStudio Version 4.11 (build 401)
überraschenderweise eine neue AVRProg Software (V1.40) mit
herausgebracht.
Dort sind jetzt auch ATMega64, ATMega169 und ATMega8535 unterstützt.
Diese waren in meiner letzten Firmware schon drin, aber nur mit avrdude
zu benutzen.

Wer einen dieser Controller brennen möchte, sollte sich das neue Studio
holen.

Ciao,
Klaus

von formtapez (Gast)


Lesenswert?

Ich habe meinen AVR910 nun auch mal wieder aktualisiert. Funktioniert
wunderbar.

Ich habe hier jetzt einen ATmega162 bei dem ich FuseBits programmieren
will. Der neue AvrProg von Atmel unterstützt den ATmega162 leider
nicht.
Kann mir jemand sagen wie ich das mit avrdude (oder einem anderen
Programm) mache?

MfG
formtapez

von formtapez (Gast)


Lesenswert?

Schon gut :)

Geht beispielsweise so: avrdude -p m162 -U hfuse:w:0xD9:m
Auslesen im Terminal-Mode (avrdude -p m162 -t):
dump hfuse


MfG
formtapez

von Klaus Leidinger (Gast)


Lesenswert?

Hallo formtapez,

probiere doch mal bei AVRProg einen "Nachbartypen" mit gleicher
Memory Bestückung und Fuses aus (Datenblatt). M163 und M169 kommen ev.
in Frage.

Ansonsten, in avrdude hast Du es schon voll drauf ;-)

Ciao,
Klaus

von Sascha (Gast)


Lesenswert?

Hallo

Hatte mir zwei der Programmer gebaut. Einer hat jetzt nen merkwürdigen
Fehler.  Das Schreiben und lesen des Flash  z.B von einem Mega32
funktioniert tadellos. Aber er erkennt die Signature nicht und die
Fusebit`s werden auch nicht gelesen. Mit dem anderen geht es tadellos.
Habe es mit dem löschen und programmieren des Programmer's versucht.
Ergab aber keine änderung.

Mfg Sascha

von Klaus Leidinger (Gast)


Lesenswert?

Hallo Sascha,

wenn beide die identische Firmware haben, vertausch mal die
gebrannten Chips auf den Programmern gegeneinander. Wenn der fehler
nicht mitwandert, liegts am Board, oder Kabel wenn nicht, probier einen
anderen 2313.

Hast Du die neueste Firmware von dieser Woche? Version 3.7e. In einer
alten Version gabs manchmal Probleme, wenn der Zielcontroller langsam
getaktet war.

HTH,
Klaus

von Sascha (Gast)


Lesenswert?

Hi,

getauscht hatte ich schon. Es tritt dann auch der Fehler auf. Liegt
also nicht an der Schaltung. Werde es mit der "neuen" Version
testen.
Wobei ich bezweifel, das es daran liegt. In beiden ist die V1.37.

Mfg sascha

von Klaus Leidinger (Gast)


Lesenswert?

Hallo,

1.37 ? das ist die Version von AVRProg. Ich meinte die Firmware.

Sonst keine Unterschiede? Gleiches Zielboard, gleiches Kabel? Was ist,
wenn Du einen anderen Controller nimmst, kann er dann die Signatur
lesen?

Ciao,
Klaus

von Armin Kniesel (Gast)


Lesenswert?

Gibt es eine Chance daß man den mega88 damit programmieren kann?
Tut sich da noch was in der Zukunft oder ist da das Ende der
Fahnenstange?
Ich fande das echt gut. Weil man hat nicht immer das STK zur Hand.

von Sascha (Gast)


Lesenswert?

Hi,

@Klaus,

sorry meinte V3.7. Ich habe jetzt V3.3, V3.6, V3.7 ausprobiert. Mit
jeder Version ging das Flashen, Lesen und Verify des Flash. Nur
Signature und Fusebits nicht. Nach tausch des 2313 ging es. Vermute
einen defekt des 2313. Fragt sich nur, warum die programmierung des
Flash geht.

Mfg Sascha

von KLaus Leidinger (Gast)


Lesenswert?

@Armin,
hängt davon ab, mit welcher Software Du programmierst. Auf Atmel und
AVRProg hab ich wenig Einfluss, wie es bei avrdude geht, hab ich auf
meiner Seite ja beschrieben. Wenn Du avrdude benutzt, mache ich Dir
gerne eine Version, wenn Du im Gegenzug testest. (auch Mega48 ist
interessant) Schreib mal was Du benutzt.

@Sascha
Seltsame Geschichte. Das lesen von Fusebits ist elektrisch auch nicht
anders als das vom einer Speicherstelle

Ciao,
Klaus

von Sascha (Gast)


Lesenswert?

@Klaus

Das denke ich ja auch. Aber leider ist es so. Habe den "defekten"
2313 jetzt schon mehrmals mit mit den verschiedenen Versionen des
AVR910-Programmers geflasht. Der Verify spuckt keinen Fehler aus.
Alles sehr suspekt.

Mfg Sascha

von Armin Kniesel (Gast)


Lesenswert?

@Klaus,

ich benutze den AvrProg. Den aktuellen Programmer mit der aktuellen
Firmware habe ich, aber der mega88 ist wie gesagt nicht dabei.
Ich habe mal AVRdude installiert, und bin bereit das zu testen.

Armin

von Marcel hantke (Gast)


Lesenswert?

Ich habe mir ein board mit einem CoController AT90S2313 gekauft.
Ich will Assembler Programmierung lernen und habe mir ein Buch
ausgeliehen.Muss ich irgend etwas beachten, weil das Buch nur für eine
bestimmte Mikrocontroller Familie geschrieben ist.

von Frankl (Gast)


Lesenswert?

Für Marcel: Ja

von Jens (Gast)


Lesenswert?

@Klaus

Hallo,

ich  habe dein programmer nachgenaut. Nur mit FT232.
Es muß doch auch irgendwie möglich sein as ganze an das STK500
Protocoll anzupassen. Oder ist das unmöglich?.
Vieleicht kennst du ja das Projekt mit dem Mega8(SMD).
Dessen Firmware passt aber nicht auf den 2313. Wenn man jetzt den 2313
austausch mit einem Pinkopatiblen µC mit größerem speicher sollte es
doch gehen den Programmer auf das STK500 Protokoll um zu stellen. Wieso
geht eigentlich self programming nicht bei dieser Version. Ich habe auch
da ENtwicklungsoard von Atmel. Da muß ja die Firmware auch irgendwie
drauf. Dort habe ich auch schon updates gemacht. Wie funktioniert das
also beim STK500 Board.

von Klaus Leidinger (Gast)


Lesenswert?

@Jens

klar kann man auch einen Programmer bauen, der das Protokoll des STK500
spricht, dann ist es aber kein AVR910 mehr ;-)

Der Sinn dieses Programmer war ja mit möglichst wenig Hardwareaufwand
und Open Source Software preiswert zu einem Programmer zu kommen, der
auch direkt aus dem AVRstudio funktioniert.
Es gibt auch keinen zum 2313 pinkompatiblen Chip mit mehr Speicher
(jedenfalls noch nicht).

Selfprogramming bei diesem Programmer bedeutet dass es selbst
Programmiert wird. Man braucht also einen zweiten Programmer um den
2313 neu zu brennen. (auch zum ersten Programmieren braucht man ja
einen zweiten Programmer).

Wenn Du was möchtest mit stk500 Protokoll:
http://www.der-hammer.info/hvprog Der kann auch ISP und arbeitet mit
der original Atmel Firmware des STK500.

Das STK500 hat einen AVR910 (90S1200) mit auf dem Board, der sorgt für
die updates.

Eine weitere sehr schnelle Schaltung mit USB hat Matthias Matwei:
http://matwei.de/ger/index.php?page1=elektronik&page2=usbisp
Die unterstützt auch das STK500 Protokoll.

Da dürfte dann ja was für Dich dabei sein.

Viele Grüsse,
Klaus

von Michael Noss (Gast)


Lesenswert?

Hallo an alle AVR910 Experten

Ich habe auch den Programmer mit AT90S2313 von Klaus Leidinger gebaut.
Funzt bis jetzt eigentlich ganz prima.
Eine Frage habe ich jedoch. Zu AVRProg von Atmel wird gesagt: Einfach
den Tiny 26 einstellen wenn man einen tiny 2313 programmieren will.
Funktioniert das dann komplett mit allen Fuse bits u.s.w. oder welche
Einschränkungen gibt es ?

Schönen Gruß
              Michael Noss

von Heinz (Gast)


Lesenswert?

Wie Programmiert man mit dem 910 die Fusebits der neuen AVRs (88,
168..)?

von Klaus Leidinger (Gast)


Lesenswert?

@Heinz,

die Frage ist eher: mit welcher Steuersoftware programmiert man das.
Für avrdude habe ich das vorgehen auf meiner Seite beschrieben.

Wenn Jemand Erfahrungen damit gemacht hat, bitte um Rückmeldung. Wenn
ich einen Mega48/88/168 hier habe, probiere ich es selbst mal aus.

von Klaus L. (kllei)


Lesenswert?

@alle Benutzer des avr910

Ich habe heute die neue Firmware V3.8 online gestellt.

Sie beinhaltet jetzt einen verbesserten Support für das lesen und
schreiben der Lock- und Fusebits. (voller Befehlssatz der Appl. Note
avr109 implementiert)
Die Version 3.8 ist mit der aktuellen avrdude Version 5.0 kompatibel.

Ausserdem sind einige Devicecodes für neue, von avrdude unterstützte
Controller eingetragen. (eine angepasste avrdude.conf für 5.0 gibts
ebenfalls auf meiner Seite)

Erfahrungen und Testberichte bitte hier posten.

Viel Spass damit,
Klaus Leidinger

von andi_v6 (Gast)


Angehängte Dateien:

Lesenswert?

Servus!

Habe heute deine V3.8 auf Anhieb zum laufen gebracht, verwende max232
und 8 MHz Quarzoszillator bei 38400 Baud. Das ganze läuft unter
Avr-Studio 4.08 mit Windows XP. Habe die Schaltung (Eagle) hochgeladen,
vielleicht kanns jemand gebrauchen.

Einen Atmega8 habe ich damit gerade erfolgreich programmiert.

Super Software, Danke!

Gruss Andi

von Birger* (Gast)


Lesenswert?

Ich hab mal versucht, mit Avrdude 5.0 und dem AVR910 Programmer zu
programmieren. Nur, es klappt nicht. Es wird erfolg- und endlos nach
dem Programmer gesucht. "Connecting to programmer: ." Im STK200-Modus
geht's zwar, aber ich möchte ja gerne mit dem AVR910 arbeiten.

Mit einer älteren Avrdude-Version geht's nach wie vor. Wo liegt das
Problem? Was fehlt? Habe im Programmer die Softwareversion 3.8a bei
3,6864MHz drin. Auch AVRprog funktioniert tadellos.

von Birger* (Gast)


Lesenswert?

Komisch jetzt geht's. Versteh ich nicht so ganz, was das jetzt war.
(Ja, COM-Port war frei und der Strom war dran)

von PatrickHH (Gast)


Lesenswert?

Hallo zusammen,

habe folgendes Problem mit der Version 3.8 (benutze die Version mit
3,686 MHz und neustes AVR-Studio):
Wollte den Mega8535 programmieren und die Fuses auslesen. Doch schon
beim einlesen der Fuses dauert es schon eine gewisse Zeit, bis er diese
Anzeigt. Und das auch noch falsch! Wenn ich erneut auf Einlesen drücke,
gibt AVRPROG "Flushing" als Antwort. Das schreiben und auslesen vom
flash geht auch nicht.
Habe es ebenfalls mit einem Mega16 probiert, und es gab den gleichen
Fehler.
Einen Tiny2313 habe ich aber erfolgreich programmiert!

Da ich vorher die Version 3.3 zum Programmieren hatte, und ich bis
dahin mit den M16, M8 usw. keine Probleme hatte, habe ich diese Version
wieder auf den Programmer drauf gespielt und siehe da, Mega16 und
Mega8535 (im Mega8515 Modus) lassen sich ohne Probleme programmieren
und auslesen.

An der Hardware liegt es anscheinend nicht. Brauche aber die
Unterstützung des Mega8535 (will auf ihn die Software des HV-Prog
laden).

Hat jemand einen Tip für mich, woran es liegen kann, das ich die
Mega's nicht mit der Version 3.8 Programmieren kann?
Könnte ich den Mega8535 auch im "Mega8515-Modus" programmieren und
die Fuses setzen?

Danke und Gruß

PatrickHH

von Klaus L. (kllei)


Lesenswert?

Hallo Patrick,

ich gehe mal davon aus, das Du XTAL und N im Source passend für den
3.686MHz Quarz eingestellt und neu compiliert hast? Gehen würde er auch
ohne Änderung, allerdings ist die SPI Clock dann falsch getaktet.

Flushing deutet darauf hin, das der Programmer bei gestartetem AVR-Prog
aus und wieder eingeschaltet wurde, oder dass mit der seriellen
Verbindung eine Störung aufgetreten ist.

Fuse setzten im m8518 mode wird wohl nicht ohne weiteres gehen.

Da ich weiss, das ausser mir noch einige andere den Mega8535 mit der
3.8er Software gebrannt haben (auch mit 3.686 MHz Einstellung) vermute
ich das Problem eher in der Zielschaltung, oder in einem temporären
"Wackler". Die Verzögerung beim Fuse klesen deutet auf eine
Unterbrechung beim Reset hin.

HTH,
Klaus

von PatrickHH (Gast)


Lesenswert?

Compiliert habe ich ihn mit den neuen Angaben. Und wie schon gesagt
klappt das Programmieren mit der selben Zielschaltung und Programmer,
aber mit der Version 3.3. So kann ich die Zielschaltung ja eigentlich
ausschliessen.
Meinem Programmer habe ich jedoch etwas verändert. D.h. ich habe ihm
für die Serielle Kommunikation einen MAX232 spendiert, anstatt dem
Vorschlag von dir. Aber daran wirds wohl nicht liegen, da ich ja erst
ab der neuen Version die Probleme habe.
Was ich heute Abend noch probieren werde ist, mal einen anderen Rechner
zu nehmen.

Danke und Gruß

PatrickHH

von Klaus L. (kllei)


Lesenswert?

>...klappt das Programmieren mit der selben Zielschaltung und
> Programmer,aber mit der Version 3.3. So kann ich die Zielschaltung ja

> eigentlich ausschliessen...

Nicht unbedingt. da Du ja den ISP Stecker umstecken wirst, wenn Du die
neue (oder alte) Software flashst kann ein Wackler dadurch kommen und
gehen (Reset Pin)

Hast Du mal probiert einen gebrannten Mega8535 mit der version 3.8 zu
"bearbeiten"?

>Was ich heute Abend noch probieren werde ist, mal einen anderen
Rechner
>zu nehmen.

Was soll das bringen? Am Rechner wirds wohl am wenigsten liegen. Miss
mal den Pegel des Reset am Zielcontroller.

Kannst Du einen anderen Controller mit der Version 3.8 brennen oder
auslesen?

Viele Grüße,
Klaus

von PatrickHH (Gast)


Lesenswert?

So habe nochmal etwas ausprobiert. Habe nun den Mega8535 mit der Version
gebrannt bekommen, aber nur, wenn ich als Device den Mega8515 einstelle.
Kann dann den Flash schreiben, auslesen und Fuses setzten.

Ich muß noch dazu sagen, dass ich den Code vom Programmer etwas an
meiner Schaltung angepasst habe:

--Ports Definitions--
LEDH von PB3 auf PB2
Reset von PB4 auf PB3

kann es auch daran liegen?

Sonst muß ich mal die Schaltung an die "Original" Pinbelegung
anpassen (hatte ich gemacht, da ich damals nur einen AT2313 hatte, wo
der Pin PB4 defekt war).

Gruß PatrickHH

von Klaus L. (kllei)


Lesenswert?

Hi,
mit dem Reset Pin hat es nichts zu tun, das ist OK.
Ist aber sehr seltsam, ich habe gerade noch mal verglichen, m8515 und
m8535 werden von avrprog bis auf den unterschiedlichen Devicecode
gleich behandelt. Im avr910 gibt es auch keine Unterscheidung.

Es macht also keinen Untesrchied was eingestellt ist, gehen sollte es
aber trotzdem mit beiden Einstellungen (bei mir tut es das)

Was passiert denn, wenn m8535 eingestellt ist?
Welchen Takt hast Du in der Zielschaltung?
In der Version 3.3 war noch ein andere SPI Takt eingestellt, allerdings
war der schneller als in 3.8, da die m8151 Einstellung aber geht...

Mir fällt sonst im Moment nichts ein.

Ciao,
Klaus

von PatrickHH (Gast)


Lesenswert?

Also Takt ist wie im Auslieferungszustand. Wenn ich die Fuses anschauen
will dauert es sehr lange, bis das Fenster aufgemacht wird (ca. 5sek).
LED ist dabei auf rot. Dann sind einige auswahlen grau hinterlegt
(nicht änderbar). Wenn ich dann nochmals auf Fuses lesen gehe, kommt
"Flashing" als hinweis. Wie die Anzeige der Fuses genau ist kann ich
jetzt nicht sagen. Muß ich nochmal am WE ausprobieren und hier posten.
Und was nochmal beim Flashen passiert? Muß ich ebenfalls nochmal
probieren.

Danke und Gruß

PatrickHH

von PatrickHH (Gast)


Lesenswert?

So habe eben mal den Programmierchip gegen einen neuen Tiny2313
getauscht. In der Firmware habe ich dann nur den Crystal und die
Baudrate angepasst.
Die Pinbelegung ist jetzt wie im Original.
Und siehe da, jetzt funktioniert alles. Kann den M8535 Flashen und die
Fuses ohne Fehler setzten.

Also am besten nicht an den Port Definitionen rumspielen.

Trotzdem ist es schon merkwürdig, dass man vorher den Tiny2313
programmieren konnte, aber den Mega nicht.

Danke und Gruß

PatrickHH

von trinity4711 (Gast)


Lesenswert?

Ich habe mich auch an den Programmer AVR910 gewagt und ihn nachgebaut.
Das eigentliche Problem kam aber erst bei der Programmierung des
AT90S2313 bzw AT90S1200. Habe den Source-Code von K.Leidunger genommen
(letzte Version) und auf meinem Quarz 8Mhz angepasst. Nach dem
Komplieren mit WAVRASM und auch GAVRASMW bekomme ich etliche
Fehlermeldungen, die die Kompilation abbrechen. Am SourceCode habe ich
nichts geaendet bis auf die Takt EQU's. Kann mir jemand weiter
helfen?
Ich weis es geht ganz einfach, anderen Quarz. Moechte ich aber nicht,
weil es fuer mich eine Herausforderung ist und ja auch mit 8MHz gehen
muss laut Forum.

von Volker (Gast)


Lesenswert?

Sollte unter Windows mit AVR-Studio gehen bzw unter Linux mit avra.

Gruß, Volker

von Klaus L. (kllei)


Lesenswert?

@trinity4711:
Das Problem mit den Asseblerfehlern liegt ja nicht an der
Quarzfrequenz, sondern an der Inkompatibilität der von Dir verwendeten
Assembler mit dem Assembler des AVRStudio. Vermutlich haben .equ
und/oder .defines einen anderen Syntax.

Genau wie Volker oben geshrieben hat, habe ich den Source mit AVRStudio
(avrassembler V2) und avra getestet. (Steht auch auf meiner Seite)

Die Herausforderung liegt also nicht in der Quarzumstellung, sondern in
der Portierung auf die von Dir verwendeten Assembler.

Versuche doch zuerst mal die von mir verwendeten Assembler.

Viel Erfolg,
Klaus

P.S. Übrigens muß neben der Frequenz auch der N Wert für die gewünschte
Baudrate richtig eingestellt werden.

von Clemens H. (sum)


Angehängte Dateien:

Lesenswert?

Hallo Forum,

ich habe häufiger noch alte Platinen, die mit der fehlerhaften
MISO-MOSI-Beschaltung des Programmier-Steckers arbeiten.
Eindeutiger Nachteil an der Sache, zum Programmieren, muss man einen
extra Programmierer haben oder einen extra AVR mit entsprechend
vertauschten MISO und MOSI Leitungen (avr910).
Jetzt habe ich die neuste avr910-firmware (Version 3.8b) um eine
Funktion erweitert: Sie erkennt, ob MISO und MOSI vertauscht sind. Dies
passiert beim "Enter Programming Mode". Prinzipiell versucht er zuerst
im normalen Modus eine Synchronisation zu erlangen, funktioniert dies
nicht, so wird der vertauschte Modus versucht.

Schöne Grüße, Clemens

von Klaus L. (kllei)


Lesenswert?

Hallo Clemens,

clevere Idee, damit ist der Code wirklich universell verwendbar.

Super, vielen Dank. Ich werde das demnächst auf meiner Seite
aufnehmen.

Viele Grüße,
Klaus

von Clemens H. (sum)


Lesenswert?

Hallo Klaus,

es freut mich, dass dir diese Idee auch gefällt. Leider habe ich
gestern grad noch ein Problem entdeckt: Wenn ein ATMega162 programmiert
werden soll, klappt die Sache nicht, dann wirft AVRdude eine
Fehlermeldung aus. Wenn ich den ATMega162 mit der Device-Einstellung
für einen Mega32 programmiere klappt alles wunderbar... Mir scheint,
dass die unterschiedliche Behandlung der unterschiedlichen Prozessoren
eine Rolle spielt, die nicht zu vernachlässigen ist.

Grüße, Clemens

von TeerieroTet (Gast)


Lesenswert?

Hello!
Nice site ;)
Bye

von MikroAVR (Gast)


Lesenswert?

Hallo Klaus,
hier vor dem Nachbau eine kurze Frage:

Gab es schon Versuche dne internen Taktgenerator des ATtiny2313 z.B. auf 
4 MHz mit Kalibrationbyte zu benutzen und auf den extra Quarz zu 
verzichten - das würde ich nämlich gerne ausprobieren!

Danke!

von Klaus L. (kllei)


Lesenswert?

Ja, das hat schon mal jemand gemacht und natürlich funktioniert das 
auch. Langzeitstabilität und Fehlerhäufigkeit kenne ich aber nicht. 
Denke daran, das mit 4MHz nur max 38400 Baud mit geringem Fehler 
gehen...

Viel Erfolg,
Klaus

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.