Anschließen einer Computerkassette im 80er-Jahre-Stil an ein FPGA

9

Ich implementiere einen Microbee-Computer aus den 1980er Jahren auf einem FPGA neu (siehe hier ) und versuche herauszufinden, wie der Kassettenanschluss funktioniert. Hier sind die Schaltpläne für die ursprüngliche Microbee-Kassettenschnittstelle:

MicrobeeSchematic
(Quelle: toptensoftware.com )

Ich habe diese Beschreibung auch in einem technischen Handbuch gefunden:

Der Kassettendatenausgang besteht lediglich aus einem RC-Netzwerk, das ein Signal von DB1, Pin 28 des PIO, akzeptiert. Das Signal wird gedämpft und dann entkoppelt, bevor es an den MIC-Eingang des Kassettenrekorders gesendet wird. Dieses Signal erscheint an Pin 3 der 5-poligen DIN-Buchse.

Die Kassettendateneingangsschaltung ist etwas komplizierter. Der Eingang von Pin 5 der DIN-Buchse wird zuerst an einen Attentuator-Entkoppler weitergeleitet. Darauf folgt ein CA3140-Operationsverstärker, mit dem ein breiter Bereich von Eingangspegeln quadriert werden kann, bevor das Signal an Pin 27 des PIO, DBO, weitergeleitet wird. Die beiden Dioden an den invertierenden und nicht invertierenden Eingängen des Operationsverstärkers schneiden alle Eingangssignale ab, die in beiden Richtungen größer sind als die Durchlassspannung der Dioden. Der 47pF-Kondensator wird vom CMOS-Operationsverstärker zur Vorkompensation benötigt.

Meine Fragen:

  1. Was bedeutet "entkoppelt" in der Beschreibung?
  2. Würde dieselbe Schaltung funktionieren, wenn sie an zwei der E / A-Pins eines Xilinx Spartan 6-FPGA (über den PMod-Anschluss eines Nexys3) angeschlossen wäre, und wenn nicht, könnte sie so angepasst werden, dass sie funktioniert?

Erster Versuch, basierend auf Kommentaren in Antworten, aber der Ausgangswiderstand sollte nicht in Reihe geschaltet sein.

Ich lasse dies hier aus Kontext- und Anleitungsgründen, siehe den nächsten Schaltplan

MicrobeeSchematic2 http://www.toptensoftware.com/fpgabee/MicrobeeCassettePortSchematic2.png

Neue Fragen:

  1. Ist die Polarität des Komparators korrekt?
  2. Geht Vss beim MCP6546 auf Masse und Vdd auf 3,3 V?
  3. Ich bin mir nicht sicher, was ich mit dem "gepunkteten" Widerstand über den Bandeingängen in der Originalschaltung anfangen soll.

Rückmeldung über den Ausgang des Komparators mit offenem Abfluss:

MicrobeeSchematic3 http://www.toptensoftware.com/fpgabee/MicrobeeCassettePortSchematic3.png

Welche Alternativen könnte ich für den MCP6546 verwenden, den ich hier in Australien in Einzelhandelsgeschäften nicht finden konnte? Ich kann LM311 oder LM393 bekommen, die, soweit ich das beurteilen kann, ähnlich sind. Funktionieren diese genauso gut?

Brad Robinson
quelle

Antworten:

6
  1. Entkopplungskondensatoren sind in Stromversorgungen von Schaltkreisen bekannt, wo sie dazu dienen, die Versorgungsspannung frei von (hochfrequentem) Rauschen zu halten. Ich habe jedoch den Eindruck, dass hier das Entfernen des Gleichstromgehalts Ihres Signals mit einem Reihenkondensator gemeint ist, wie es C24 für den Eingang tut. Was je nach Ihrer Sichtweise (DC oder AC) als Koppelkondensator bezeichnet werden kann. Aber es gibt keinen Kondensator, der dies an Ihrem Ausgang tut. Der Wert von C23 ist ebenfalls verdächtig niedrig. Die Grenzfrequenz mit den Widerständen R23 und R24 beträgt 12 kHz, was unbrauchbar ist, da dies ohnehin im Frequenzbereich der Kassette liegt. Ich würde hier lieber 5 kHz erwarten. Auch der Text spricht vom MIC-Eingang, dafür ist der Ausgangspegel jedoch zu hoch. Das Schema erwähnt die Leitungseingabe.

  2. Der CA3140 ist nicht gut. Die minimale Betriebsspannung beträgt 4 V, und bei 5 V steigt der Ausgang nicht höher als 3 V, sodass bei einer 4-V-Versorgung die Spannung möglicherweise nur 2 V beträgt und für den Spartaner möglicherweise nicht ausreicht. Verwenden Sie stattdessen einen Rail-to-Rail-Operationsverstärker oder noch besser einen Komparator.

Bearbeiten Sie Ihre neuen Fragen

  1. Die Polarität ist in Ordnung, da es keine Rolle spielt :-). Sie haben ein Wechselstromsignal über und unter der Erde. Wie Sie es gezeichnet haben, führen die positiven Halbzyklen dazu, dass der Ausgang auf Vcc geht, der negative auf Masse. Wenn Sie die Eingänge umschalten, haben Sie das Gegenteil, aber beide Signale sehen gleich aus.

  2. Ja.

  3. Ich würde es ignorieren. Es scheint keine andere Funktion zu haben als das Laden der Ausgabe, und außerdem, wenn Sie es auszeichnen, möchten Sie ignoriert werden :-).

