Universelles Programmiergerät - ZIF-Sockel-Beschaltung

A

Andreas Fester

Guest
Hallo,

ich arbeite bereits seit einiger Zeit an einem universellen
Programmiergerät für EPROMS, Microcontroller etc. Das ganze funktioniert
jetzt bereits ganz gut, sprich ich kann EPROMs, 20V8-GALs und zwei
verschiedene PIC-Controllertypen damit lesen und schreiben.

Allerdings habe ich immer wieder Probleme insbesondere beim Auslesen von
Bausteinen. Ich vermute dass es an der Ansteuerung des ZIF-Sockels liegt;
jeder Pin des ZIF-Sockels kann auf logisch 0 oder 1 und je nach Pin über
Transistoren auf eine variable Spannung oder auf Masse gelegt werden.
Ausserdem kann der Logik-Pegel jedes Pins ausgelesen werden. Die Schaltung
basiert grundsätzlich auf einem Artikel aus der ELRAD 4/1993. Die
prinzipielle Beschaltung eines einzelnen Pins ist hier zu sehen:

http://littletux.homelinux.org/pin.jpg

Ganz rechts ist der Pin am ZIF-Sockel, links sind die Steuersignale zu
sehen. Die Transistoren sind jeweils pro Pin optional, es gibt auch Pins mit
zwei Transistoren für eine von zwei verschiedenen variablen
Programmierspannungen (im Schaltplan nicht gezeichnet).

Das Problem dabei ist, dass bei den GALs z.B. Pull-Up-Widerstände an den
244er-Eingängen nötig waren (habe ich im Schaltplan noch nicht
eingezeichnet), was ja wegen des CMOS-244ers noch verständlich wäre. Beim
PIC war dann allerdings für ein sauberes Signal ein Pull-Down direkt am
ZIF-Pin des Datensignals nötig. Ich weiss allerdings nicht ob ein Pull-
Down-Widerstand an jedem ZIF-Pin (momentan 40-polig) wirklich eine
sinnvolle Lösung ist...

Kurz gesagt: hat jemand eine Idee wie das ganze besser und verlässlicher
gemacht werden könnte?

(In Zukunft sollen die einzelnen Logikbausteine irgendwann durch ein PLD
ersetzt werden, momentan ist das ganze für einen 40-poligen ZIF-Sockel
aufgebaut doch ein rechtes IC-Grab... Und, was ebenfalls noch nicht beachtet
wurde sind 3,3V - Bausteine; wenn jemand einen Tip hat wie diese gleich mit
beachtet werden können, um so besser :) )

Ich bin für alle Anregungen dankbar :)

Vielen Dank und schöne Grüße,

Andreas

--
Andreas Fester
mailto:Andreas.Fester@gmx.de
WWW: http://littletux.homelinux.org
 
"Andreas Fester" <Andreas.Fester@gmx.de> schrieb im Newsbeitrag news:41ea6af6$0$23115$9b4e6d93@newsread2.arcor-online.net...
Allerdings habe ich immer wieder Probleme insbesondere beim Auslesen von
Bausteinen.
Die Schaltung hat einige Probleme.
Eine Ausgangsimpedanz von 1k2 sind zu viel fuer ausreichend schnelles
Umladen der Eingangskapazitaet schneller Schaltkreise (z.B. GALs).
Es entstehen langsame Flanken waehrend deren Umschalten dann Stoerungen
zu mehreren Taktimpulsen fuehren. GALs sind so schnell, das sie dann
locker mit deinem naechsten UKW-Sender mittakten.
Wenn man MEHR als 1k2 nehmen koennte, naemlich 4k7, koennte man den
Ausgang als steuerbaren PullUp/PullDown nehmen (spart sich EN vom 125),
der EINGANG (244) bekommt dann seinen eigenen Vorwiderstand.

Out --4k7---+ (Schutzdioden im Sinne von D1 sind sowieso in den ICs drin)
+--- Pin
In ---4k7---+

