Schaltung für Universalpin (Data In/Out, VCC, GNG)

OP #6181990
Lesenswert?

Hi,
ich möchte ein möglichst universelles Programmiergerät für AVR 
Controller bauen und brauche dafür eine Schaltung, damit ich jeden Pin 
als Dateneingang, Datenausgang, +5V, eventuell auch 3,3V und GND 
schalten kann.

Ich bin bei meiner Suche noch nicht weit gekommen. Gibt es einen 
fertigen Baustein, der das kann oder kennt jemand eine Schaltung?

Ich brauche das ganze insgesamt 20 mal, sollte also auch nicht zu 
ausladend sein, da die Schaltung in ein mobiles Gerät soll.

Vielen Dank im Voraus
Markus
Gast #6182106
Lesenswert?

Ob es so ein IC fertig gibt, würde mich ja auch interessieren.
Ich glaube eher nicht daran, aber was heisst das schon?

Falls ich im Augenblick diese Aufgabe hätte und nicht fündig würde, 
dächte  ich an eine Schaltung aus Eingangsports und einer Halbbrücke für 
die Stromversorgungen und die Ausgangsleitungen.

Das ist auf diese Weise nicht Narrensicher; eher was fürs Labor. Zu 
einem Feldgerät gehört dann ein bisschen mehr.

Allerdings würde das bei 20 Pins schon eine Rechenaufgabe, denn es 
stellte sich mir die Frage, ob ein Relais oder eine Halbbrücke teurer 
ist.
Gast #6182125
Lesenswert?

> Ich brauche ein mobiles Gerät.

Kein Problem. Als etwas zu gross geratener Taschenrechner: Dataman S4.
Als "Datentraeger" fuer die Controller nimmt man dann einen
hinreichend grossen Flash-ROM.
Die Prozedur muss man nur per Inhalt einmal durchfuehren.
Der CMOS-RAM vom S4 ist gepuffert.
Gast #6182457
Lesenswert?

Markus B. schrieb:
> Bisher hab ich noch nicht das richtige gefunden. Ich denke, ich baue das
> selbst auf mit einem 74HC244 oder sowas für die Datenleitung und einer
> Tristate Schaltung mit Transistoren für die Stromversorgung, so wie hier
>
> https://www.mikrocontroller.net/articles/Ausgangsstufen_Logik-ICs#Tristate

Das entspricht aber nicht deinen Eingangsforderungen, nachdem jeder Pin 
einzeln und unabhängig konfiguriert werden soll. Beim 74HC244 kannst du 
die Ausgänge nur in zwei 4er-Gruppen in Tristate schalten.
Persönliche Seite #6182570
Lesenswert?

Das läuft auf einen IC-Tester hinaus und sowas gibt es nicht von der 
Stange. In 30 Jahren sind mir nur sehr wenige in diese Richtung gehende 
Chips begegnet und wenn waren es immer schon beim ersten Anblick 
Abschußkandidaten für die Zukunft bzw. vermutlich Preise die einen zum 
Würgen bringen.

Man sollte möglichst Exoten meiden!

Wozu brauch man 20 solcher Pins zum Programmieren von AVRs? Ich glaub 
das Konzept ist nochmals zu überdenken.

Bei manchen FPGAs kann man die Pegel einzeln programmieren. Ansonsten 
wird es einfach ein großes IC-Grab. Fleißarbeit.

(In einem früheren Leben wollten wir einen universellen Tester für 
unsere Module bauen. Genau, es wurde nie was draus)
Gast #6182581
Lesenswert?

Vor langer Zeit hatte ich mir mal einen recht universellen 
Programmieradapter gebaut. Die unterschiedlichen Pinbelegungen hatte ich 
damals dadurch gelöst, dass ich zwischen der Hauptplatine und dem 
jeweiligen Target unterschiedliche Adapter stecken musste.

Das war weder schön noch elegant, aber bezahlbar.
OP #6182601
Lesenswert?

