Beiträge von axorp im Thema „C64-Userport - erste Basteleien“
-
-
Die 4xxx brauchen WIMRE 70% Vcc für sichere "H"-Erkennung, das sind bei 5 V immerhin 3,5 V. Das muss ein CIA erst mal erreichen.
hallo kinzi,
mich musst du nicht überzeugen, ich selbst wollte es nicht hier, gegenüber anfängern erwähnen.
um die nicht noch mehr zu verunsichern, an was man da eigentlich alles denken muss, damit eine schaltung auch wirklich immer korrekt läuft.
wenn er die 3,5v h-pegel nicht korrekt erkennen kann, weil nur 2,4v im datenblatt vom CIA garantiert werden, dann könnte man, mit einem pull-up, etwas nachhelfen.
edit...was wiederum aber auch wieder den low pegel etwas anhebt, so können wiederum andere probleme dann entstehen.....usw.
lg
helmut -
Ja, wenn man keine klaren TTL-Verhältnisse will, dann nimmt man CMOS-ICs der 4xxx-Reihe.
ja, die sind nicht ttl-kompatibel.
zum ansteuernt von leds gehen die oder dann bei den 4xxx und den mit dem cmos pegeln bleiben.
so kann man dann auch die 74hc....benutzen, die haben auch keine ttl-pegel an den eingängen. aber dann schon an den ausgängen.
solange man leds benutzen und erfahrung sammeln möchte geht es.Ich wüsste Niemanden, der mit dem Fischertechnik Interface deshalb auch nur ein Problem hatte, egal auf welcher Platform.
kinzi meinte ja die pegel. die sind bei der 4xxx serie nicht ttl-kompatibel, auch nicht bei 5V.
gruß
helmut -
Das ist eins von vielen Problemen der CIA ist nicht dafür gedacht LED zu treiben.
Ist er etwas für Leute die die CIA Chips in Nullkraft Sockeln haben.
ja

-
Wenn man gegen GND auch einen Strombegrenzungswiderstand eingebaut hätte, ginge sich das mit den geforderten max. 0,4 V für sicheres "L" nicht mehr aus.
ja, es wäre dann nicht mehr so einfach gewesen.
-
Hier mal eine professionelle Version wie sie auch von Commodore,HP oder Proxa Computer hätte angeboten werden können:
Bitte melde dich an, um diesen Link zu sehen.
Dieses benutzt den IEEE488 Standard müsste also mit einem entsprechenden Interface auch am C64 funktionieren.
Man könnte sowas natürlich auch wie die 1541 seriell anschließen, dürfte dann aber um einiges langsamer sein.
so ein selbstständiges universal 6502 interface / rechner board hatte ich auch.
welches sogar ieee488 beidseitig hatte, rs232, lpt centronics parallel und auch den IEC ser. bus für z.b. den c64.
mit bis zu 256kb ram. den 6502 sockel benutzte ich, wie bei meinen anderen pet und cbm erweiterungen, wie einen expansionsbus. so gab es da kaum grenzen. es war ja ein kompletter rechner eigentlich gewesen.
programmiert hat ihn für mich der christoph wagener, aus meckenheim, später bonn.
ich hoffe ihm geht es gut. ich würde ihn gerne mal wieder sehen.
hier ist die version als ieee488 druckerpuffer zu sehen:
Bitte melde dich an, um diesen Link zu sehen.
Bitte melde dich an, um diesen Anhang zu sehen.
gruß
helmut -
Ein Kurzschluss gegen Masse hingegen ist harmlos, da der High-Side-Treiber "nur" eine Konstantstromquelle ist.
Das kann man leicht aus dem Datenblatt ablesen, da muss man keine Gerüchten verfolgen. Eine Ausgangsstufe (N-MOS-Transistor), die direkt nach GND zieht, will niemand direkt nach Vcc ziehen. Selbst wenn der Transistor mehr als 1,6 mA "abkönnte", würde er sterben. Und man sieht dort auch schön, dass nach Vcc ein "Begrenzungswiderstand" eingebaut ist, sodass bei einem Schluss nach GND eben genau nichts passiert.
so habe ich aber eigentlich gehofft, das man auch den low-side-treiber mit einer art konstantstromquelle versehen hat. warum es nicht gegen gnd und +V gleichzeitig schützen?
so wäre dann es ideal gewesen, wenn die dann es doch auch verhindert hätte.nur das dieser low-side-treiber, dann mehr strom treiben könnte. man muss doch nur dafür sorgen, das bei einem low, bis zu einem bestimmten strom, der low pegel eingehalten wird. so wie es im datenblatt dann auch steht. ich vermute aber mal, damals hatte man an soetwas nicht gedaht oder es hätte es etwas komplizierter gemacht. wobei, es geht ja nur um ein paar io-pins. aber daran zu sparen, wäre auch blödsinn. das einfache und schnellere low durchschalten war wohl wichtiger, als den chip besser abzusichern.
gruß
helmut -
so muss ich keinen 6526 quälen um das zu testen und 1570 hatte auch recht gehabt.
ohne einen widerstand für die strombegrenzung geht es nicht.
gruß
helmut -
Alles richtig gemacht: Einen Kurzschluss gegen Vcc killt den Port sobald er versucht Low auszugeben.
Ein Kurzschluss gegen Masse hingegen ist harmlos, da der High-Side-Treiber "nur" eine Konstantstromquelle ist.
danke