Leider kann man nicht 4k7 nehmen :-( und eine steuerbare Impedanz

+-4066--+
| |
Out --+--4k7--+--+ (Schutzdioden im Sinne von D1 sind sowieso in den ICs drin)
+--- Pin
In ---4k7--------+

geht auch nicht und die VCC-Transistoren zu verwenden geht auch nicht weil
die viel zu langsam schalten.

T1 hat ausserdem ein Problem, so bald ZWEI verschiedene Spannungen (VCC von 5
oder 3.3V, und VPP von 12V bis 21V) an den Pin geschaltet werden koennen sollen.

VCC VPP
|E |E
|< |<
| |
+----+--- Pim

weil dann Ubemaxreverse (von meist 7V) des Transi ueberschritten wird
(wenn VPP an ist und VCC aus ist). Man braucht noch Dioden


VCC VPP
|E |E
|< |<
| +--|>|--+
| |
+-------|>|--+--- Pim

deren Spannungsabfall dann dummerweise wieder zu gross ist :-(
Ein BC327 reicht sowieso nicht als VCC-Zufuehrung, eher BC369 oder
was niederohmiges von Zetex (wie bei dir bei Masse), zu mal der IC
keinen (100nF) Pufferkondenstator direkt zwischen VCC und GND hat,
wie es der Hersteller eigentlich vorschreibt

Es hat schon seinen Grund, warum (alle ?) Hobbyisten am Universal Pin
Driver gescheitert sind, und kommerzielle Geraete sauteuer sind weil
sie hunderte von Transistoren enthalten, oder Spezial-ICs von Edge.

Da Hobyisten aber nicht mehrere verschiedene Chips pro Tag programmieren,
lies dir mal den Vorschlag im Kapitel F.7.4. EPROMs / GALs programmieren
der de.sci.electronics FAQ: http://dse-faq.elektronik-kompendium.de/
durch, der ohne jegliche Transistoren auskommt, und ohne viele ICs, und
echt billig zu realisueren ist
--
Manfred Winterhoff, reply-to invalid, use mawin at despammed.com
homepage: http://www.geocities.com/mwinterhoff/
Read 'Art of Electronics' Horowitz/Hill before you ask.
Lese 'Hohe Schule der Elektronik 1+2' bevor du fragst.
 
Hallo MaWin,

Danke für die Infos (wenn sie auch nicht sehr ermutigend sind :-( )
So ganz will ich aber noch nicht aufgeben...
Ich habe schon mal ein bisschen gestöbert, die Edge-Teile von Semtech
sehen interessant aus, aber erwartungsgemäss habe ich bisher nicht mal
einen 100er- oder 1000er-Preis ausmachen können, das wird wohl aussichtslos
sein da an eine Handvoll dranzukommen.
Vielleicht sollte ich mein komplettes Design doch noch mal überdenken
und verschiedene Programmieradapter verwenden die die Versorgungs-
und Programmierspannungen festverdrahtet auf die korrekten Pins legen
(genau das wollte ich ursprünglich vermeiden), das würde jedenfalls eine
Menge Probleme ersparen.

Viele Grüße,

Andreas


MaWin wrote:

"Andreas Fester" <Andreas.Fester@gmx.de> schrieb im Newsbeitrag
news:41ea6af6$0$23115$9b4e6d93@newsread2.arcor-online.net...

Allerdings habe ich immer wieder Probleme insbesondere beim Auslesen von
Bausteinen.

Die Schaltung hat einige Probleme.
[...]

--
Andreas Fester
mailto:Andreas.Fester@gmx.de
WWW: http://littletux.homelinux.org
 
"Andreas Fester" <Andreas.Fester@gmx.de> schrieb im Newsbeitrag news:41eab7ae$0$23124$9b4e6d93@newsread2.arcor-online.net...

die Edge-Teile von Semtech
sehen interessant aus, aber erwartungsgemäss habe ich bisher nicht mal
einen 100er- oder 1000er-Preis ausmachen können, das wird wohl aussichtslos
sein da an eine Handvoll dranzukommen.
An eine Handvoll schon, die meisten Kunden von denen brauchen keine 1000,
aber der Preis ist so, als ob du gleich 100 nehmen wuerdest :)
--
Manfred Winterhoff, reply-to invalid, use mawin at despammed.com
homepage: http://www.geocities.com/mwinterhoff/
de.sci.electronics FAQ: http://dse-faq.elektronik-kompendium.de/
Read 'Art of Electronics' Horowitz/Hill before you ask.
Lese 'Hohe Schule der Elektronik 1+2' bevor du fragst.
 
Am Sun, 16 Jan 2005 14:24:28 +0100 schrieb Andreas Fester
<Andreas.Fester@gmx.de>:

Hallo,

ich arbeite bereits seit einiger Zeit an einem universellen
Programmiergerät für EPROMS, Microcontroller etc. Das ganze funktioniert
jetzt bereits ganz gut, sprich ich kann EPROMs, 20V8-GALs und zwei
verschiedene PIC-Controllertypen damit lesen und schreiben.

Allerdings habe ich immer wieder Probleme insbesondere beim Auslesen von
Bausteinen. Ich vermute dass es an der Ansteuerung des ZIF-Sockels liegt;
jeder Pin des ZIF-Sockels kann auf logisch 0 oder 1 und je nach Pin über
Transistoren auf eine variable Spannung oder auf Masse gelegt werden.
Ausserdem kann der Logik-Pegel jedes Pins ausgelesen werden. Die
Schaltung
basiert grundsätzlich auf einem Artikel aus der ELRAD 4/1993. Die
prinzipielle Beschaltung eines einzelnen Pins ist hier zu sehen:

http://littletux.homelinux.org/pin.jpg

Ich würde den 1k2 Widerstand durch geeignete Analogschalter ersetzen, die
gibt es bei Bedarf auch für 40V und mit wenigen Ohm R_DS_on. Wie hoch soll
U_var max. sein?
--
Martin
 
Hallo Martin,

[...]
http://littletux.homelinux.org/pin.jpg

Ich würde den 1k2 Widerstand durch geeignete Analogschalter ersetzen, die
gibt es bei Bedarf auch für 40V und mit wenigen Ohm R_DS_on. Wie hoch soll
U_var max. sein?
U_var soll maximal 25 V sein. MaWin hat ja schon einige Probleme
angesprochen, und ich bin momentan dabei das alles zu sortieren;
eigentlich bin ich inzwischen soweit dass es wohl mit vertretbarem Aufwand
kaum möglich ist einen "Universal Pin Driver" zu implementieren. Ich
überlege mir gerade eine Lösung bei der mittels Relais zwischen UVar und
den Logik-Ein-/Ausgängen umgeschaltet werden kann (wem das zu teuer ist
kann das dann immer noch wie von Manfred vorgeschlagen mit Jumpern
machen ;-), und es betrifft ja auch nicht alle Pins des ZIF-Sockels).

Das mit den Analogschaltern wäre ja vielleicht eine interessante
Alternative zu meinem Relais-Ansatz, was wären denn das für Bausteine?
Ich kenne bisher eigentlich nur den 4066 ....

Gruss,

Andreas

--
Andreas Fester
mailto:Andreas.Fester@gmx.de
WWW: http://littletux.homelinux.org
 
Andreas Fester schrieb:

Das mit den Analogschaltern wäre ja vielleicht eine interessante
Alternative zu meinem Relais-Ansatz, was wären denn das für Bausteine?
Ich kenne bisher eigentlich nur den 4066 ....
Ja, es ist eine Alternative, zumindest für eine eingeschränkte Menge von
unterschiedlichen zu programmierenden Bauteilen.
Ich hab sowas mal für einen (E)EProm/Linear Flash Card Programmer
gemacht und bin dabei auch auf VCC/VPP-switches für PCMCIA-Slots
gestossen, die wurden dann -in Kombination mit niederohmigen
Analogschaltern- auch für den ZIF-Sockel eingesetzt.
Schau Dir mal TPS2212 und Konsorten von TI an, ähnliches gibst auch noch
von anderen Herstellern. Wenn ich meinen Unterlagen trauen kann wurden
auch noch DG413 und versch. Max46xx eingesetzt, vermutlich gibts
mittlerweile auch noch niederohmiges.
Ich würde mich aber von den 25V verabschieden, sonst wirds auch mit o.g.
Teilen nichts.
Es gab hier übrigens schon einige Threads zu dem Thema, vielleicht lässt
sich da noch was ergoogeln.

Jörg.
 
Am Mon, 17 Jan 2005 23:58:55 +0100 schrieb Joerg Schneide
<JSchneide@t-online.de>:

Andreas Fester schrieb:

Das mit den Analogschaltern wäre ja vielleicht eine interessante
Alternative zu meinem Relais-Ansatz, was wären denn das für Bausteine?
Ich kenne bisher eigentlich nur den 4066 ....

Ja, es ist eine Alternative, zumindest für eine eingeschränkte Menge von
unterschiedlichen zu programmierenden Bauteilen.
Ich hab sowas mal für einen (E)EProm/Linear Flash Card Programmer
gemacht und bin dabei auch auf VCC/VPP-switches für PCMCIA-Slots
gestossen, die wurden dann -in Kombination mit niederohmigen
Analogschaltern- auch für den ZIF-Sockel eingesetzt.
Schau Dir mal TPS2212 und Konsorten von TI an, ähnliches gibst auch noch
von anderen Herstellern. Wenn ich meinen Unterlagen trauen kann wurden
auch noch DG413 und versch. Max46xx eingesetzt, vermutlich gibts
mittlerweile auch noch niederohmiges.
Ich würde mich aber von den 25V verabschieden, sonst wirds auch mit o.g.
Teilen nichts.
Ich weis jetzt nur MAXIM, die haben Telecom Analogschalter für >40V mit
einigen Ohm und natürlich abgestuft, diverse andere. die DGxxx sind
original nicht MAXIM sondern von einem anderen Hersteller - Name
entfallen. Eigentlich müßten aber auch einzelne N-FETs gehen. S am
Ein-/Ausgang der digital-ICs, Gate auf 9-10V zum Einschalten, D zum Pin.
Egal ob der Digital-Treiber 0 oder 5V liefert, die DS-Spannung liegt zw. 5
und 10V der FET ist eingeschaltet, wenn G auf 0V, dann ist er aus.
Geeignet ist zB der BS170, gibt es in TO-92 oder SOT23, oder BSS123 im
SOT23. Das ganze ist sozusagen nur ein halber Analogschalter. Zum Schalten
der Gates kann man 40xx Logikchips verwenden, zB Schieberegister 4094, das
reduziert den Aufwand an Pegelwandlern zur 3V3/5V Logik, insbesondere, da
diese FETs nur beim Umschalten des Device-Types (und ggf Prog/Verify)
umkonfiguriert werden müssen. Prog/Verify könnte man ev. auch durch
Umschalten von V-var ändern.

--
Martin
 
Martin schrieb:

Ich weis jetzt nur MAXIM, die haben Telecom Analogschalter für >40V mit
einigen Ohm und natürlich abgestuft, diverse andere. die DGxxx sind
original nicht MAXIM sondern von einem anderen Hersteller - Name
entfallen. Eigentlich müßten aber auch einzelne N-FETs gehen. S am
Ein-/Ausgang der digital-ICs, Gate auf 9-10V zum Einschalten, D zum
Pin. Egal ob der Digital-Treiber 0 oder 5V liefert, die DS-Spannung
liegt zw. 5 und 10V der FET ist eingeschaltet, wenn G auf 0V, dann ist
er aus. Geeignet ist zB der BS170, gibt es in TO-92 oder SOT23, oder
BSS123 im SOT23. Das ganze ist sozusagen nur ein halber Analogschalter.
Der Vorteil bei Analogschaltern oder gar Multiplexern gegenüber
diskreten Lösungen liegt wohl in der einfacheren Ansteuerung.
Man kann durch geschickte Wahl von Öffner/Schliesser, Eingangslogik,
evtl. Enable schon einen Teil der Logik erschlagen, bei entsprechender
Bauteilwahl braucht man sich auch weniger um Dinge wie Break bofore Make
zu kümmern. Es dürfte auch auf weniger Bestückungsarbeit hinauslaufen.
Dafür wird es aber wohl wesentlich teurer.
Um einen Prozessor mit vielen Ports (oder eine Porterweiterung) kommt
man wohl in beiden Fällen nicht herum, bei diskreter Lösung braucht man
halt einige Mehr.

Jörg.
 
Am Tue, 18 Jan 2005 12:22:58 +0100 hat Joerg Schneide
<JSchneide@t-online.de> geschrieben:

Martin schrieb:

Ich weis jetzt nur MAXIM, die haben Telecom Analogschalter für >40V
mit einigen Ohm und natürlich abgestuft, diverse andere. die DGxxx
sind original nicht MAXIM sondern von einem anderen Hersteller - Name
entfallen. Eigentlich müßten aber auch einzelne N-FETs gehen. S am
Ein-/Ausgang der digital-ICs, Gate auf 9-10V zum Einschalten, D zum
Pin. Egal ob der Digital-Treiber 0 oder 5V liefert, die DS-Spannung
liegt zw. 5 und 10V der FET ist eingeschaltet, wenn G auf 0V, dann ist
er aus. Geeignet ist zB der BS170, gibt es in TO-92 oder SOT23, oder
BSS123 im SOT23. Das ganze ist sozusagen nur ein halber Analogschalter.

Der Vorteil bei Analogschaltern oder gar Multiplexern gegenüber
diskreten Lösungen liegt wohl in der einfacheren Ansteuerung.
Man kann durch geschickte Wahl von Öffner/Schliesser, Eingangslogik,
evtl. Enable schon einen Teil der Logik erschlagen, bei entsprechender
Bauteilwahl braucht man sich auch weniger um Dinge wie Break bofore Make
zu kümmern. Es dürfte auch auf weniger Bestückungsarbeit hinauslaufen.
Dafür wird es aber wohl wesentlich teurer.
Um einen Prozessor mit vielen Ports (oder eine Porterweiterung) kommt
man wohl in beiden Fällen nicht herum, bei diskreter Lösung braucht man
halt einige Mehr.

Deswegen habe ich ja beide Lösungen genannt, wiel ich nicht wußte, ob
Bauteilkosten oder Fertigungsaufwand das wichtigere Kriterium ist.

--
Martin
 
Andreas Fester schrieb:
Allerdings habe ich immer wieder Probleme insbesondere beim Auslesen von
Bausteinen. Ich vermute dass es an der Ansteuerung des ZIF-Sockels liegt;
jeder Pin des ZIF-Sockels kann auf logisch 0 oder 1 und je nach Pin über
Transistoren auf eine variable Spannung oder auf Masse gelegt werden.
Ausserdem kann der Logik-Pegel jedes Pins ausgelesen werden. Die Schaltung
basiert grundsätzlich auf einem Artikel aus der ELRAD 4/1993. Die
prinzipielle Beschaltung eines einzelnen Pins ist hier zu sehen:
Hallo,

musst Du wirklich jeden einzelnen Pin auch auf Masse schalten können?
Wie wäre es mit Reedrelais zum Anschalten der Versorgungsspannungen und
der Masse an den IC, da wo auch wirklich Versorgungspins sein können?

Bye
 
ich arbeite bereits seit einiger Zeit an einem universellen
Programmiergerät für EPROMS, Microcontroller etc.
Vermutlich beabsichtigt Galep nochmal zu erfinden.
Als ich noch jung-&-dumm war habe ich auch mal versucht ein
PAL-Programmiergerät a la Pintreiber-Bauteilgrab zu konstruieren.
Aber bevor das weitgenug gediehen war wurden die Dinger durch
GALs absolet.
Kann sein, daß selbstgestrickte Programmiergeräte für
in-circuit-Programmierung von SMD-Teilen die bereits in
Schaltungen verlötet sind wieder aktueller werden.

Ich würde das dann aber mechanisch vom Typ "Pagode" bauen:
* unten ein Einplatinencomputer mit z.B. CF als Massenspeicher.
CF enthält Programmieralgorithmus , "Master-EPROM-Daten".
Im Einplatinencomputer macht sich sowas wie FORTH natürlich
gut. Eventuell kann man heute aber Linux auf kleine x86/ARM-
Hardware schrumpfen.
Das Ding über V24 von Terminalprogramm gesteuert.
Über Steckernetzteil mit z.B. 24V versorgt wo dann aus
Sekundärstepper 5V gemacht werden.
Hat einige R2R D/A-Wandlerausgänge 0 - 5V 8 Bit. Und eine Unmenge
Port-Pins.
* huckepack gesteckt die Adapterschaltung für einen bestimmten
Controller oder EPROM-Familie. Es ist unwirtschaftlich
"universell" sein zu wollen.
* huckepack gesteckt den Sockel. Man kann den Controller ja in DIL
verbauen ( heute immer seltener ), oder in QFP, oder als Kabel
in die Leiterplatte. Es gibt also auch hier keine "universelle"
Lösung mehr.

MfG JRD
 
Hallo Uwe,

Uwe Hercksen wrote:
[...]
Die prinzipielle Beschaltung eines einzelnen Pins ist hier zu sehen:

Hallo,

musst Du wirklich jeden einzelnen Pin auch auf Masse schalten können?
Nein, der Schaltplan zeigt die maximale Beschaltung; Jeder Pin sollte
auf Logikpegel geschaltet werden können, und verschiedene ausgewählte
Pins zusätzlich auf Masse oder eine variable Spannung.

Wie wäre es mit Reedrelais zum Anschalten der Versorgungsspannungen und
der Masse an den IC, da wo auch wirklich Versorgungspins sein können?
Ja, das mit den Relais ist mir inzwischen auch aufgeleuchtet :)
Das wäre wahrscheinlich die Lösung die am saubersten funktionieren
würde. Nachteil ist dass die Relais nicht ganz billig sind, ich habe 1xum im
DIL-Gehäuse mit integrierter Freilaufdiode für 2,50¤ gefunden...