Abdul K. schrieb:
> Wozu brauch man 20 solcher Pins zum Programmieren von AVRs? Ich glaub
> das Konzept ist nochmals zu überdenken.

Dafür ist es leider zu spät. Wir haben hier verschiedene Platinen, die 
zwar alle den gleichen 20 poligen Stecker haben, aber jede Platine hat 
eine andere Belegung. Auch JTAG und ISP sind da gemischt. Ich versuche 
nur Schadensbegrenzung.

Stefan ⛄ F. schrieb:
> Die unterschiedlichen Pinbelegungen hatte ich
> damals dadurch gelöst, dass ich zwischen der Hauptplatine und dem
> jeweiligen Target unterschiedliche Adapter stecken musste.

So eine Lösung mit unterschiedlichen Adaptern haben wir hier gerade. 
Katastrophe

Ich hätte gern eine praktikable Lösung, die dann gern etwas aufwändiger 
sein darf
Gast #6183045
Lesenswert?

Markus B. schrieb:
> ich möchte ein möglichst universelles Programmiergerät für AVR
> Controller bauen...
> Ich bin bei meiner Suche noch nicht weit gekommen.

Was bedeutet das Wort "universell" eigentlich für dich?

Heutzutage hat man µC, die als SMD-IC's bereits auf die LP aufgelötet 
sind - und da braucht man sich beim Entwurf der LP nur auf eine Buchse 
mit einer festgelegten Pinbelegung zu verständigen, um so einen µC in 
der Schaltung zu programmieren.

In diese Richtung geht "universell" und alles Andere ist eigentlich nur 
für THT-Bauteile gedacht, die entweder auf Fassung sitzen oder noch gar 
nicht eingebaut sind. Das ist ne Art Nostalgie und geht allenfalls noch 
für OTP-Typen.



Abdul K. schrieb:
> (In einem früheren Leben wollten wir einen universellen Tester für
> unsere Module bauen. Genau, es wurde nie was draus)

HA! Du erinnerst mich da an etwas verdammt Gleichartiges aus eigener 
Erfahrung. So ist das eben, wenn Bürokraten oder BWLler meinen, der 
Entwicklung technische Vorgaben machen zu wollen.

Eigentlich ist es klar: UNIVERSELL hat es noch noch nie gegeben und wird 
es auch nie geben. Der Grund ist der, daß man beim Aufsetzen der 
Vorgaben sich zwar anstrengen kann, alles nur erdenkliche mit 
einzubeziehen - aber das beruht auf Erfahrungen, die aus der Kenntnis 
von Vergangenem herrühren und damit den Bedarf in der Zukunft gar 
nicht berücksichtigen können.

Man mag sowas zwar in die Zukunft extrapolieren, aber weit wird man 
damit nicht kommen, denn selbige ist schweigsam und verrät niemandem, 
wie sich die Dinge entwickeln werden und was dann als "universell" 
angesehen werden wird.

W.S.
OP #6183308
Lesenswert?

W.S. schrieb:
> Was bedeutet das Wort "universell" eigentlich für dich?

Wie bereits erwähnt haben wir hier mehrere Platinen, auf denen zwar der 
gleiche Stecker zum Programmieren sitzt, aber keiner die selbe Belegung 
hat. Einige davon verwenden ISP zum programmieren, andere JTAG.

Zur Zeit verwenden wir einen Equinox Programmer mit verschiedenen 
Adaptern, aber das ist kein Zustand, dass ist Gebastel. Und das will ich 
ändern.

Ich denke sogar darüber nach, ob ich damit nicht auch andere Controller 
als AVR programmieren kann
Gast #6183564
Lesenswert?

Markus B. schrieb:
> Gibt es einen fertigen Baustein, der das kann

Gibt's schon, schliesslich müssen viele Leute automatisierte Test- und 
Programmiersysteme bauen, aber ob du die bezahlen willst ?

