Habe Widerstände benutzt. Habe einfach ein Debian für die Beere benutzt und dann das Kernelmodul kompiliert. Ist ein wenig fummelig in meiner Erinnerung muss man den passenden Kernel-Sourcecode erstmal finden der befindet sich ja zum Glück bei Github.
Hallo Besucher, der Thread wurde 19k mal aufgerufen und enthält 40 Antworten
letzter Beitrag von Phasengleich am
Raspberry Pi als 1541 Emulator
- decoderone
- Erledigt
-
-
Verwende ebenfalls das Raspbian. Habe aber nicht die Schaltung mit den Widerständen benutzt sondern die mit den Levelshiftern.
Vielleicht mache ich hier noch etwas falsch? Das Kernel Modul hat auch Fehler beim Kompilieren ausgespuckt, wenn man NUMPINS auf 5 setzt (statt auf 3) hab was umschreiben müssen. Vielleicht ist hier noch etwas falsch? Oder die Pegel passen nicht, muss erst mal mit einem Oszi nachmessen. -
es muss jeder Prozessortakt synchron zur Realität umgesetzt werden - 1 Million Synchronisationszeitpunkte pro Sekunde
Naja, wie schnell kann sich maximal eine Ausgangleitung am CIA ändern in der Praxis, alle 4µS oder sowas (zwei nachfolgende STA $XXXX)? Dann hätte man maximal 250.000 Synchronisationspunkte pro Sekunde bei höchstens 1µS erlaubtem Jitter, wobei bei vielen Protokollen durchaus in der Praxis mehr Jitter erlaubt ist und die 1µS-Anforderungen auch sowieso nur kurzzeitig da sind (in den inneren Transferschleifen). Wenn man sd2iec-mäßig die Protokolle nachimplementiert und entsprechend weiß, wann das Timing relativ relaxt ist und wann nicht, könnte man das vielleicht sogar als normales Linux-Kernel-Modul machen (im nicht-RT-Linux kann ein Modul sogar ein CLI machen), ähnlich wie das das hier erwähnte ninepin auch macht. Bei RTLinux ist CLI wohl nicht erlaubt, insofern wäre da so ein Vorhaben evtl. sogar schwieriger, wobei die da wohl normal auf Jitter von nur wenigen µS kommen. Wäre vielleicht mal ein paar Experimente wert...
-
Hallo!
Kann mir jemand von den Elektronikern unter euch sagen, ob dieser Schaltplan so funktionieren kann?
Die VCC ist jeweils vom Raspberry Pi Connector abgegriffen./OE ist bei beiden Chips auf GND
DIR ist einmal auf VCC und einmal auf GNDDie anderen Ein- und Ausgänge sind nicht beschaltet, vielleicht sollte man die noch auf definiertes Potential geben?
Vielleicht ist die Last am PI zu hoch? -
Kann mir jemand von den Elektronikern unter euch sagen, ob dieser Schaltplan so funktionieren kann?
Nein:- Der 74HCT245 erwartet eine Versorgungsspannung im Bereich von 4.5 bis 5.5V
- Der 74HCT245 mag an seinen Eingängen keine Spannungen oberhalb seiner Versorgungsspannung
- Der 74HCT245 hat "normale" Ausgänge, die die Leitungen sowohl auf Low- als auch auf High treiben können. Der serielle Bus des C64 erfordert aber Open-Collector-Ausgänge, bei denen können Chips die Leitung nur auf Low treiben und der High-Zustand entsteht durch einen Pullup-Widerstand wenn kein Chip den Bus auf Low zieht.
-
-
Ich werde wohl die einfache Schaltung mit den 6 Widerständen bauen
-
Mit den 6 Widerständen hats auf Anhieb funktioniert,
-
Danke Unseen für Nummer 25.
jomodore
-
Hallo alle zusammen. Möchte diesen Thread mal aus der Versenkung holen, da ich dies mal selber testen möchte.
Steige nicht so ganz bei den Sachen bei GitHub durch.
Möchte die Schaltung gerne mit den Spannungsteilern aufbauen.
Ich weiß also, dass ich zu den drei Datenleitungen jeweils 2 Widerstände brauche.
1x 1,5kOhm und 1x 1kOhm.
Jetzt meine Frage. Wenn ich das auf einem Lochraster aufbaue und mit dem PI verbinde wo bekomme ich die 5V her? vom GPIO? und der untere Anschluss kommt doch dann an Masse. Habe ich das richtig verstanden? -
Ich denke mal das Prob bei den Levelshiftern ist das diese keine 3,3V können die im Plan benutzt wurde wie der Vorredner schon sagte mit welchen die 3,3V können dürfte das im Prinzip gehen.
-
Wollte das ja nicht mit den Level-Shiftern aufbauen, sondern mit den Spannungsteilern.
-
Zitat
C64 erfordert aber Open-Collector-Ausgänge
Ist doch klasse. Dann nimmst du $NPN-Transistor oder $N-Channel-FET, (beim BJT) nen Basiswiderstand und klemmst das Teil an den Bus. Sollte funktionieren. Invertiert halt das Bus->Pin Signal, aber das wird ja sowieso in Software erzeugt/ließe sich dort gleich handeln.Viele Grüße,
Tobias -
Hallo,
bin durch Zufall hier gelandet. War früher schonmal im Forum angemeldet, aber Login war aufmal wech.
Ich habe ähnliche Probleme wie meine Vorredner. Was ich weiß, ist, dass der C64 am IEC 5V liefert, daher die Spannungsteiler, richtig? Der Raspberry kommt bekanntermaßen ja nicht mit 5V am GPIO zurecht, sondern lediglich mit 3.3V. Könnte mir jemand eine einfache Skizze anfertigen? Das wäre sehr nett.
Gruß -
Hallo,
bin durch Zufall hier gelandet. War früher schonmal im Forum angemeldet, aber Login war aufmal wech.
Ich habe ähnliche Probleme wie meine Vorredner. Was ich weiß, ist, dass der C64 am IEC 5V liefert, daher die Spannungsteiler, richtig? Der Raspberry kommt bekanntermaßen ja nicht mit 5V am GPIO zurecht, sondern lediglich mit 3.3V. Könnte mir jemand eine einfache Skizze anfertigen? Das wäre sehr nett.
GrußHier gibts jede Menge Skizzen zu Pegelwandlern:
http://www.mikrocontroller.net/articles/Pegelwandler -
So, komme ich so hin? Hab vergessen, zu erwähnen, dass ich dat per Spannungsteiler machen wollte.
Gruß -
So, komme ich so hin? Hab vergessen, zu erwähnen, dass ich dat per Spannungsteiler machen wollte.
GrußNein so stimmt das nicht, bitte im Repository des Projekts nachlesen.
-
Soooo, nach langer Zeit und Rücksprache mit tulan - danke nochmal - habe ich erst den Spannungsteiler aufgebaut und dann einen bidirektionalen Levelshifter benutzt. Beides ohne richtigen Erfolg. Komisch ist, dass es immer das erste Mal nach Kompilierung des Kernelmoduls funktioniert, sprich: LOAD"$",8. Danach geht LIST problemlos. Wenn ich dann ein Programm laden möchte oder das Ganze nochmal aus und wieder an mache, geht das Leiden los. Es kommt zwar eine Verbindung zustande, nur wird falsch übertragen wohl. Hier die Ausgabe des Raspberry-Programms.
Wie zu sehen. war der Befehl einmal erfolgreich. Danach nichts mehr.Sent from my Moto G 2014 using Tapatalk
-
Wie hiess denn dsas Programm was Du da laden wolltest? Hast Du die Byte-Werte der Schrottzeichen die ankommen?
-
Der Witz ist, dass das alles LOAD"$",8 Befehle waren. Also kein Programm direkt.