Hallo! Bin neu auf dem Gebiet "AVR". Hab mich für den ATtiny13V und den DIAMEX-AVR USB Programmer entschieden und verwende Bascom 2.0.7.1 und AVR-Studio V4. Nach dem setzen der Fusebits (E und DCBA) kann ich nicht mehr auf die µC zugreifen.(wird nicht mehr erkannt). hab jetzt schon 4 Stk. auf dem Gewissen...... Wie kann ich die tinys, wenn überhaupt möglich, wieder beleben? Geht das noch mit HV-Programieren? Wenn ja, wie mache ich das am einfachsten ohne große Unkosten? Ist es möglich, das ich das irgendwie mit dem Diamex programmer machen kann oder muß ich mir noch extra ein HV-Programmer zulegen? Wenn ja, wo bekomme ich ihn günstig? Gibts da ne gute Seite, wo man das erfahren kann, wie man am besten fehlerfrei die Fusebits setzt? Was mache ich da falsch? Danke schon mal im voraus! Gruß M.S.
The Keymaker schrieb: > Nach dem setzen der Fusebits (E und DCBA) kann ich nicht > mehr auf die µC zugreifen. Was sollen das für Fuses sein? Aussperren kann man sich mit Ändern von DWEN, RSTDISBL oder auf externen Clock. Und als erstes immer die Signatur lesen, ob die Kommunikation zum AVR überhaupt klappt. Sonst kann es passieren, daß man irgendein Blödsinn in die Fuses schreibt. Zum Wiederbeleben brauchst Du einen Bekannten mit STK500. Peter
Meistens hilft das Anlegen eines externen Taktes an den entsprechenden Pin des atiny 13. Nur wenn der reset-Pin "weggefust" ist, braucht man wirklich HV-Programmierung. In extrem seltenen Fällen hat man den atiny wirklich gekillt, wenn man nämlich ganz langsamen internen Oszillator einstellt, mit falscher Hochlaufzeit dazu, dann wird der atiny zum OTP (one-time programmable-Objekt.) Das ist ein bug des atiny13(siehe Datenblatt, errata), natürlich hab ich mich schon mehrfach genau in diese Falle verfust.
Peter R. schrieb: > Das ist ein bug des atiny13(siehe Datenblatt, errata), natürlich hab ich > mich schon mehrfach genau in diese Falle verfust. Interessant, ist mir noch nie passiert. Ich benutze aber auch immer die längste Startup-Time. Warum brauchst Du denn die kürzeste Startup-Time? Muß ich mal sehen, ob ich noch alte mit Revision B habe. Peter
The Keymaker schrieb: > Gibts da ne gute Seite, wo man das erfahren kann, wie man am besten > fehlerfrei die Fusebits setzt? > Was mache ich da falsch? Datenblatt, Seite 104, Fuse Bytes Und da gibt es 3, von denen lässt du Finger weg: RSTDISBL(4) DWEN(3) SPIEN(1) Mit denen sperrst du dich defintiv aus. Und hier ist Vorsicht angebracht: CKSEL1 CKSEL0 Da kannst du dich aussperren, wenn du einen Quarz dran hast und statt externem Quarz, externen Takt einstellst. Und mit der CKDIV8 wird der Takt /8 geteilt. Das ist aber default! D.h. ein neuer Controller läuft immer mit 1 MHz intern. CKDIV und CKSEL sind die Fuses, die meistens verändert werden. Und meist auch die einzigen. Zumindest für den Anfang. mfg.
Danke für die antworten! ich meinte diese Fusebits damit ->(siehe anhang). Das bild stammt von einem neuen Tiny13V. Von DWEN, RSTDISBL und SPIEN hab ich meine Flossen gelassen und ich werde sie auch weiterhin davon lassen lassen..... Hab mich ja schon ein bißchen schlau gemacht.... ;-) Ich habe mich nach dem "Kochbuch" (http://reaktivlicht.de/kochbuch.pdf) gerichtet, da sollten die beiden Fuses geändert werden. Hatte mir den Paralellen Programmer nach gebaut und dann den Programmer eingestellt.Fusebits gesetzt (CKDIV8 auf off, Clock auf 128kh +64) ging 2X Schief. Dann hab ich mir den Diamex geholt und es wieder 2X probiert. µC programmieren geht. Fuse setzen mit Bascom und AVR-Studio klappte, nur das er danach nicht mehr erkannt wird (Chip ID: FFFFFF) Muß man die fusebits vielleicht nach der reihe in einer bestimmten Reihenfolge setzen? Wenn ich daß jetzt richtig verstanden hab, könnte ich jezt vesuchen über einem anderen tiny einen Takt zu erzeugen und dann dem Patient über pin2 (PB3) verabreichen und dann testen ob sich der chip mit dem Programmer wieder ansteuern lässt, oder? Reichen 1,2 MHz?
The Keymaker schrieb: > Wenn ich daß jetzt richtig verstanden hab, könnte ich jezt vesuchen über > einem anderen tiny einen Takt zu erzeugen und dann dem Patient über pin2 > (PB3) verabreichen und dann testen ob sich der chip mit dem Programmer > wieder ansteuern lässt, oder? Reichen 1,2 MHz? Mach das. Einfach dieses Programm
1 | $regfile = "ATTiny13.dat" |
2 | $crystal = 1200000 |
3 | |
4 | Config PORTB = Output |
5 | |
6 | Do |
7 | Toggle PORTB |
8 | Loop |
in einen ATTiny13 flashen und du hast an jedem Pin (außer RESET) dieses ATTinys einen "Rettungs-Takt", den du auf XTAL1 des "Patienten" geben kannst. Aber bitte mit einem Schutzwiderstand von etwa 1k Ohm! Nicht, dass du versehentlich (mit genug Pech) den nächsten ATTiny durch Überstrom schrottest... Wär ja blöd. Eventuell musst du auch noch den Programmer-Takt runterstellen. Du hast einen Diamex-Programmer? Dann kannst du bis auf 4kHz runtergehen. Menü "Options" -> "Programmer" und dort "Clock" auf 4096 ändern. Gruß Jonathan
The Keymaker schrieb: > Clock auf 128kh +64 Heisst das, du hast den auf 128KHz gestellt? Dann musst du genau das machen: Jonathan Strobl schrieb: > musst du auch noch den Programmer-Takt runterstellen. Der SPI-takt darf max. F_CPU/4 betragen. mfg.
...Und genau diese 128 kHz sind der kritische Wert, allerdings bei kürzester Startzeit. Siehe Datenblatt S.166. (und meine atiny13 sind nach meiner Erinnerung sogar mit der Kombination 128 kHz + 64ms unzugänglich geworden)
@Jonathan Habs mal so getestet mit externen Takt auf Pin2 (PB3), nach dem ich den Programmer-Takt auf 4KHz gesenkt hab, konnte ich die Fusebits mit AVR-Studio wieder neu einstellen. Nach der Behandlung liefen die 4 Tinys wieder. Ich dachte auch, das er ein problem mit denn 128KHz hatte, weil, immer wenn ich diesen wert eingestellt hatte, hat der einen auf blöd gemacht. Hab denn ganzen Nachmittag lang getestet und probiert und habs geschafft. Die Fusebits setze ich jetzt nur noch mit AVR-Studio. Wichtig ist, denn Programmer-Takt noch kleiner als 4KHz zusetzen. In Bascom dann die Baudrate auch unter 4KHz (2400KHz) und dann läuft es ohne Probleme auch mit 128 kHz + 64ms. Problem also gelöst.... -> Danke nochmal! Gruß M.S.
Warum benutzt du dieses seltsame Programm ueberhaupt, wenn du doch sowieso AVRStudio hast ?
Peter W. schrieb: > Warum benutzt du dieses seltsame Programm ueberhaupt, wenn du doch > sowieso AVRStudio hast ? Ganz einfach: A) Ich kann weder C noch Assembler...;-) B) Die Hardware braucht laut der Beschreibung vom Programmer, wenn ich Bascom verwenden will, AVR-Studio. C) Für meine einfachen Anforderungen reicht Bascom völlig aus. Gruß M.S.
Das erklaert aber noch immer nicht warum du dieses seltsame Programm benutzt. Wenn dein Programmiergeraet doch mit AVRStudio funktioniert und ein STK500 kompatibles Protokoll hat, warum machst du dann nicht gleich alles mit BASCOM, statt ueber 27 Ecken mit 3 Programmen ? Kein Wunder das da nichts gescheites bei rum kommt. Beitrag "Diamex ALL AVR von Reichelt unter BASCOM"
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.