Entrada de casete de TRS-80 - Revisión de diseño

Estoy trabajando para obtener una entrada de un casete para una microcomputadora TRS-80 (de la época de los 70). Esto es lo que he trabajado. Es un filtro activo de paso alto de segundo orden con una frecuencia de caída de 2 kHz en una topología Sallen-Key con una ganancia de banda de paso unitaria, y lo he usado como entrada para un temporizador 555 con voltajes de umbral apropiados.

Me pregunto si alguien tiene sugerencias, consejos, trampas, trucos, cosas que me he perdido, notas, etc., que puedan ayudar al diseño.

La salida simplemente se está descargando a una resistencia de 1Meg para fines de simulación. Supongo que lo que lee este voltaje tendrá una impedancia de entrada lo suficientemente alta como para no cargar la salida del temporizador 555.

Esquema actual

Traté de escoger valores razonables. ¡Puedo cargar el esquema LTSpice y las formas de onda si alguien está interesado en seguirlo!

¡Gracias a todos!

[Editar] R67 es un remanente del esquema TRS80 original en el que estaba trabajando; es para proporcionar una ruta en caso de compensación de CC. ;)

[Edición 2] Esquema alternativo actualizado: usando un segundo bucle abierto de amplificador operacional, se cambió el diseño de la etapa de filtro para proporcionar algo de ganancia. Debería funcionar si el segundo amplificador operacional tiene una carga capacitativa interna lo suficientemente baja (algo con lo que los comparadores no tienen que lidiar). Sin embargo, estoy usando un amplificador operacional y no un comparador porque estoy tratando de hacerlo con un chip.

Segundo esquema

¡Cualquier comentario apreciado! ¡Gracias!

[Editar 3] Recibí algunos consejos excelentes de John Dunn, consultor de Ambertec, PE, PC. Si U1 y U2 están en el mismo chip, y U2 se usa como comparador, podría haber varios problemas.

Citando a John, "Dependiendo de las propiedades específicas de los dispositivos, los niveles de saturación de voltaje de salida alto y bajo de un amplificador operacional pueden no estar cerca de los voltajes del riel. Además, las transiciones de uno a otro pueden incluir ráfagas de oscilación. Un verdadero comparador no lo hará". tener estos problemas.

Otro punto conflictivo es que, para algunos amplificadores operacionales duales y cuádruples, es posible que no se cumplan las especificaciones del amplificador operacional para el servicio lineal si un dispositivo del conjunto está protegido. Puede haber conexiones cruzadas indefinidas entre las secciones del amplificador operacional que pueden corromper el amplificador operacional número uno, digamos, si el amplificador operacional número tres se usa como comparador y está en su límite de salida de riel alto o bajo".

John es un tipo excelente que dirige el grupo de Desarrollos Analógicos en Linkedin y tuvo la amabilidad de brindar algunas ideas excelentes. :)

Definitivamente tendría curiosidad sobre cómo progresa esto, veré este hilo. ¿Qué datos contienen las cintas? ¿Cuál es el objetivo general?
¿Podría agregar algo de contexto para aquellos de nosotros que no estamos muy familiarizados con la informática antigua? ¿Qué se supone que debe hacer el circuito?
@AnindoGhosh Las cintas son almacenamiento de datos general; en este caso, hay algunos juegos antiguos (por ejemplo) que nos gustaría poder leer. El objetivo general es poder usar una cinta de casete como entrada/salida para un FPGA, con el objetivo de lograr una compatibilidad total con las cintas de casete TRS-80 (quizás con un procesador de software compatible con Zilog). ¡El verdadero objetivo es aprender tanto como sea posible y divertirse haciéndolo!
@Bitrex ¡Lo siento, no fui más claro! El 'CASSIN' es una señal de la platina de cassette para la microcomputadora TRS-80. En este caso, el circuito debe proporcionar un filtro de paso alto para eliminar el ruido de baja frecuencia de la línea y luego proporcionar una señal TTL (0 o 5) voltios. Voy a comprimir los archivos de simulación aquí en un segundo y publicaré un enlace para ayudar a que quede más claro.
Si bien hacer esto en hardware es admirable, simplemente para obtener los datos, sugeriría una tarjeta de sonido y una recuperación de software, luego use spi flash o sdcards en modo spi con la placa fpga.
Eso me parece bastante sobrediseñado. Recuerdo que en 1985 escribí código en lenguaje ensamblador para mi segunda computadora (un sistema CP/M Z80 de 4MHz) para leer las cintas de mi primera computadora (una Commodore PET 2001) y estoy seguro que mi hardware debe haber sido mucho más simple ( probablemente solo un disparador Schmitt, pero no recuerdo ningún detalle). La grabadora era de 1972 con una calidad de sonido bastante mala.
@ChrisStratton Obtuve las formas de onda para la simulación usando la tarjeta de sonido y Goldwave. También usé Matlab para grabar un objeto de sonido, pero me gustaron más los datos de Goldwave. Sin embargo, tomaré en cuenta su sugerencia de usar spi flash o sdcards, eso suena como una gran idea.
@starblue No es divertido a menos que haya al menos algo de matemática detrás o algo que aprender. :) Voy a intentar hacerlo más simplemente con un disparador Schmitt - ¡gracias!
@starblue Me registré usando un disparador Schmitt; fue una excelente adición y hace que el circuito resultante sea mucho más simple. Sin embargo, el modelo LTSpice del disparador Schmitt es conductual y quiero un poco más de realismo.
Si desea leer datos almacenados en casettes de audio utilizando los esquemas de almacenamiento de los años 70/80, me haría eco de la sugerencia de digitalizar los datos de audio y luego reconstruirlos en función del archivo digitalizado. Entre otras cosas, es probable que las cintas tan antiguas se hayan degradado significativamente. Si un formato de cinta incluye cosas como sumas de verificación de bloque, es posible que el software intente decodificar un bloque varias veces con diferentes umbrales y parámetros de filtrado hasta que encuentre una combinación de parámetros que produzca una decodificación exitosa. Hacer eso en hardware requeriría...
...tener una redundancia considerable (p. ej., tener múltiples circuitos de decodificación con diferentes umbrales y parámetros, operando simultáneamente) o requeriría alimentar la señal de audio a través del hardware varias veces (lo que, a menos que la cinta se copie primero a algún medio digital, impondría desgaste excesivo en medios de cinta que pueden ser muy frágiles).
@supercat ¡Ese es un gran punto y sugerencia! Mi punto era tener una excusa para diseñar un circuito pequeño yo mismo, pero también trabajaré en él desde ese ángulo. ¡Me gusta!

Respuestas (1)

Pondría el casete en el conector de entrada de línea de una tarjeta de sonido y haría la decodificación en el software. No es la sugerencia más útil si no eres una persona de software, me doy cuenta, pero simplemente no tiene sentido construir ningún hardware personalizado para este trabajo.