Allerdings würde ich das ganze dann so vorsehen dass die Relais
möglichst einfach nachträglich noch bestückt werden können, wenn ein
neuer Bausteintyp dazukommt (der Programmer aus besagtem ELRAD-Artikel
hatte auch an ausgewählten Pins die Transistoren für Masse und VPP/VCC,
aber ich hatte bei insgesamt vier Typen bereits einen bei dem das nicht
gepasst hat :-( , da sollte man also flexibler sein ...)

Gruss,

Andreas

--
Andreas Fester
mailto:Andreas.Fester@gmx.de
WWW: http://littletux.homelinux.org
 
Hallo,

danke sehr für Eure Hinweise.
Die DGxxx sehen sehr interessant aus und sind sogar bezahlbar :)
Dabei bin ich auch noch auf MAX31x gestossen, das sind wohl die
erwähnten Schalter für > 40V und mit 10 Ohm Rds-on. Sind allerdings
so teuer dass man dafür schon fast vier DIL-Relais bekommt ;-)

Die viel wichtigere Frage wäre daher, ob es überhaupt sinnvoll ist
noch bis zu den 25V VPP zu gehen; früher gab es mal EPROMs die
26 V gebraucht haben, und wenn man VPP auf 20V einschränken
würde dann könnte man die DGxxx verwenden...