gruß
helmut -
Ich hab hier von einem ziemlich fähigen Forenkollegen eine "C64SPS" liegen. Mit Hardware Steckmodul...
32 Eingänge, 48 Ausgänge.
Erweiterbar auf ... ? äh .. Jew. 128 I/O's
Diddl
Das nutzt auch den 2803 als 'Treiber'...
Diddl 
eine ideale komplette lösung zum steuern und viel blink blink.
lg
helmut -
Wenn ich nicht zu viel gelöscht habe, was ich nicht glaube, müsste die Fischertechnik Software noch bedingt funktionieren.
die komplette schaltung würde mich interessieren.
leider ist ja alles mit schieberegistern aufgebaut, mit basic, mit peek und mit poke, dann viel umstendlicher und viel langsammer. um den faktor ca. 20 langsammer, so muss man maschinensprache routinen dann benutzen.man hat dann aber eigentlich keinen echten lernefekt mehr, wie die ports wirklich gesteuert werden sollen.
nichts geht über normales basic mit peek und poke

gruß
helmut -
Kann ich dafür dieses IC von Reichelt verwenden?
ULN 2803A Eight-Darlington-Arrays, DIL-18ja, die uln2803 können eine menge treiben. aber nur low. für z.b. relais oder kleine und schwache motoren.
wenn du mit leds experimentieren möchtest, dann geht es auch mit 74hct... ics.wenn du es nicht übertreibst. wie ich bereits geschrieben habe, die haben den vorteil, sie haben die schutzdioden schon eingebaut.
du kannst dann auch die low und die high pegel dann benutzen. weil die 74hct...(74hc) beides treiben können.
trotzdem bitte noch die externen dioden benutzen. sicher ist sicher.
ich würde dir den 74hct573 (in der not den 74hc573) empfehlen.es ist ein transparentes latch, welches du auch als normalen treiber, ohne einem latchen oder einem takt, betreiben kannst. der hat auch gegenüber einem funktionskompatiblen 74hct373 den vorteil, die eingänge und die ausgänge liegen immer alle an der einen seite. somit kann man den 74hct573 einfacher verdrahten.
klar geht aber auch der 74hct373, wenn du den da hast. dann musst du etwas mehr verdrahten.
gruß
helmut -
Im Grunde genommen ist das eine Schaltung die aus dem Expansion Port eine Art doppelten User Port macht.
Ich hatte diese Schaltung im Kopf:
Bitte melde dich an, um diesen Link zu sehen.Die ist aber genauso für den Expansion Port gewesen Sie ist praktisch von der Funktion gleich nur das diese einen PIA statt einer VIA benutzt und keinen zusätzlichen 7474 benötigt.
da war ich doch am staunen, über eine schaltung, die keinen 7474 benötigen soll.
wo ich, als der c64 herauskam, so große probleme hatte, die vc20 ieee488 bus schaltung, die ich von commodre damals fast 1:1 für den vc20 auch übernommen hatte, weil commodore mich gebeten hatte, die zu produzieren, da sich die stückzahlen, für die nicht gelohnt hatten.
die dann auf dem c64, zum laufen zu bekommen. selbst commodore konnte mir da nicht helfen.bis ich mühsam heraus bekommen habe, das es ja auch garnicht klappen konnte. da, wenn phi2 high wird, erst die adressleitungen und das r/w vorhanden ist. die 652x ics aber diese adressdaten schon in der phi2 low phase, also bevor phi2 high geht, schon stabil, benötigen.
so musste ich damals, phi2, mit einem monoflop etwas verzögern. damit die adressdaten auch vorher schon stabil anliegen. das funktionierte dann immer.
erst später sah ich die 7474 schaltung, in einem commodore schaltplan, ich glaube es war die z80 karte, mit dem dot clock. so habe ich die dann auch für meine schaltungen übernommen. da ich monoflop und rc verzögerungen nicht so mag.
so war ich nun am staunen, das es doch ohne einem 7474 gehen soll, wo ich doch jede wette annehmen würde, ohne geht es nicht.so habe ich mir den oberen link und den test angesehen. und es ist wieder eine schaltung, die ein flop ist, die nie und nimmer richtig funktionieren kann. da hat wohl eine es mal aufgebaut, wie so oft, dann waohl mal kurz getestet und schon in serie produziert oder sogar einen artikel veröffentlicht.
es kann nicht funktionieren.
da wird der dot clock an den E = phi2 takt eingang eines 6821 = 6820 = 6520 = 6521 gelegt.
dot clock ist ein 8 MHz takt! und die 682x und die 652x können ja nur 1Mhz vertragen. selbst wenn man die damaligen schnellsten, seltenen und sehr teueren typen mit 4MHz "C" gekauft hätte, würde es nicht stabil funktionieren. die 682x, von motorola gab es damals nur maximal mit 2 MHz. z.b. den 68B21.
nur die späteren, in CMOS, konnten schneller.
sieht man sich das datenblatt eines 6821 an. dann steht da für den E = phi2 clock eingang, minimum pulsbreite von 430 ns low und 450 ns für high. also nicht wie beim dot clock die pulsbreite von nur ca. 63 ns.
die obere schaltung nicht nachbauen, wenn nur mit der 7474 schaltung um den dot clock zu verzögern.
gruß
helmut -
Ist das eigentlich beim CIA belegt, dass die IOs bei einem Logik-Kurzschluss sterben?
ich habe immer einen kurzschluss gegen die versorgungsspannung vermieden. weil ich immer ein schlechtes gewissen da hatte. wenn man die schaltung mit den dioden und den serienwiderstand hat, dürfte da auch nichts passieren. ich möchte nicht wirklich wissen, was meine kunden da alles, aus versehen, angestellt haben.
trotzdem möchte ich es nun wissen. da es ja eine diskusion, vor ein paar tagen, betreff einer joystickumschaltung vom ClausS gab. so würde ich eine teildefekte cia, wenn ich eine in die finge bekomme, dann opfern und die mal, mit viel wumms, ohne eine schutzschaltung gegen +5v x mal hin und her schalten. um zu sehen ob sie es überlebt oder doch hops geht. ein ne555, hat mit +-200mA dafür genug wumms.Es werden ja häufig die Gerüchte verbreitet, dass das bei Logik-ICs generell so wäre. Was aber Unsinn ist. Außer bei Treiber-ICs, wo ordentlich Strom fließen kann.
Ich frage mich, ob das beim CIA auch so ein Gerücht ist, oder ob das experimentell belegt ist.
ja, würde ich gerne mal auch klären. und einen cia opfern.
früher habe ich aber jeden auch gewarnt, es zu machen. bis ich herausbekommen habe, das eine negative spannung, egal wie kurz die nur angelegt wird, viel mehr schanden anrichtet, als eine positive überspannung.
das könnten aber die leute besser erklären, die sich mit dem chip design auch auskennen.
wie z.b. der androSID
gruß
helmut -
wenn Du den C64 und Dein Gebastel galvanisch trennst, gar nix?
Also z.B mit nem Optokoppler?
ja, machte ich sehr oft sicherheitshalber für meine kunden auch.
sicher ist sicher
die kunden, die längere kabel benutzten, maschinen steuerten oder externe signale messen und erfassen mussten, bekamen oft nur die optokoppler versionen.
am anfang hatte ich mit dem fraunhofer institut probleme gehabt, weil die meine umgebauten commodore boards, nicht so optimal benutzten. so musste ich manches noch besser und sicherer lösen, damit es dann garkeine ausfälle mehr gab.
gruß
helmut -
Das gabs ja damalstm auch "zeitgemäß" von REX:
war aber auch nicht sicher. da wurde an ein paar pfennigen gespart, da fehlen die schutzdioden.
um den ttl ic zu schützen. eine negative spannung haute, dann über den ttl-ic, auch die cia kaputt.
am anfang habe ich es aber ja auch so gemacht. bis ich dann mich wirklich mal damit beschäftigt habe, um meinen kunden zu helfen.
wenn man, wie von mir schon oben erwähnt, nun einen pinkompatiblen 74hct... nehmen würde, der hat die schutzdioden schon eingebaut mit einen serienwiderstand, dann hätte man schon einen guten schutz. trotzdem würde ich heutzutage an den externen dioden nicht sparen. ich möchte keine 65xx / 85xx unnötig sterben sehen.
gruß
helmut -
"Nur" CIA2 oder zerlegt es dann nach Murphys Law auch schon hin und wieder mal das halbe Board?

