Conexión de un casete de computadora estilo años 80 a un FPGA


9

Estoy reimplementando una computadora Microbee de 1980 en un FPGA (ver aquí ) y tratando de descubrir cómo hacer el puerto de cassette. Aquí están los esquemas para la interfaz de cassette Microbee original:

MicrobeeSchematic
(fuente: toptensoftware.com )

También encontré esta descripción en un manual técnico:

La salida de datos del cassette consiste simplemente en una red RC que acepta una señal de DB1, pin 28 del PIO. La señal se atenúa y luego se desacopla antes de enviarla a la entrada MIC de la grabadora de cassettes. Esta señal aparece en el pin 3 de la toma DIN de 5 pines.

El circuito de entrada de datos de cassette es un poco más complicado. La entrada del pin 5 del zócalo DIN pasa primero a un atenuador-desacoplador. Después de esto, hay un amplificador operacional CA3140, para permitir que se cuadre una amplia gama de niveles de entrada antes de que la señal pase al pin 27 del PIO, DBO. Los dos diodos a través de las entradas inversoras y no inversoras del amplificador operacional acortan cualquier señal de entrada mayor que el voltaje directo de los diodos en cualquier dirección. El condensador operacional CMOS requiere el condensador de 47pF para la precompensación.

Mis preguntas:

  1. ¿Qué significa "desacoplado" en la descripción?
  2. ¿Funcionaría el mismo circuito si estuviera conectado a dos de los pines de E / S en un Xilinx Spartan 6 FPGA (a través del conector PMod en un Nexys3) y, de no ser así, ¿podría adaptarse para que funcione?

Primer intento, basado en comentarios en las respuestas, pero la resistencia de salida no debe estar en serie.

Lo dejo aquí por razones de contexto y de instrucción, consulte el siguiente esquema

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

Nuevas preguntas

  1. ¿Es correcta la polaridad del comparador?
  2. Para el MCP6546 , ¿Vss va a tierra y Vdd a 3.3V?
  3. No estoy seguro de qué hacer con la resistencia "punteada" a través de las entradas de cinta en el circuito original.

Incorporando retroalimentación con respecto a la salida del comparador siendo de drenaje abierto:

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

¿Qué alternativas podría usar para el MCP6546, que no he podido encontrar en tiendas minoristas aquí en Australia? Puedo obtener LM311 o LM393 que, por lo que puedo decir, son similares. ¿Funcionarán igual de bien?

Respuestas:


6
  1. Los condensadores de desacoplamiento se conocen en las fuentes de alimentación de los circuitos, donde sirven para mantener limpia la tensión de alimentación del ruido (de alta frecuencia). Pero tengo la impresión de que eliminar el contenido de CC de su señal significa, por medio de un condensador en serie, como lo hace C24 para la entrada. Lo cual, dependiendo de su punto de vista (CC o CA) puede llamarse un condensador de acoplamiento. Pero no hay condensador que haga esto en su salida. El valor de C23 también es sospechosamente bajo. La frecuencia de corte con las resistencias R23 y R24 es de 12 kHz, lo cual es inútil, porque de todos modos eso será aproximadamente el rango de frecuencia del casete. Prefiero esperar 5 kHz aquí. Además, el texto habla de la entrada MIC, pero para eso el nivel de salida es demasiado alto. El esquema menciona la entrada de línea.

  2. El CA3140 no es bueno. Su voltaje de funcionamiento mínimo es de 4 V, y a 5 V la salida alta no sube a más de 3 V, por lo que para un suministro de 4 V puede ser tan bajo como 2 V, y eso puede no ser suficiente para el Spartan. Utilice un opamp Rail-to-Rail en su lugar, o incluso mejor un comparador.

editar re sus nuevas preguntas

  1. La polaridad está bien, ya que no importa :-). Tiene una señal de CA que va por encima y por debajo del suelo. Como lo ha dibujado, los semiciclos positivos harán que la salida vaya a Vcc, lo negativo a tierra. Si cambia las entradas, tendrá el reverso, pero ambas señales tendrán el mismo aspecto.

  2. Si.

  3. Lo ignoraría. No parece tener una función que no sea cargar la salida, y además, si la puntúa, está pidiendo que se le ignore :-).