Gruss,

Andreas

Martin Lenz wrote:

Am Tue, 18 Jan 2005 12:22:58 +0100 hat Joerg Schneide
JSchneide@t-online.de> geschrieben:

Martin schrieb:

Ich weis jetzt nur MAXIM, die haben Telecom Analogschalter für >40V
[...]

--
Andreas Fester
mailto:Andreas.Fester@gmx.de
WWW: http://littletux.homelinux.org
 
Am Tue, 18 Jan 2005 19:04:27 +0100 hat Andreas Fester
<Andreas.Fester@gmx.de> geschrieben:

Hallo,

danke sehr für Eure Hinweise.
Die DGxxx sehen sehr interessant aus und sind sogar bezahlbar :)
Dabei bin ich auch noch auf MAX31x gestossen, das sind wohl die
erwähnten Schalter für > 40V und mit 10 Ohm Rds-on. Sind allerdings
so teuer dass man dafür schon fast vier DIL-Relais bekommt ;-)
Bischen suchen, was es genau gibt und nötig ist. Die 200V/150mA PhotoMOS
Relais vom pollin um 0,15/Stk. gibt es leider nicht mehr, ich hab sie
zumindest auf die schnelle nicht mehr gefunden.

Die viel wichtigere Frage wäre daher, ob es überhaupt sinnvoll ist
noch bis zu den 25V VPP zu gehen; früher gab es mal EPROMs die
26 V gebraucht haben, und wenn man VPP auf 20V einschränken
würde dann könnte man die DGxxx verwenden...