leider ja, wie bereits oben geschrieben.
Das schlimmste was Du machen kannst ist 9VAC mit ATN verbinden das kann dir einiges im C64 und in der Floppy grillen.
Daher obige Platine die die 9V AC gar nicht zum Steckbrett leitet.ja, da kommt mehr als nur die maximal erlaubten -0,3V an
dann stirbt dein halbes board oft mit.man sollte den user-port, aber auch die anderen stecker, nie während dem betrieb anstecken.
wenn man verkantet und die masse / gnd hat nicht zuerts kontakt und alles wird über die anderen pins zuerst abgeleitet, dann viel spass beim reparieren. oft ist es nicht mit nur einem ic dann getan.
-
Danke! Das heißt, wenn ich nur eine LED an einem Port hängen habe, kann in der Hinsicht eh nichts passieren?
wie von anderen schon erwähnt. nur mit einem treiber oder einem transistor.
Eventuell kannst Du Serienwiderstände an die IO-Pins löten, die das Signal bei korrekter Beschaltung nicht allzusehr dämpfen, im Ausgang-auf-Ausgang-Fall aber den Strom so begrenzen, dass die CIAs nicht kaputt gehen.
Vielleicht hat axorp da einen guten Tipp.um einen maximalen strom von 5mA, bei einer angelegten max. 5V spannung, zuzulassen, müssten die serienwiderstände aber ja 1000 ohm haben.
das geht dann nur, wenn man keine normalen ttl-ics benutzt. da ttl-ics nicht hochohmig am eingang sind, so würden die, den pegel nicht mehr korrekt erkennen können. da ja an einem 1 kohm widerstand eine hohe spannung abfällt.
soweit ich mich erinnern kann, würde die CIA, da sie hochohmige eingänge hat, obwohl sie ja ttl-kompatible ein und ausgänge (pegel) hat, es trotzdem korrekt erkennen.
so würde ich heutzutage die 74hctxxx nehmen, die sind auch am eingang hochohmig.so dürfte denen auch ein 1000 ohm widerstand in serie nicht stören.
getest habe ich es nicht, damals gab es die noch nicht und später musste ich solche probleme auch nicht mehr lösen. da benutzte ich meine alten schaltungen weiter.da heutzutage man wirklich alles versuchen sollte, damit nun die seltenen 65xx ic nicht hops gehen.
würde ich es mit den 1 Kohm widerständen versuchen. nach dem moto sicher ist sicher.
was man aber machen muss, was ich damals schon machte, jeder io-pin sollte einen diode an +V und gegen gnd haben. um eine überspannung in die versorgungsspannung abzuleiten. was ja commodore auch bei c64 später macht. so wurden alte c64 boards dann auch damit nachgerüßtet. das kann man an den huckepack gelöteten und zusetzlich auf dem board gelöteten dioden erkennen. bei den neuem c64 boards, sind diese dioden dann auch im schaltplan zu sehen.
so würde ich einen input-port pin nun nicht nur durch die beiden dioden schützen sondern auch durch einen widerstand in serie, da durch die dioden eine überspannung abgeleitet wird, würde ich einen 330 ohm widerstand da nehmen. der den eingangstrom dann auf 15 mA begrenzt.
einen output-port pin muss man eigentlich nicht schützen, wenn es einen transistor oder einen treiber ansteuert. trotzdem habe ich damals da die beiden dioden benutzt.
weil ich damals viele 6526 untersucht habe, und die meisten sind wohl nicht durch eine überlastung gestorben, sondern durch eine überspannung. so wie ich damals festgestellt habe, durch eine negative überspannung. in den datenblättern ist ja auch maximal nur -0,3V zugelassen. so haut wohl eine negativ auftreten spannung die ganzen ics kaputt. ich bin sogar der meinung, je nachdem, wie und wo sie auftrift, haut sie auch viele andere ics, also auch die nachfolgenden, mit kaputt. so habe ich boards gehabt, wo es auch die vielen drams mit erwischt hat. ich dachte am anfang immer, es wäre eine positive überspannung gewesen und iich habe vieles noch besser dann abgesichert gehabt, trotzdem hatte ich kunden gehabt, wo es doch noch vorkam, das manche ics hops gingen, trotz soviel absicherung.
bis ich auf die idee kam, es könnte doch da etwas negatives sich einschleichen, so habe ich dann diese dioden benutzt. besonders die gegen gnd.
inzwischen haben fast alle neuen ics innen diese dioden schaltung, an den eingängen und den ausgängen. nur nicht an den ausgängen, die höhere spannungen steuern können, als die versorgungsspannung vom ic selbst.
in den z.b. 74hc...und 74hct sind die auch schon vorhanden, damit die schutzdioden nicht überlastet werden muss der strom, durch einen serienwiderstand auch begrenzt werden.
so habe ich die eingänge der 74hc / 74hct.. parallel zu den io-ports damals geschaltet und ich benutzte die internen dioden zum schutz für die 65xx ics mit.
trotzdem packte ich die beiden dioden dann immer noch extern als schutz mit drann. besonders wenn längere kabel da benutzt wurden oder es sich um einen board einsatz, in einer maschine, gehandelt hatte. nach dem motto sicher ist sicher.diese dioden sind auch in den mikrocontrollern vorhanden.
hier habe ich vor ein paar tagen auch noch etwas dazu geschrieben, auch die wichtigen durchlasspannungen der dioden da erwähnt:
Bitte melde dich an, um diesen Link zu sehen.
da kann man die beiden dioden und den serienwiderstand auch sehen.
ich benutzte auch einen brückengleichrichter anstatt der 4 dioden um dann gleich zwei der io-ports zu schützen. das habe ich seit nun über 45 jahren noch bei keinem anderen gesehen.
gruß
helmut