Lo importante sobre R1: esto debería ir a Vcc, su 3.3 V, no en serie con la salida. La salida de drenaje abierto significa que solo hay un FET que cambia la salida a tierra, por lo que solo puede ser baja, no alta. La resistencia pull-up hará que la salida sea alta cuando el FET esté apagado.


"El desacoplamiento normalmente significa eliminar el contenido de CC de su señal por medio de un condensador en serie". ¿No es una tapa en serie un condensador de acoplamiento? Una tapa de desacoplamiento elimina el contenido de CA.
Kellenjb

@Kellen - Oh querido. Sí, tiene razón, especialmente si piensa en desacoplar las líneas de suministro de energía. Aquí estaba pensando en desacoplar el DC de la señal :-).
stevenvh

@stevenvh Gracias por la respuesta detallada, aunque algo de lo que dices pasa por mi cabeza. Tengo un conocimiento electrónico limitado, pero estoy tratando de aumentarlo, así que he estado leyendo sobre circuitos RC, amplificadores operacionales y comparadores. Probablemente debería publicar esto como preguntas separadas, pero: 1) ¿cómo se te ocurrió con 12Hz, y 2) podría recomendar un comparador? De hecho, espero sacar esto de los 3.3V disponibles en el PMod si es posible.
Brad Robinson

Además, tiene razón, el Microbee tenía salida de nivel de línea, no nivel de micrófono. Lo que me da curiosidad: ¿cómo podría modificarlo para que funcione a nivel de micrófono? (Estoy pensando en enviar esto a un iPhone para grabar).
Brad Robinson

Ω

3

Los condensadores en serie normalmente se denominan condensadores de 'acoplamiento' ya que acoplan el componente de CA de la señal de origen al destino. Los condensadores de desacoplamiento son condensadores de derivación diseñados para evitar el acoplamiento de señales de CA desde la fuente hasta la destinción.

En este contexto, C23 desacopla los componentes de alta frecuencia del PIO a tierra para que la salida de onda cuadrada se redondee, es decir, aproximadamente sinusoidal (su artículo citado se refiere a 'desacoplamiento' al describir la salida al puerto de la cinta y, por lo tanto, debe referirse a C23).


Sin embargo, también se refiere a un "atenuador-desacoplador" en la entrada de la grabadora, que es lo que me hizo preguntarme si lo usarían para significar dos cosas diferentes.
Oli Glaser

1

El circuito dibujado probablemente debería funcionar con un FPGA si IC35 emite una señal de 0 a 3,3 voltios. Una pequeña advertencia es que debido a que la entrada de cassette no tiene histéresis, es posible que una señal que debería aparecer como un solo borde ascendente o descendente pueda aparecer como una secuencia rápida de bordes ascendentes y descendentes que luego se asientan alta o baja unos microsegundos más tarde . Eso no debería ser un problema si diseña su FPGA de modo que ignore los cambios de entrada que duran menos de, por ejemplo, 10 microsegundos, e ignore cualquier cambio de entrada que ocurra dentro de los 20 microsegundos de un cambio detectado, pero si su lógica intenta medir las longitudes de pulsos de entrada sin forzar una longitud mínima podría tener problemas.


1
  1. El "desacoplado" en este escenario probablemente se refiere tanto al condensador en serie que bloquea DC (C24) como a la parte C del RC (C23), aunque debería ser "condensador de acoplamiento" para C24 (el desacoplamiento también se utiliza para referirse al Función de bloqueo de CC, pero creo que se vuelve confuso de esta manera, ya que generalmente significa el "otro tipo" que desvía CA a tierra) y "desacoplamiento" para C23 (en todo caso)
    La tapa de acoplamiento se usa comúnmente en los circuitos de amplificador de audio para permitir que la entrada de una etapa sea sesgada independientemente del nivel de salida de CC de las etapas anteriores.

  2. Sí, siempre que suministre el opamp con el mismo voltaje que los pines FPGA (por ejemplo, 3.3V, 2.5V, etc.) en lugar de los 5V que se muestran. Debería poder usar prácticamente cualquier opamp para la función de comparación (es preferible riel a riel para facilitar las cosas, como dice Steven, pero no esencial siempre que cumpla con la entrada FPGA min-high max-low)

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.