Wenn du keine uralten ICs programmieren willst, dann kommst du mit 13V aus
und kannst CD4066 oder MUXe - CD4051/4052/4053 verwenden, die 50 Ohm
stören sicher nicht.

--
Martin
 
[...]
26 V gebraucht haben, und wenn man VPP auf 20V einschränken
würde dann könnte man die DGxxx verwenden...
hab grad gesehen dass auch die DGxxx bei single supply
bis zu 30V vertragen.

Gruss,

Andreas

--
Andreas Fester
mailto:Andreas.Fester@gmx.de
WWW: http://littletux.homelinux.org
 
"Uwe Hercksen" <hercksen@mew.uni-erlangen.de> schrieb im Newsbeitrag news:41ECF699.2040101@mew.uni-erlangen.de...

musst Du wirklich jeden einzelnen Pin auch auf Masse schalten können?
Wie wäre es mit Reedrelais zum Anschalten der Versorgungsspannungen und der Masse an den IC, da wo auch wirklich Versorgungspins
sein können?

Du weisst, wie das ist:
Bei der Entwicklung denkst du an den einen IC der gerade zum
Programmieren auf dem Tisch liegt und an alle ICs deren
Datenblaetter du habhaft werden kannst.
Der zweite IC den du programmieren willst, ist garantiert ein
'ganz neuer, moderner' den das so entworfene Programmiergeraet
nicht kann.

