Hi, ich möchte das AVR lab direkt auf meinem neuen Board @3,3V haben. Da, soweit ich weiss, das AVR lab für 5V ausgelegt ist (zB Z-Dioden an dem USB Datenanschluss), müssten doch einige Bauteile wegfallen/ sich eventuell ändern. Da Win7, werd ich STK500 v2 Firmware nehmen. nun meine Frage: Funktioniert meine Schaltung? kann ich noch mehr weg lassen? Muss ich den ATmega8 zuerst zB seriell programmieren, damit ich meinen ATmega169 über USB programmieren kann? Wie sieht der Ablauf denn ungefähr aus?
Das AVR Lab läuft mit 3,3V, die Z-Dioden sind optional. Du musst den Bootloader über ISP laden, die STK500 Firmware geht dann über USB und dem USB-AVR-Lab Tool.
Ich weiß nicht, ob Christian mittlerweile andere USB-Routinen etc.. in seiner Firmware hat, aber nach meinem (1 Jahr alten) Wissenstand fehlt beim Quarz eine 1 vor der 2. (12 MHz)
könnte sein hab da jetzt einfach irgedeine Frequenz gewählt. Bist du dir sicher, dass 12MHz nötig sind? Laut Datenblatt (Deckblatt) kann der ATmega8L (2.7V-5.5V) nur 0-8MHz
Tja, das ist auch etwas, was mich von Anfang an verwirrt hat, aber wo ich ganz zielorientiert - entgegen meiner Natur - drüber hinweg gesehen habe, weil ich das Teil ganz am Anfang mal als Taktgeber, dann nur als Programmer brauchte und es funktionierte. Im Original-Schaltplan, den ich als Vorlage zum Eigenbau genommen hatte, steht 12 MHz: http://shop.ullihome.de/catalog/userdownloads/10403_0de_0Schaltung.pdf In der Stückliste steht ATMEGA8-16AI, und für den ist als Reichelt-Bestellnummer "ATMEGA 8-16 TQ" angegeben, was wiederum der AU ist, den ich kenne: http://wiki.ullihome.de/index.php/USBAVR-ISP/Building/de Das aktuelle Datenblatt vom ATmega8 selbst kennt jedoch für TQFP-32 nur die Endung "AU" (S. 292). Auf der Atmel-Homepage habe ich auch keinen ATmega16-AI gefunden. Weiß jemand, was das AI soll? Ich habe mal meinen damaligen Nachbau mit einem ATmega8-16AU als Bilder angehängt. Funktioniert hat das Teil immer, ich habe es nur im Herbst als Bilder dokumentiert, auseinander genommen, und die Teile auf ein neues Layout und in ein Gehäuse gepackt, weil die lose Platine so nicht auf Dauer labortauglich war. Wie man sieht, habe ich die beiden Zenerdioden weg gelassen und die 3,3 V-Spannungsregelung mit einem Schalter überbrückt. Bei meinem neuen AVR Lab habe ich beides nicht mal im Layout vorgesehen, weil ich das Teil nur mit 5 V betreibe. Mir fehlen daher tiefer gehende Erfahrungen im 3,3 V-Betrieb, ich meine aber das das Teil damit z.B. als Taktgenerator gelaufen ist. Ich bin mir nicht sicher, aber ich denke, die Zenerdioden kann man auch weglassen, da Vorwiderstände vorhanden sind und die Eingänge intern mit Dioden nach Vcc geschützt sind. Andere Meinungen würden mich interessieren. Edit: Ich sehe gerade, dass Du die Vorwiderstände und Zenerdioden weg gelassen hast. Was hat es damit auf sich?
Meines Wissen nach sind die Datenleitungen vom USB für 3,3V spezifiziert, daher würde ich die Z-Dioden und Widerstände bei 5V Betrieb nicht weglassen. In meinem beiden Programmern sind 12MHz Quarze drinnen. Das mit dem Mega8L ist ein allgemeiner Irrtum, es wird nur selektiert ob der Chip bei 2,7V noch sicher 8MHz kann, wenn ja ist er ein 8L wenn nein dann ein 8-16. Vorausgesetzt das die anderen Bedingungen erfüllt sind.
Dachte, ich kann die Zenerdioden weglassen, da ich das AVR Lab mit 3,3V betreibe. Die Vorwiderstände gehören, wenn ichs nochmal betrachte, wahrscheinlich doch rein.
uC schrieb: > Die Vorwiderstände gehören, wenn ichs nochmal betrachte, > wahrscheinlich doch rein. Aber eigentlich doch nicht^^, ich mein, die Vorwiderstände sind doch nur mit den Z-Dioden sinnvoll, wenn sie Durchbrechen sind sie ja niederohmig nach Masse, daher der Vorwiderstand. Oder sehe ich das falsch?
uC schrieb: > könnte sein hab da jetzt einfach irgedeine Frequenz gewählt. > Bist du dir sicher, dass 12MHz nötig sind? Laut Datenblatt (Deckblatt) > kann der ATmega8L (2.7V-5.5V) nur 0-8MHz 12Mhz sind nötig, wenn man den Source anpasst sind auch 20Mhz mit einem Atmega88 / 168 - 20 möglich. Ich betreibe das AVRLab allerdings mit einem Atmega8L-8PU ABER auf 12Mhz. geht eigentlich einigermaßen - bis auf UART, da verschluckt er sich hin und wieder nach dem 3Byte. Proggen etc. geht aber problemlos. Nur zwei Sachen stören mich ein wenig: 1.) Ich bekomme das Ding beim besten willen, nach aufspielen einer "firmeware", nicht mehr in den Bootmodus. Sei es mit der Software von USB AVR-Lab oder via Pin C2 auf Masse ziehen. Woran das liegt, keine Ahnung, er springt immer in den Startsektor der Firmeware. 2.) Wenn ich mir die Routine für einen Mega168 compiliere (STK500), funktioniert diese zwar und wird erkannt, allerdings meldet mir AVR Studio eine "falsche" Hardware Version, gleicher Code nur für einen Mega8 - funktioniert tadellos. Hat die Erfahrung schon mal jemand machen können?!
uC schrieb: > ich mein, die Vorwiderstände sind doch nur > mit den Z-Dioden sinnvoll, wenn sie Durchbrechen sind sie ja niederohmig > nach Masse, daher der Vorwiderstand. Hier findet sich der Schaltplan vom AVR Lab: http://shop.ullihome.de/catalog/userdownloads/10403_0de_0Schaltung.pdf Die Zenerdioden schützen die USB-Leitung vor den 5 V vom AVR und brauchen die Vorwiderstände, das ist richtig. Die Vorwiderstände könnten aber auch umgekehrt die Schutzdioden der Eingänge des AVR vor zu hohen Strömen schützen, wenn vom USB-Bus zu hohe oder negative Spannungen kämen. (Und so hatte ich das zwischenzeitlich mal verstanden, daher mein Irrtum.) @Rubelus: Interessante Probleme hast Du da. Zu 1 fällt mir natürlich zuerst die obligatorische Frage nach den Fuses ein. Bei mir ist das Problem noch nicht aufgetreten. Zu 2 kann ich nichts sagen, da ich keinen ATmega168 da habe. Ich würde bei Problemen erst mal den "richtigen" ATmega8-16 einsetzen und schauen, ob es daran liegt.
Philipp Klostermann schrieb: > Die Zenerdioden schützen die USB-Leitung vor den 5 V vom AVR und > brauchen die Vorwiderstände, das ist richtig. Die Vorwiderstände könnten > aber auch umgekehrt die Schutzdioden der Eingänge des AVR vor zu hohen > Strömen schützen, wenn vom USB-Bus zu hohe oder negative Spannungen > kämen. (Und so hatte ich das zwischenzeitlich mal verstanden, daher > mein Irrtum.) Also ich muss zugeben, dass ich nicht der USB experte bin, würde die Datenleitungen aber hochohmig schätzen, daher keine Vorwiderstände. => ich Layoute jetzt meinen Schaltplan :)
Ich würde an Deiner Stelle vorher nochmal folgenden Thread lesen: Beitrag "USB Impedanz 90Ohm" Folgendes PDF ist zwar Werbung, aber scheint auch recht informativ: http://www.we-online.com/web/de/index.php/show/media/import/emc/application_notes_berichte/Robustes_Design_von_USB_20_Anwendungen.pdf Ich würde die USB-Datenleitungen eigentlich eher für niederohmig halten. Immerhin müssen möglichst schnell Leitungskapazitäten gefüllt werden. (Ich bin hier auch kein Experte, also lasse ich mich gerne von jemandem, der es aus zuverlässiger Quelle weiß, eines Besseren belehren. Unabhängig davon brauchst Du bei Deinem Design tatsächlich keine Vorwiderstände, da Du auf 3,3V bleibst.
Philipp Klostermann schrieb: > Interessante Probleme hast Du da. Zu 1 fällt mir natürlich zuerst die > obligatorische Frage nach den Fuses ein. Bei mir ist das Problem noch > nicht aufgetreten. Zu 2 kann ich nichts sagen, da ich keinen ATmega168 > da habe. > Ich würde bei Problemen erst mal den "richtigen" ATmega8-16 einsetzen > und schauen, ob es daran liegt. Sooo delle... Nachdem ich nun heute einen Atmega8-16PU probierte und ich immer noch mit den selben Problemen kämpfen musste, habe ich mich mal über die Fuses gemacht... und siehe da... BOOTRST war nicht gesetz :x Nuja, habe nun für den 168 kompiliert und es funktioniert tadellos. Bootloader und STK500 Firmeware sind im Anhang. Als Fuses nutze ich: HighFuse: 0xDF / LowFuse: 0xFF / ExtFuse: 0x00
So, nur noch kurz eine kleine Frage, wofür benötige ich SV2?
Der ganze Zweig wäre bei dir Hinfällig, über SV2 hättest du den Reset auf dein "USB Atmega" legen können, um ihn via ISP zu programmieren. Da du aber keine Möglichkeit vorgesehen hast "extern" in den kompetten ISP Zweig einzugreifen entfällt dieser. Sollte jedoch mal ein Problem auftreten kann dann natürlich weder der Mega169 noch der Mega8 mit einem externen Progger programmiert werden.
Rubelus schrieb: > Der ganze Zweig wäre bei dir Hinfällig, über SV2 hättest du den Reset > auf dein "USB Atmega" legen können, um ihn via ISP zu programmieren. Also etwa so?
uC schrieb: > Also etwa so? Jep so finde ich es, für den Notfall, eindeutig die bessere Variante. Solange der Platz auf der Platine verfügbar ist und das Routing nicht all zu sehr darunter leidet - sollte man auf jeden Fall ein externes ISP vorsehen.
Rubelus schrieb: > uC schrieb: >> Also etwa so? > > Jep so finde ich es, für den Notfall, eindeutig die bessere Variante. > Solange der Platz auf der Platine verfügbar ist und das Routing nicht > all zu sehr darunter leidet - sollte man auf jeden Fall ein externes ISP > vorsehen. mhm macht auch sinn, wollte nur nicht gleich den Schaltplan überfüllen, damits übersichtlich bleibt :)
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.