Hallo zusammen
Mein ganzes Wochenende war frustrierend, ich fang am besten von vorne
an:
Am Freitag habe ich das „ATMEL Evaluations-Board Version 2.0.“ von
Pollin aufgebaut. Da war ich noch ganz guter Dinge. Irgendwann war ich
fertig, habe noch mal überprüft, ob ich alles sauber gelötet hatte. Dann
habe ich einen ATTiny 2313 drauf gesteckt und wollte ein Testprogramm
von Pollin mit PonyProg auf den Microship einspielen. Ich hatte das
Board via Seriell mit dem Computer verbunden. Nach einigen Stunden habe
ich dann aufgegeben. Es lies sich nichts übertragen. Ich habe es sowohl
mit Nullmodem als auch 1:1 ausprobiert – ging beides nicht.
Dann am nächsten Abend habe ich mit einen Adapter von parallel zu ISP
gebaut nach diesem Schaltplan:
http://s-huehn.de/elektronik/avr-prog/avr-prog.htm
Als ich nachts irgendwann fertig war habe ich meinen neuen Adapter
gleich getestet und es lies sich das Testprogramm problemlos in den
ATtiny schreiben und es lief. Darauf habe ich die Fusebits auf externen
Quarz gesetzt. Funktionierte problemlos und der ATtiny arbeitete immer
noch (also keine Fusebit falsch gesetzt).
Dann war ich erstmal happy.
Aber was ich heute erlebt habe:
Ich habe einen Atmel Mega32 in das Board gesteckt und wollte ihn auf
externe 16 Mhz konfigurieren. Nachdem ich die Bits gesetzt habe, wollte
er nicht mehr mit mir sprechen. Ich bin mir aber 99,9% sicher, dass ich
die richtigen gesetzt habe (Häckchen = 0).
Nach langem Testen und probieren habe ich den Mega32 über den ATtiny
getaktet. Also Programm für den ATtiny geschrieben und Ausgang vom
ATtiny an den Port XTAL1 des Mega32. Dann wollte er immer noch nicht mit
mir sprechen. Also habe ich mich damit abgefunden.
Dann spielte ich wieder das Pollintestprogramm in den ATtiny und nach
der Übertragung wollte der dann auch nicht mehr mit mir sprechen: Genau
die gleichen Fehlermeldungen wie beim Mega32.
„Device missing or unknown device (-24)“
Er führt auch kein Programm aus (also die LEDs, die bei beiden
Programmen verwendet wurden, bleiben aus)
Ich verwende PonyProg 2.07. Ich habe es auch schon mit PonyProg 2.06
versucht geht aber auch nicht. Dann habe ich das Testprogramm mit Bascom
neu für einen anderen Mega32 kompiliert. Dieser läuft ohne Problem.
Allerdings habe ich mich bei dem nicht mehr an die Fusebits getraut.
Den Mega32 hatte ich auf 1111 (CKSEL 3-0) gesetzt.
Wie muss den der Mega32 für 16Mhz externen Quarz konfiguriert werden?!
Wie bekomme ich die beiden Controller wieder zum laufen?
Und wo liegt der Fehler, dass sich beide Controller verabschiedet haben?
Vielleicht kann mir jemand helfen,
Leo
Genau das habe ich gemacht:
"Retten kann man einen AVR bei jeder falschen
Taktquellen-Fuseeinstellung (Clock statt Quarz etc.), indem man an XTAL1
einen Takt anlegt. Falls ein weiterer AVR zur Verfügung steht, einfach
einen Pin als Ausgang und in Endlosschleife auf high/low/high etc."
Hatte aber auch nicht funktioniert.
nein, natürlich nicht!
Als ich den Mega32 mit dem Attiny getaktet hatte steckte der mega32 auf
einem steckboard und der Attiny auf dem Pollinboard. Es war also immer
nur einer auf dem Pollinboard (wäre sonst auch tödlich, einfach die
Controller parallel zu schalten).
Warum hat der funktionierende Attiny nach dem aufspielen eines
Porgrammes, welches vorher auf ihm funktionierte, sich einfach
verabschiedet?
Ich möchte nicht noch weitere Controller schrotten, deswegen wäre es gut
den Fehler zu kennen. Aber ich weiß nicht wo er liegen soll.
der Ablauf oben ist nicht einwandfrei dargestellt.
Die zu setzenden Fuses entsprechen genau dem Datenblatt. Darum
Datenblatt noch mal lesen. 1111 keine Häkchen ist Quarz, 0000 Häkchen
ist externer Takt.
Wenn die Fehlermeldung kommt, wird auch nichts programmiert, auch keine
Fuses.
Und nun lies dir Deine Informationen hier noch mal durch und berichtige,
falls nötig.
Es wird hier zwar oft gesagt, daß ein externer Takt hilft, aber ob das
auch stimmt, wenn die Fuses auf externer Quarz stehen, weiß ich nicht so
genau.
mfg
Das Polin-Board hat zwei serielle Anschlüsse, einen für den integrierten
ISP, der andere geht über Max232 an den µC-UART.
Du hast hoffentlich den richtigen eingestöpselt....
ach ja, das wollte ich ja auch noch schreiben, weil der Anschluß immer
umgestöpselt werden muß, kann es vorkommen, daß diese Fehlermeldung
kommt. Dann sehe ich auf das Bord und sehe, daß ich noch nicht
umgestöpselt habe.
mfg
Ich habe natürlich die Serielle ISP Schnittstelle genommen und nicht die
mit dem MAX232.
Und hatte es sowohl mit einem „1 zu 1“ als auch nullmodem Kabel
versucht, ging beides nicht.
Wie gesagt, darauf hatte ich mir dann einen „ISP zu parallel“
Adapaterkabel gebastelt.
Zu dem Atmel Mega32:
Ich habe heute einfach mal (mehr durch Zufall) den Resettaster gedrückt
während PonyProg ihn auslesen wollte und es kam keine Fehlermeldung. Er
zeigte mir den Inhalt des Speichers an. Dann habe ich mir die Fusebits
angeschaut. Die waren korrekt gesetzt (kein Häkchen von 3 bis 0CKSEL).
Also habe ich ein Programm aufgespielt. Dieses wird auch korrekt mit 16
MHz ausgeführt, also die Wartezeit des Programms stimmt.
Darauf hatte ich angenommen, dass einfach mein Resetkabel von der
parallelen Schnittstelle zur ISP defekt ist. Ist aber nicht der Fall.
Bei dem anderem Mega32 (bei dem keine Fusebits gesetzt sind) geht es
ohne den Resetknopf zu drücken. Es schein so, als würde die Resetleitung
bei 16MHz nicht sauber auf Masse gezogen werden, obwohl das ja
eigentlich die parallele Schnittstelle vom PC macht.
Danach habe ich alle Fusebits wieder in den Auslieferungszustand
gesetzt. Danach ließ sich der Controller ohne, dass ich die ganze Zeit
den Resetknopf drückte, auslesen und schreiben.
Dann habe ich versucht den ATtiny2313 mit gedrücktem Resetknopf
auszulesen. Ging aber nicht. Kommt immer noch die gleiche Fehlermeldung
von PonyProg.
Das Verwunderliche ist nur, dass vorher genau das Programm auf ihm lief
und dass ich auch nichts nachträglich an den Fusebits gemacht habe.
nein, der Prozessor hat seinen Wunschtakt. Nur die Zeit der Übertragung
ist begrenzt. Die wird aber von Ponyprog automatisch ermittelt. erster
Aufruf. Bei Änderung der Schnittstelle sollte vielleicht dieser Aufruf
wiederholt werden. Calibrate.
das serielle Kabel ist ein Verlängerungskabel. Hatte ich bei Pollin
gleich mitbestellt. Und damit funktioniert das auch. Anderenfalls ist
ein Lötfehler oder Pollin hat was falsch geliefert.
mfg
Mein Hauptproblem ist, warum der ATtiny nach dem Übertragen des
Programms nicht mehr geht. Ich habe keine Fusebit neu gesetzt. Nur ein
Programm übertragen und dann ging der ATtiny nicht mehr. Oder setzt
PonyProg falsche Bits???
Zu der seriellen Schnittstelle:
Dort habe ich den Transistor im verdacht. Ich muss also morgen noch mal
die 1:1 Serielle Verkabelung nehmen und dann den Resetknopf drücken (Das
macht ja eigentlich nur der Transistor).
Aber mein ISP zu parallel Kabel schein ja zu gehen.
Habe mich auch mehrere Stunden schon mit dem Pollin Board und Pony Prog
rumgeschlagen, es kam sogar vor, dass ich ein Programm einmal auf den
Controller programmieren konnte, was dann auch funktionierte, ein
erneutes Programmieren war aber erst nach dem Abschließen aller Kabel
und neuem Anschließen möglich.
Dann hab ich mir das STK500 geholt :D
Bei mir hat das Pollin-Brett auf Anhieb funktioniert (ich glücklicher
:)) Das es von Pollin ist, daran wird es wohl nicht liegen. Hoffe ich
zumindest.
Eventuell die Dioden D2 und D3 vertauscht? D2 ist eine Z-Diode, D3 eine
1N4936...
Falsch aufgebaut habe ich an dem Pollinbaord auch nichts – ich habe
alles doppelt und dreifach geprüft.
Mein Attiny scheint richtig Defekt zu sein. Habe eben auch versucht ihn
mit einem externen Takt wiederzubeleben – ging auch nicht. Der ATtiny
schein klinisch tot zu sein.
Eigentlich müsste das Pollinboard wunderbar gehen, aber ich wollte jetzt
nicht unbedingt 90€ für ein anderes Board ausgeben. Ich bin schon am
überlegen mir einen High-Voltage Programmierungsadapter zu bauen um
damit zu versuchen den ATtiny zu retten. Der aufwand lohnt sich
wahrscheinlich nicht, aber wielange dauert es, bis der nächste
Controller einfach ohne grund stirbt.
Vor allem das stört mich, dass ich den Grund nicht weiß.
Und das mit dem Atmel Mega auf 16MHz und dem Reset ist auch ein Phänomen
für sich.
Der ISP auf dem Pollin-Board zieht die AVR-Resetleitung IIRC mit einem
kleinen Transistor auf Masse. Schau mal, ob der evtl Defekt ist.
Ansonsten könnt ich mir noch vorstellen, dass deine Seriellle
Schnittstelle nicht genügend "Saft" liefert, Typische Krankheit von
Notebook-Ports, die dann nur +/- 5V statt +/- 12V haben. Dann geht der
ISP auch nicht.
Kapputgehen sollte der AVR aber in keinem der beiden Fälle, dass kann
ich mir nur vorstellen wenn, wie oben schon geschrieben, die Z-Dioden am
ISP nicht richtig sind, also zu hohe oder negative Spannungen an den AVR
kommen.
Vielleicht ist der AVR nur "scheintot", weil seine Resetleitung
dauerhaft auf Masse oder einem undefinierbaren Pegel liegt, check
nochmal den Transistor, siehe Punkt 1...
Man hat hier aber schon oft lesen können, dass beim Flashen mit Ponyprog
unbeabsuchtigt Fuses verstellt wurden. Die Ursache liegt dabei fast
immer am PC, dessen Schnittstellen (die ja außerhalb ihrer
Normalbetriebsart betrieben werden) die Pegel nicht halten oder dessen
OS das Timing stört. Auf dem einen PC funktioniert es, aud dem anderen
nicht, aber auf vielen PCs nur gelegentlich (so hart an der Grenze, dass
Fehler nur gelegentlich auftreten). Letzteres ist sehr ätzend, man fühlt
sich sicher und gelegentlich kippen doch mal ein paar Bits, worauf der
AVR einen falschen ISP-Befehl erkennt und ausführt. Wer einen "braven"
PC hat, der ist mit Ponyprog und den Bitbanging-Programmern recht gut
bedient, wer nicht, der sollte sich vernünftiges Werkzeug besorgen, also
einen Programmer mit eigenem Controller, möglichst mit Firmware-Update
per AVR-Studio, dann kann er auch immer die neuesten Controller.
Das Pollinboard ist ja (für diesen Preis) ganz nett, der darauf
befindliche Programmer ist aber nicht mehr zeitgemäß. Viele moderne PCs
kommen damit nicht mehr zuverlässig klar.
Nochmal zum Punkt "vertauschte Dioden":
Bei meinem Board (noch nicht aufgebaut) war ein
Druckfehler-Berichtigungsblatt für die Beschreibung dabei (Anhang). Der
Hinweis auf vertauschte Dioden ist also gerechtfertigt. Also bitte
nochmals überprüfen und die aktuelle Anleitung berücksichtigen.
...
bei meinem Rechner mit Win98 gab es bei anderen Programmen auch öfter
sichtbare Verzögerungen. Dies liegt an Windows mit seinem Multitasking.
Darum wäre es gut, möglichst wenig Programme zu starten und gleich nach
dem Booten zu flashen. Dann hat man die größte Chance, das es
funktioniert. Nach jeder Programmbeendigung bleiben Reste im Speicher,
die nachfolgende Programme behindern können.
Wenn ein Pin angesteuert ist, dann bleibt er auch gesetzt bis zum
Rücksetzen. Von alleine passiert da nichts, es sei denn EMV Störungen,
aber deshalb ist die serielle Schnittstelle auch besser als die
parallele.
mfg
Der Druckfehler ist in meiner Stückliste berichtigt (Mein Beschreibung
ist Auflage 3). Die Dioden sind also richtig herum.
Ich bin grade dabei den Transistor auszutauschen. Ich habe noch einen
BC546 gefunden. Mal sehen, ob ich dann auch über die Serielle ISP
programmieren kann.
Ich habe die serielle ISP Schnittstelle mit zwei PCs und einem Notebook
getestet – die funktionierte bei keinem, egal welches Kabel. Also kann
das nicht an einem PC-Hardware spezifischen Fehler liegen.
Hat sonst jemand eine Idee, wie ich den ATtiny wieder ansprechen kann.
Bleibt mir jetzt nur noch die High-Vortage-ISP Lösung???
Nach dem austauschen des Transistor kann ich jetzt die Mirkochips über
die serielle Schnittstelle Programmieren. Aber das Problem mit dem
ATtiny2313 habe ich natürlich immer noch. :-/
Leo wrote:
> Der Druckfehler ist in meiner Stückliste berichtigt (Mein Beschreibung> ist Auflage 3).
Gut zu wissen...
> Hat sonst jemand eine Idee, wie ich den ATtiny wieder ansprechen kann.> Bleibt mir jetzt nur noch die High-Vortage-ISP Lösung???
Wenn es Dir das Porto (und Rückporto) wert ist, dann kannst Du mir den
zum Zurückfusen per STK500 zuschicken.
Vielleicht hast Du auch nur den Takt auf gaaaanz langsam verstellt, dann
könnte Dir die Einstellung veryslow in der Ponyprog-Ini vermutlich
helfen. Kannst ja dazu mal einschlägige Suchmaschinen befragen.
...
> Wenn es Dir das Porto (und Rückporto) wert ist, dann kannst Du mir den> zum Zurückfusen per STK500 zuschicken.
Der ATtiny kosstet weniger als das Porto, deswegen lohnt sich das nicht.
Wenn der Mega32 nicht wieder gehen würde hätte ich dir die zugeschickt.
Obwohl es mich interessiert, ob sich der Chip tatsächlich ver-fuse-te,
als ich ein Programm aufgespielt hatte.
Nur um mißverstän zu vermeiden: Ich habe an den Fusen, nachdem der Chip
mit 8Mhz Quarz lief nichts mehr gemacht nur Programme aufgespielt. Und
nach dem ich das letzt Programm übertragen hatte, ist er stumm geworden.
Leo wrote:
> Der ATtiny kosstet weniger als das Porto, deswegen lohnt sich das nicht.
Das denke ich auch, deshalb auch meine vorsichtige Formulierung.
> Obwohl es mich interessiert, ob sich der Chip tatsächlich ver-fuse-te,> als ich ein Programm aufgespielt hatte.
Eben...
> Nur um mißverstän zu vermeiden: Ich habe an den Fusen, nachdem der Chip> mit 8Mhz Quarz lief nichts mehr gemacht nur Programme aufgespielt. Und> nach dem ich das letzt Programm übertragen hatte, ist er stumm geworden.
Die ersten Tiny2313, die ich zu sehen bekam, wurden von einem
Entwicklungsingenieur einer rennomierten Firma (die ansonsten mit
anderen MC-Familien arbeitet) beim Flashen mit Ponyprog "verfust". Die
meisten davon waren auf 128kHz (Watchdog-Oszi) eingestellt, sie ließen
sich mit extrem langsamen ISP-Takt ansprechen. Bei einigen war Reset
weggefust oder DW aktiviert, die bekam ich im HV-Mode wieder hin. Alle
sind "versehentlich" beim Flashen ausgefallen, keiner durch bewusstes
Einstellen der Fuses. Ponyprog hat da wohl hart am Limit (der
Zuverlässigkeit) gearbeitet... Aber das ist bei jedem PC woanders, da
steckt man nicht drin.
...
ich hab mir das mit den vertauschten Dioden noch mal bei mir angesehen.
Als vergleich habe ich die Online Beschreibung genommen und da sieht es
doch tatsächlich so aus, als ob ich die Dioden vertauscht hätte. Ich
überlege die ganze Zeit, wieso das dann bei mir trotzdem funktioniert.
Ich kann mir nur vorstellen, daß das an meinem Notebook liegt. 2 Fehler
heben sich auf. Bei Gelegenheit werde ich mal die Spannungen messen.
Tlw. könnte auch die interne Diode des MC noch mitwirken.
mfg
Ich habe nun in der PonyProg.ini auf „SPIBusSpeed=SLOW“ gesetzt.
Ich war zuerst verwundert warum das SPI heißt und nicht ISP. Hat aber
leider auch nichts gebracht: Der ATtiny macht nichts.
So ehe ich jetzt einen neuen ATtiny2313 durch flaches Fusen stumm mache:
Wie ist die Konfiguration für einen 8MHz Quarz???
Ist das richtig: 1110 (CKSEL3 – 1). So war der mein erster ATtiny
ge-fuset und er lief damit (eine Zeit lang).
Zu den Dioden:
Ich meine irgendwo gelesen zu haben, dass Pollin mal das layout
verändert hat (Optimierung; was auch immer). Aber wenn in D1 oder D2
eine Normale Diode Steckt wird dir das High-Signal der seriellen
Schnittstelle auf Masse gezogen. Ich meine, dass das der Controller
nicht mehr auswerten kann. Also dürfte das dann nicht funktionieren.
D1 und D2 sind Z-Dioden, die die Eingangsspannung begrenzen
Leo, hast Du denn vorm setzen der Fuse dieselben zuvor auch mit Read
eingelesen? Ansonsten wird bei Write dann nur Mist reingeschrieben.
> D1 und D2 sind Z-Dioden, die die Eingangsspannung begrenzen
Das weiß ich.
Ich meinte die Situation, wenn man die vertauscht hätte…
Jop, ich habe die zuvor ausgelesen.
Er lief auch mit den gesetzten Fusen eine weile (siehe oben).
Wolfram Quehl wrote:
> und warum heißt das ISP, wenn es doch mit dem SPI Protokoll> funktioniert?>> mfg
Weil hier das SPI (serielle Peripherie-Interface) -Protokoll für den
speziellen Zweck der ISP (In System Programmierung) verwendet wird.
...
Hallo,
> „Every parameter can be assigned the value SLOW, NORMAL, FAST or TURBO.”
ich habe „VERYSLOW“ nicht in der PonyProg Doku gefunden, funktioniert
damit aber leider auch nicht.
Warum ärgern sich immernoch leute über Tage und Wochen mit den scheiss
Bitbaning Programmern herum. Es gibt für 39 Eur original AVR-ISP und für
knapp 7 Eur nachbauten die sind wesentlich schneller, übers AVR Studio
verfust man lange nicht so schnell was und bequemer zum
Softwareentwickeln ists aus dem AVR Studio heraus auch noch.
Hi,
>Warum ärgern sich immernoch leute über Tage und Wochen mit den scheiss>Bitbaning Programmern herum.
dem muss ich wiedersprechen.
-Meine Pollinboards funktionierten alle auf Anhieb.
-Ich Progge nur mit Ponyprog auf mehrehren Rechnern mit verschiedenen
Betriebssystemen.
-Software benutze nur Bascom
-Programmer einfacher Eigenbau
es sind oft "Kleinigkeiten" die den Erfolg versauen.
Wigbert
Hiho,
bei mir funktioniert das pollin board einwadfrei. ich flashe mit
avrdude, als programmer type habe ich "ponyser" gewählt. keine probleme.
einziges mako: der EEPROM sockel ist falsch beschaltet - der "write
protect" pin ist dauerhaft auf high gelegt, dadurch ist der eeprom
schreibgeschützt. klüger wäre es, den pin offen zu lassen...
Christian Ulrich wrote:
> Warum ärgern sich immernoch leute über Tage und Wochen mit den scheiss> Bitbaning Programmern herum. Es gibt für 39 Eur original AVR-ISP und für> knapp 7 Eur nachbauten die sind wesentlich schneller, übers AVR Studio> verfust man lange nicht so schnell was und bequemer zum> Softwareentwickeln ists aus dem AVR Studio heraus auch noch.
Ja, FULL ACK.
Soooooo oft tauchen hier Probleme auf ala "Programmer funktioniert nicht
am Laptop" oder "Taktquelle verfust"...
Mein mkII war ne gute Investition.
Simon K. wrote:
> Christian Ulrich wrote:>> Warum ärgern sich immernoch leute über Tage und Wochen mit den scheiss>> Bitbaning Programmern herum. Es gibt für 39 Eur original AVR-ISP und für>> knapp 7 Eur nachbauten die sind wesentlich schneller, übers AVR Studio>> verfust man lange nicht so schnell was und bequemer zum>> Softwareentwickeln ists aus dem AVR Studio heraus auch noch.>> Ja, FULL ACK.>> Soooooo oft tauchen hier Probleme auf ala "Programmer funktioniert nicht> am Laptop" oder "Taktquelle verfust"...>> Mein mkII war ne gute Investition.
Mein Gott...
Die Leute haben mit dem Pollin-Board einen (boardinternen) Programmer
bezahlt, und was man bezahlt hat, will man schließlich auch nutzen...
Duck & wech...
...
Also bei mir war es der Transistor des ISP. Ist einfach nach und nach
ausgestiegen. Dachte erst ist ein Wackler.
Aber der Hinweis mit dem reset Knopf war gut - einfach drücken und dann
funktionierts auch.
Hallo zusammen,
Ich wollte mich mal wieder melden um euch mitzuteilen, dass ich seit
diesen Startschwierigkeiten keine Probleme mehr mit dem Pollinboard
gehabt habe.
>Also bei mir war es der Transistor des ISP. Ist einfach nach und nach>ausgestiegen. Dachte erst ist ein Wackler.>Aber der Hinweis mit dem reset Knopf war gut - einfach drücken und dann>funktionierts auch.
Kutte, wenn du mal dazu kommst, kannst du mal den T1 auf den Pollinbaord
gegen einen gleichwertigen Transistor auszutauschen und berichten, ob
sich dann bei dir auch dieses Phänomen eingestellt hat. Mein zweites
Pollinboard hatte bis dato noch keine Probleme mit dem Reset.