Vergisst man die ganzen Pinbelegungen, und macht einfach 44
TTL-kompatible digital I/O+Ports, 2 programmierbare Spannungen
VCC und VPP (oder 4 Spannungen, davon eine negativ, wenn man
wirklich alte Bauteile programmieren koennen will), und sieht
zumindest 1 ausreichend schnelles Taktsignal als Quartzersatz
vor, wird das Universalprogrammiergeraet ploetzlich sehr einfach
und sehr universell.

Man steckt einfach 4 Kabel (GND, VCC, VPP, OSZ) auf ein Patchfeld,
die anderen Pins bleiben per Jumper durchverbunden zu den I/O's.

Hinter dem Jumper-Stecker sind dann fest verloetet 40polZIP und
alle PLCC von 20 bis 44.

Als Hobbyist kein Thema, man beschaeftigt sich sowieso nur jedes
halbe Jahr mit einer Chipsorte, und wer will, kann in den 96-poligen
Jumperstecker auch fertig gemappte Verdrahtungsplatinen stecken,
auf denen die dazugehoerige IC-Typennummer steht. Das geht schneller,
als aus einer Combobox den richtigen IC-Typ anzuwaehlen.
--
Manfred Winterhoff, reply-to invalid, use mawin at despammed.com
homepage: http://www.geocities.com/mwinterhoff/
de.sci.electronics FAQ: http://dse-faq.elektronik-kompendium.de/
Read 'Art of Electronics' Horowitz/Hill before you ask.
Lese 'Hohe Schule der Elektronik 1+2' bevor du fragst.
 
Hallo,

ich habe mir aufbauend auf Euren Anregungen nochmals ein
paar Gedanken in Verbindung mit dem Analogschalter-Ansatz gemacht.
Könnte diese Schaltung mehr Aussicht auf Erfolg haben als die
ursprüngliche?:

http://littletux.homelinux.org/analog1.jpg

Die verschiedenen Steuereingänge würde ich hardwaremässig fest so verdrahten
dass keine ungültigen Zustände auftreten können (sprich Analogschalter
geschlossen und T1 leitet, so dass VPP am 125/244 anliegt).

Oder ist es sicherer, den ZIF-Pin zwischen Logik und Spannung
umzuschalten, wie hier:

http://littletux.homelinux.org/analog2.jpg

Hier könnte man die beiden Transistoren gemeinsam schalten, da bei
log. 1 nur der untere und bei log. 0 nur der obere schaltet, aber beide
durch den Analogschalter vom ZIF-Pin (und vor allem vom 244/125) getrennt
sind).

So ähnlich würde ich mir auch eine Relais-basierte Lösung vorstellen
(1 Umschaltkontakt), und als Low-Cost-Lösung könnte man die von MaWin
favorisierte Steckkontakt-Variante realisieren indem statt Analogschalter
oder Relais eben Jumper zum manuellen Umschalten verwendet werden.

BTW: Das hier ist übrigens ein inzwischen schon etwas älteres Bild des
Prototyps, der bisher existiert:
http://littletux.homelinux.org/images/pict0001.jpg

Gruss,

Andreas

--
Andreas Fester
mailto:Andreas.Fester@gmx.de
WWW: http://littletux.homelinux.org
 
Am Tue, 18 Jan 2005 22:22:19 +0100 schrieb Andreas Fester
<Andreas.Fester@gmx.de>:

Hallo,

ich habe mir aufbauend auf Euren Anregungen nochmals ein
paar Gedanken in Verbindung mit dem Analogschalter-Ansatz gemacht.
Könnte diese Schaltung mehr Aussicht auf Erfolg haben als die
ursprüngliche?:

http://littletux.homelinux.org/analog1.jpg

Die verschiedenen Steuereingänge würde ich hardwaremässig fest so
verdrahten
dass keine ungültigen Zustände auftreten können (sprich Analogschalter
geschlossen und T1 leitet, so dass VPP am 125/244 anliegt).

Oder ist es sicherer, den ZIF-Pin zwischen Logik und Spannung
umzuschalten, wie hier:

http://littletux.homelinux.org/analog2.jpg
Das ist nicht nötig, wenn du über die Ansteuerlogik sicherstellst, daß die
PWR-Transistoren und der FET niemals gleichzeitig eingeschaltet werden,
ansosnten müßtest du die korrekte Umschaltung der AS sicherstellen.
Weiters fließt hier der Betriebsstrom des Chips über die Analogschalter,
die dadurch unnötig niederohmig sein müssen (-> teuer, hohe charge
injection, hier wahrscheinlich unwichtig). Ich würde allerdings zumindest
die GND Switches als MOSFETs ausführen - Logic-Level FETs, ohne
zusätzliche Widerstände an der 5V Logik. Bei den V_var Schaltern ist es
bipolar mit der Ansteuerung einfacher, du brauchst nur Open Collctor
Treiber, die 30V Vertragen, da war in 74xx (wahrscheinlich ohne LS) etwas.
Für FETs an V-var müßtest du die Gatespannung begrenzen, das würde
zusätzliche Z-Dioden bedeuten.

Hier könnte man die beiden Transistoren gemeinsam schalten, da bei
bringt nix. den oberen kannst du mit OC (GND oder offen) schalten, den
unteren mußt du mit Spannung (die aber deutlich kleiner 25V sein kann und
soll) schalten, du brauchst aso aufwendiger Treiber für diese
Transistoren, wenn du sie zusammenschaltest.

log. 1 nur der untere und bei log. 0 nur der obere schaltet, aber beide
durch den Analogschalter vom ZIF-Pin (und vor allem vom 244/125) getrennt
sind).

So ähnlich würde ich mir auch eine Relais-basierte Lösung vorstellen
(1 Umschaltkontakt), und als Low-Cost-Lösung könnte man die von MaWin
favorisierte Steckkontakt-Variante realisieren indem statt Analogschalter
oder Relais eben Jumper zum manuellen Umschalten verwendet werden.

Analogschalter oder FETs erscheinen mir hier die beste Variante, da würde
ich mich eher mit V_var <=15V bescheiden und 4066er verwenden, um zu
sparen, anstatt ein Steckbrett zu bauen.

Wie machst du die restliche Logik? Schieberegister? Ein kleines FPGA, was
je nach Chip reprogrammiert wird? das wäre recht elegant, da könnte man
auch die Verriegelung der Pintreiber (Logik/Power) reinbauen, dann kann
die ľC Software keinen Mist bauen. Oder eine ľC mit vielen Pins/externen
Latches?

--
Martin
 
Andreas Fester schrieb:

So ähnlich würde ich mir auch eine Relais-basierte Lösung vorstellen
(1 Umschaltkontakt), und als Low-Cost-Lösung könnte man die von MaWin
favorisierte Steckkontakt-Variante realisieren indem statt Analogschalter
oder Relais eben Jumper zum manuellen Umschalten verwendet werden.
Ich würde eher von der Jumperlösung abraten, dann lieber die
Zwischenplatinenlösung mit devicespezifischem Routing.
Es kann sonst schnell sehr ärgerlich werden wenn mal "mal eben schnell"
was brennen will und hat einen Jumper vergessen/falsch gesteckt oder
Wackler, womöglich noch bei einem OTP-Chip.
Man müsste es halt jedesmal an vielen Punkten genau richtig machen, im
Gegensatz zu einmal ein richtiges Layout und einmal die richtige Platine
einsetzten. Es wäre dann auch möglich bauteilnahe Komponenten wie Cs
unterbringen. Wenn man im Standardraster bleibt kann sich auch jeder
relativ schnell selbst was auf Lochraster fädeln.

Das ideale wäre natürlich eine niederohmige 40x40 Switchmatrix, aber
sowas gits wohl nicht in Silizium.

Noch ein Tip:
Ein gewisser Robert Rottmerhusen hat auch mal so ein Projekt gestartet,
vielleicht lohnt es sich ihn zu kontaktieren, er hatte eine Menge
Datenblätter und vermutlich auch schon eine Zuordnung ID-Codes zu
Parametern.
Er hatte als Prozessor einen M16C62 vorgesehen, was ich für eine gute
Wahl halte, hat ne Menge Pins, verträgt etwas höhere Spannung
(6,5VCCabsmax/+0,3ViH), läuft bis herunter zu 2,7V, und hat so ziemlich
alles was man an Peripherie braucht.
Es gibt auch eine neue Variante (M16/62P) mit zwei getrennten VCCs, so
kann man z.B. externe 5V und 3V Peripherie ohne Probleme betreiben.

Jörg.
 

Welcome to EDABoard.com

Sponsor

Back
Top