Hallo Ich beschäftige mich gerade mit zahlreichen AVR's. Speziell mit den Mega's und Tiny's. Da ich für diverse typen mir adapterkabel gebaut habe und dies nicht wirklich komfortabel ist suche ich eine Lösung für einen universellen Sockel. Folgende Grundgedanke kam mir dabei in den Sinn: Jeder AVR besitz seine ganz speziellen Funktionen. Auch sind nicht alle PORT-Pin der Controller kompatibel. Ich würde jetzt einen Sockel definieren der sich nach den größten Megas ausrichtet. D.h. alle Pins auf Stiftleisten herausgeführt. Somit sind die Pinfunktionen des Sockels festgelegt. Für jeden AVR existiert jetzt eine Platine die eben genau diese Pinbelegung besitzt. Die Leitungen bzw. Portfunktionen des eingesetzten AVRs müssen jetzt mit dem Adapter verbunden werden. Mein Problem ist jetzt die Doppel- oder Mehrfachbelegung diverser AVR-Pins, speziell die Tinys. Ist es nur möglich mittels eines CPLD's die AVR Funktionen auf einen einheitlichen Sockel zu routen? Ziel soll es also sein einen Adapter zu entwickeln der aus einer Platine besteht, die den AVR (SMD Bauform) besitzt und dessen Funktionen auf die fest definierten Pins des Sockels geroutet werden. Vielleicht habt ihr ja gute Lösungsansätze für dieses Problem :) Gruß
Ich frage mich, was der Sinn davon ist, die verschiedenartigen Controller (gar mit einem CPLD) in eine genormte Form zu bringen. Wenn es das wäre, was die Welt braucht, würde Atmel nur einen einzigen Standard-AVR anbieten...
Nun genau so etwas ist gedacht. Es soll eigentlich nicht für den Standard Bastler was sein. Primär ist es für eine Entwicklungs und Testumgebung gedacht in der die verschiedensten AVRs getestet werden sollen. Kein Mensch hält sich in der Regel so viele verschiedene Controller auf Lager. Jedoch benötige ich sowas für meine Testumgebung. Ist so etwas machbar?
mir bleibt der Sinn des Ganzen völlig verborgen. Wer auf bestimmter Hardware entwickeln will muss sich diese Hardware auch hinlegen. Wo ist da das Problem?
Was soll das bringen ? Fuer ein Projekt waehle ich einen controller aus wie ich ihn brauche. Praktisch waere den naechst groesseren/kleineren pinkompatibel zu bekommen. Wenn die Serie nicht allzu gross werden wird, nimm ich lieber gleich den Groesseren. Einen Sockel, der Alles erschlaegt macht wenig Sinn.
Das hat schon Sinn: Wer sich noch nie einen Adapter für sein HV-Programmiergerät bauen mußte, weil er verschiedene AVR-Typen damit "bearbeiten" wóllte, ist gut dran. MfG Paul
Naja wie am Anfang beschrieben mag das ganze alles sehr unlogisch und nicht praktisch klingen :) Jedoch ist es dies für diesen Spezialfall :) Mirg geht es jetzt auch nich um sinvoll oder nicht, sondern eher um eine Lösungsfindung für diese Aufgabenstellung:) Wer kann da mitwirken bzw. kennt sich etwas aus? Gruß
Ich muss auch sagen, anstatt einfach das Ganze in Frage zu stellen, wäre es bei Weitem sinnvoller konstruktive Vorschläge zu machen... Tschuldigung für den Spam Gruß CaH
Naja, ich versteh die die das in Frage stellen schon. Ich musste noch nie nen Controller per HV wiederbeleben. Und wh ichs mir antu Kabel an die entsprecehnden Beinchen zu löten nehm ich lieber nen nen Controller. Bei nem atmega2561 macht das dann irgendwann mal sinn die Kabel anzulöten aber drunter doch net. ISP oder JTAG reicht zum programmieren und debuggen allemal wenn man wirklich was verhaut was recht selten passiert schmeisst man halt mal nen Controller weg.
Ich brauche nicht nur ISP oder JTAG. Ich möchte vom AD-Wandler über ISP, Spannungsversorgung bis hin zur einfachen Port-Funktion (I/O oder alternative Funktion) herausführen. Da ich aber bei meiner Zielhardware nicht jedes mal einen speziellen Adapter für den gerade eingesetzten AVR mir zusammenbauen müchte soll es jetzt ein "NORM-Adapter" sein. Deswegen nochmal: Ist dies zu lösen und wenn ja wie? Wie schon erwähnt habe ich an einen CPLD gedacht, nur leider habe ich selber noch nicht all zu viel damit gemacht, würde mich aber dahingehend einarbeiten, falls das eine brauchbare Lösung wäre. Gruß
Fritz wrote: > Deswegen nochmal: Ist dies zu lösen und wenn ja wie? Wie schon erwähnt > habe ich an einen CPLD gedacht Witz, Du bist umzingelt. Der CPLD kann nicht riechen, wie die DDRx-Register im AVR gesetzt sind und analog umschalten geht gleich garnicht. Du müßtest schon ein Kuchenblech voll mit 74HC4066 oder Relais nehmen. Peter
Das ist ja Wahnsinn, dann musst du ja fast jeden Pin an jede Position schalten können ? Man nehme also ein array von Analogschaltern und ordne es so an das man an einem Pin die Anzahl von Kanälen hängt die der MC als IO Pins hat. Und das ganze für jeden Pin also bei 64 Pins 4096 Analogkanäle ... Ich denke ne Hand voll Adapter ist bei weitem die bessere Lösung
Wie ich sehe würde diese Aufgabe mich vor einen riesen Aufwand stellen. Aber wenn ich es mir recht überlege ist es doch "nur" ein logisches Umschalten der Portfunktionen. z.B. Mega 8 PC5 (ADC5/SCL) auf SCL programmiert jetzt müsste eben der CPLD oder FPGA oder sonst ne Logik wissen wie der AVR programmiert ist und die Portfunktion SCL auf den entsprechenden Pin des Sockels routen. Alle anderen Funktionen (I/O oder ADC5) dann nicht routen. -> Am Sockel sind dann eben die Pins ADC5 und der normale I/O nicht beschaltet. die logik sollte des weiteren biderektional SIgnale routen können. Über die Software des AVRs würde dann eben jedesmal die Logik neu programmiert. @Peter: Ein Kuchenblech an IC's sollte natürlich nicht verbaut werden.
Du willst aber nicht nur 2 verschiedene Controller damit ansteuern wenn ich dich recht verstehe und damit werden sich die Kombinationsmöglochkeiten sehr schnell quadrieren.
Also nochmal: Vom Aufbau her hat jeder Controller seine eigene Platine. OK also die Platine besitz eben diese "genormte" Pinbelegung mit allen Funktionen, die ein AVR so haben kann. AVR -> Logik -> genormter Sockel (bestehend aus Stiftleisten) d.h. kein Universal sockel! Eben nur ein gemeinsamer Sockel für die Hauptplatine. Deswegen denke ich ja auch dass es gehen müsste.
Fritz, ich habe den Eindruck, Du weißt nicht wirklich, wovon Du redest. Anstatt den ultimativen Maxi-AVR nachbilden zu wollen, solltest Du Dir einfach einen AVR ausgucken, der für das jeweilige Projekt geeignet ist, Dich mit seiner Hardware (Features) vertraut machen und mit der Arbeit beginnen. Da die AVRs sehr unterschiedlich ausgestattet sind, ist es (bei effizienter hardwarenaher Programmierung unter Nutzung der verfügbaren Hardwarefeatures) eh nicht möglich, universellen (portierbaren) Code zu schreiben, der auf allen AVRs optimal läuft. Wenn Du nur eine Plattform suchst, die mit mehreren AVR-Typen umgehen kann, dann schau Dir das STK500 (und seine Aufsetzplatinen) an. Achja, die Hardwarefeatures sind so unterschiedlich, dass man auch nichtmal jeden kleinen AVR durch einen großen AVR ersetzen kann. Siehe PLL bei einigen Tinys. "Viel hilft viel" klappt nicht immer. Weniger ist manchmal mehr... ...
>Eben nur ein gemeinsamer Sockel für die Hauptplatine.
Gibbet schon. Die Dinger sitzen auf dem STK500 drauf...
Und die Adapterplatinen nennen sich STK50x (x>=1)...
Dann machs doch einfach... Ansonsten guck dir mal ein STK-500 an. Da gibts auch keinen Universalsockel. Andererseits, so eine Sammlung Relais die sich um einen AVR versammelt würd schon lustig aussehn. Viel Aufwand, wenig Nutzen...
Also so schlecht find ich die Idee gar nicht, wenn du sagst das so was für dich hilfreich ist dann will ich das auch nicht anzweifeln, also mal konkret: Im Prinzip ist das ST500 ja auch so aufgebaut (nur eben etwas beschränkt). Problem sind hier eben die mehrfach belegten IO Pins. Also ich würd das etwa so machen: Auf den einen Steckverbinder die Ports als Pin 1- 8 Port A Pin 9- 16 PortB ... und auf den anderen nacheinander die Sonderfunktionen, also z.B. Pin 1 - UART RxD0 Pin 2 - UART TxD1 ... Zum Thema umschalten: -Jumper: 3-Reihige Stifteleisten, Mitte AVR, Rechts Port, Links Sonderfunktion -Dipschalter, gibts auch in SMD -Lötbrücken (etwas unflexibel) -Programmierbare Logic, mit Konfigprogramm am PC, ziemlich aufwändig + Probleme mit Analogen Signalen Wenn sie Größe nicht so ganz entscheidend ist würd ich das ganze mit 2,54mm Stifteleisten und Jumpern realisiern, ist wohl am einfachsten und billigsten. Von z.B. Samtech gibt es auch SMD Steckverbinder mit hoher Polzahl und Packungsdichte, da kommt man glaub ich auch an kleine Stückzahlen. Als alternative wenn die das sonst alles zu groß wird. ABu
Fritz wrote: > z.B. Mega 8 > > PC5 (ADC5/SCL) > > auf SCL programmiert So und damit hast Du schon ein riesen Problem, SCL ist nämlich bidirektional. Woher soll nun der CPLD die Information für die Richtungsumschaltung nehmen ? Du mußt also nur das Gehäuse des AVR aufschleifen und die internen Signale des HW-I2C zum CPLD führen. Peter
@ABu: im Prinzip ist es das was Du beschreibst. Jedoch sind Stifteisten mit Jumper sehr platzraubend. Ist dann eine programmierbare Logik oder digitale Schalter zu bevorzugen? Welche Logikbausteine kommen denn mit analogen Signalen zurecht? Oder welche Möglichkeit könnte man für diese Pins des AVRs nutzen? Gruß und danke für das rege Interesse
>Logikbausteine kommen denn mit analogen Signalen zurecht?
Das war dein bester Heute ...
Sorry etwas unglücklich ausgedrückt. Meinte wenn ich für die rein digitalen Signale die Logikbausteine verwende, wie dann am besten mit den analogen SIgnalen umzugehen ist.
Fritz wrote: > Sorry etwas unglücklich ausgedrückt. > Meinte wenn ich für die rein digitalen Signale die Logikbausteine > verwende, wie dann am besten mit den analogen SIgnalen umzugehen ist. Fang doch mal an, darüber nachzudenken, wie Du mit den Stromversorgungs-Leitungen umgehen willst. Wie ja allgemein bekannt ist, braucht jeder Stromversorgungsanschluss seinen Abblock-Kondensator direkt an den Stromversorgungspins. Aufgrund der unterschiedlichen Pinouts kommst Du da auf keinen gemeinsamen Nenner. Was meinst Du, warum das STK500 8 verschiedene Sockel für AVRs im DIL-Gehäuse hat? Und dabei unterstützt es (ohne Aufsatzplatinen) noch nichtmal alle DIL-AVRs. > Kein Mensch hält sich in der Regel so viele verschiedene Controller auf > Lager. Ich halte mir die Controller "auf Lager", mit denen ich arbeiten möchte und kann. Und einen "Universal-AVR" gibt es nicht, einige kleine AVRs haben Features, die die Großen nicht haben. Wenn Du es nicht glaubst, dann vergleiche die Datenblätter (aber nicht nur die Überschriften!). ...
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.