Wichtig an R1: Dies sollte an Vcc gehen, Ihre 3,3 V, nicht in Reihe mit dem Ausgang. Der Open-Drain-Ausgang bedeutet, dass nur ein FET den Ausgang auf Masse schaltet, sodass er nur niedrig und nicht hoch sein kann. Der Pull-up-Widerstand macht den Ausgang hoch, wenn der FET ausgeschaltet ist.

stevenvh
quelle
"Entkopplung bedeutet normalerweise, den Gleichstromgehalt Ihres Signals mit einem Reihenkondensator zu entfernen" - ist eine Reihenkappe nicht ein Koppelkondensator? Eine Entkopplungskappe entfernt den AC-Inhalt.
Kellenjb
@Kellen - Oh je. Ja, Sie haben Recht, besonders wenn Sie daran denken, Stromversorgungsleitungen zu entkoppeln. Hier habe ich darüber nachgedacht, den DC vom Signal zu entkoppeln :-).
Stevenvh
@stevenvh Danke für die ausführliche Antwort, obwohl einiges von dem, was du sagst, über meinen Kopf geht. Ich habe nur begrenzte Elektronikkenntnisse, aber ich habe versucht, sie zu erweitern, deshalb habe ich mich gerade über RC-Schaltungen, Operationsverstärker und Komparatoren informiert. Ich sollte diese wahrscheinlich als separate Fragen posten, aber: 1) wie sind Sie auf 12 Hz gekommen und 2) können Sie einen Komparator empfehlen? Ich hoffe tatsächlich, dies von den auf dem PMod verfügbaren 3,3 V zu vertreiben, wenn dies möglich ist.
Brad Robinson
Sie haben auch Recht, der Microbee hatte einen Line-Level-Ausgang, keinen Mic-Level. Was mich neugierig macht - wie können Sie das so ändern, dass es auf Mikrofonebene funktioniert (ich denke darüber nach, dies zur Aufnahme an ein iPhone zu senden).
Brad Robinson
@Brad - kHz! nicht Hz. Grenzfrequenz = 1 / (2 pi RC), wobei R die Parallele von R23 und R24 ist ( diese Antwort erklärt, warum). Also ist f = 1 / (2 pi 1,3 k 10 nF) = 12,2 kHz. Dies ist ein geeigneter Komparator. Sie müssen dem Ausgang einen 10k-Pull-up-Widerstand hinzufügen. Ω
Stevenvh
3

Reihenkondensatoren werden normalerweise als "Kopplungs" -Kondensatoren bezeichnet, da sie die Wechselstromkomponente des Quellensignals mit dem Ziel koppeln. Entkopplungskondensatoren sind Nebenschlusskondensatoren, die die Kopplung von Wechselstromsignalen von der Quelle zur Detektion verhindern sollen.

In diesem Zusammenhang entkoppelt C23 die Hochfrequenzkomponenten des PIO gegen Masse, so dass der Rechteckwellenausgang gerundet wird, dh ungefähr sinusförmig (Ihr zitierter Artikel bezieht sich bei der Beschreibung des Ausgangs an den Bandanschluss auf "Entkopplung" und muss sich daher darauf beziehen C23).

MikeJ-UK
quelle
Es bezieht sich jedoch auch auf einen "Dämpfungsglied-Entkoppler" in der Eingabe des Tonbandgeräts, weshalb ich mich wunderte, dass sie damit zwei verschiedene Dinge bedeuteten.
Oli Glaser
1

Die gezeichnete Schaltung sollte wahrscheinlich mit einem FPGA funktionieren, wenn der IC35 ein 0 bis 3,3-Volt-Signal ausgibt. Eine kleine Einschränkung ist, dass ein Signal, das als einzelne ansteigende oder abfallende Flanke erscheinen sollte, als schnelle Folge von ansteigenden und abfallenden Flanken erscheinen kann, die sich einige Mikrosekunden später hoch oder niedrig einstellen, da der Kassetteneingang keine Hysterese aufweist . Dies sollte kein Problem sein, wenn Sie Ihr FPGA so gestalten, dass es Eingangsänderungen ignoriert, die weniger als z. B. 10 Mikrosekunden dauern, und alle Eingangsänderungen ignoriert, die innerhalb von 20 Mikrosekunden nach einer erkannten Änderung auftreten, aber wenn Ihre Logik versucht, die Längen zu messen von Eingangsimpulsen ohne Durchsetzung einer Mindestlänge könnte es Probleme geben.

Superkatze
quelle
1
  1. Das "Entkoppeln" in diesem Szenario bezieht sich wahrscheinlich sowohl auf den Reihenkondensator, der Gleichstrom blockiert (C24), als auch auf den C-Teil des RC (C23), obwohl es für C24 ein "Koppelkondensator" sein sollte (Entkopplung wird auch verwendet, um sich auf den zu beziehen DC-Blockierungsfunktion, aber ich denke, es wird auf diese Weise verwirrend, da dies normalerweise die "andere Art" bedeutet, die Wechselstrom gegen Masse umleitet) und "Entkopplung" für C23 (wenn überhaupt).
    Die Kopplungskappe wird üblicherweise in Audioverstärkerschaltungen verwendet Damit kann der einstufige Eingang unabhängig vom DC-Ausgangspegel der vorherigen Stufen vorgespannt werden.

  2. Ja, solange Sie den Operationsverstärker mit der gleichen Spannung wie die FPGA-Pins (z. B. 3,3 V, 2,5 V usw.) anstatt der gezeigten 5 V versorgen. Sie sollten in der Lage sein, so ziemlich jeden Opamp für die Komparatorfunktion zu verwenden (Rail to Rail ist vorzuziehen, um die Dinge zu vereinfachen, wie Steven sagt, aber nicht unbedingt erforderlich, solange Sie den FPGA-Eingang min-high max-low erfüllen).

Oli Glaser
quelle