https://media.digikey.com/pdf/Data%20Sheets/Cirrus%20Logic%20PDFs/CS1610_11_12_13.pdf
https://www.alldatasheet.com/datasheet-pdf/pdf/256245/SEMTECH/E7802.html
https://www.alldatasheet.com/datasheet-pdf/pdf/256247/SEMTECH/E7804BHFT.html
#6183569
Lesenswert?

Ja der Galep ist teuer.

Aber es gibt ja genug 20€ Programmiergeräte aus China.
Das TL866 zum Beispiel.

Zudem muss ja nicht jeder Pin 50mA halten, sondern nur einige wenige.
Die könnte man zb. mit MOS FET gegen + oder - schalten.


Da hat einer schon mal einen TOP2049 analysiert und per eigener Software 
gesteuert.
Der TOP2049 hat 48 PIN DIL Sockel und kann fast beliebig jeden PIN 
steuern.
Da ist sogar der Spannungsbereich sehr variabel (1,8 bis 25V).
Und das Beste, man kann einen Algorithmus hoch laden in den FPGA des 
TOP2049.
Für verschiedenste Protokolle …

Beitrag "TOP2049 programmer opensource software"
Gast #6183633
Lesenswert?

> Equinox Programmer mit verschiedenen Adaptern

Wenn du die Komplexitaet des Vorhabens klein halten willst,
solltest du einfach den Adapter "automatisieren".
Das koennen Reedrelais sein oder wenn unkritisch CMOS-Muxe.

Ich wuerde z.B. nicht auf die Idee kommen, einen Dataman S4
selber entwickeln zu wollen.

Ich habe mir genau 2 "Einzweck"-Programmierer gebaut.
Der eine war fuer den 2708 und war vollstaendig hardwaregesteuert.
Und dann noch einen fuer den C64-Slot fuer den 2732.

Fuer "Universal" hat man einfach keine Zeit.

Und wie schon angemerkt wurde, in naechsten Jahr ist von
"Universal" auch nur "Universal"-n uebrig.
Gast #6183712
Lesenswert?

Hallo Markus.

Als die Gummistiefel noch aus Holz geschnitzt waren hatte ich begonnen 
einen Parallelprogrammer zu bauen. Da dann aber immer mehr ISP-Bausteine 
aufkamen ist der nie über das Simulationsstadium hinaus gekommen.

Die Simulation kannst du zur Inspiration ansehen. V3 und V4 geben die 
digitalen Zustände (00 ... 11) periodisch vor. Die Digitalbausteine A1 
bis A5 bilden einen 4(3) aus 2 Dekoder zur Steuerung des Analogteils.

Funktion:
00 = Z (hochohmig)
01 = Low
10 = VCC (5V/3.3V)
11 = Prog (12/24V)

Der Pin kann, je nach Binärinput, einen dieser 4 Zustände annehmen. Der 
Digitalteil kann auch mit anderen Bausteinen, wie dem 74HC139, 
ausgeführt oder direkt vom µController abgeleitet sein. Heute würde ich 
die Spannungsquellen durch Strombegrenzung und nicht durch Widerstände 
(R6/7/8) vor Kurzschluß schützen.

Gruß. Tom
Angehängte Dateien:
OP #6183928
Lesenswert?

Krampe schrieb:
> Und für den All03 auch, wie gesagt. Der TO scheint sich nicht dafür zu
> interessieren ...

Hat sich interessiert, aber die Schaltung erfüllt nicht ganz die 
Anforderungen. Es sei denn, ich habe was übersehen. Ich hab das trotzdem 
auf dem Schirm.

Ich brauche halt eine Schaltung wie die von Tom (noch nicht näher 
angeschaut, scheint aber zumindest in der Theorie da zu machen was ich 
brauche), bei der ich jeden Pin einzeln steuern kann. Das scheint bei 
dem All03 nicht der Fall zu sein

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren