Also: Ich bin gerade dabei einen recht komplizierten Programer zu entwerfen, mit dem sich jeder AVR, den man seriell programmieren kann, programmieren lässt. Sprich vom tiny bis zum mega32, auch mit Unterstützung von alten AVRs, die keine interne Taktung haben. Gedacht war es folgendermaßen: Ich nehme 2 mega16-µCs, verbinde sie über ihre 2-Wire serial interface (SDA/SCL) und lasse sie so untereinander kommunizieren. die RS232 Schnittstelle des Computers wird an beide AVRs an beliebige Pins angeschlossen. Jeder AVR hat im eeprom die Pinbelegung aller AVRs gespeichert und leitet sie dann, je nach Auswahl (z.B. über ein LCD-Display und einen Taster realisierbar), an den entsprechenden Pin an dem 40Pol ZIF-Socket. Zwei AVRs aus dem Grund, weil ich den ZIF Sockel voll beschalten muss, sprich: 20 Pins werden an den ersten Mega16 angeschlossen und 20 Pins an den zweiten Mega16. Der Signalinput und Output der RS232 Schnittstelle wird mittels eines Treibers gestützt, somit lassen sich etwaige Probleme der Kabellänge recht passabel lösen. Nur habe ich ein Problem mit der Signalweiterleitung: Ich muss nicht nur MISO, MOSI, SCK (und XTAL) weiterleiten, sondern auch VCC und GND. Dafür benötige ich einen Treiber, der bei Low-Pegel vom Mega16 den entsprechenden Programmier-Pin mit GND versorgt und bei High-Pegel den entsprechenden Pin mit +5V. Dieses Bauteil sollte Ströme von mindestens 20mA aushalten können. Gut. Manche würden sagen: lös das ganze mit Transistoren. Nur ich bin mir sicher es gibt eine einfacherer und kompaktere Möglichkeit als 40 Transistoren auf eine Platine zu löten. Genauso schwachsinnig wären ICs, in denen mehrere Transistoren vereint sind. Gruß und schon im voraus: Danke. miC
vielleicht ein wenig einfacher ausgedrückt: wenn der AVR Ausgang LOW ist, soll das Potential am Pin GND sein. Wenn es HIGH ist, +5V Das Ganze soll noch einen Strom von mindestens 20mA aushalten. Und es soll so kompakt wie möglich sein.
Mal von der grundsätzlichen Fragwürdigkeit des Projekts abgesehen, wieso 2 Megas und nicht ein 128er? Der hat ein paar Beinchen mehr.
Steht irgendwo festgeschrieben, dass man sich dermassen viel Arbeit machen muss, wenn's auch einfacher geht? ISP heisst ja eigentlich In System Programming, nicht In Programmer Programming. Insofern geht das ganze etwas an der Realität vorbei. "mit dem sich jeder AVR, den man seriell programmieren kann, programmieren lässt." Alle Gehäusevarianten eingeschlossen? 8/20/28/40/44/68/80/100/... in teils mehreren Varanten? Da würde ich mit um die Paar Transistoren keine Gedanken machen, allein die SMD Fassungen machen dich schon arm. Und wenn das ganze auf DIP beschränkt sein soll - so viele Varianten von VCC/GND gibt's da letztlich garnicht. Ausserdem mag es sinnvoller sein, die diversen 300mil Sockel zu trennen, kann man die Chips kaum noch falsch reinstecken.
Eben, A.K. hat recht. Ein Blick auf ein Bild vom STK500 zeigt, wie man sowas mit vertretbarem Aufwand hinbekommt ...
joa, ich habs inzwischen auch eingesehen, das was ich vorhatte ist es nicht wert, vorallem weil es auch nicht vermarktet werden soll :) der aufwand wäre viel zu groß und kostspielig. ich guck mir ma den stk500 an, danke trotzdem.
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.