Entrada de audio en un 464

Sistemas 464, 664, 6128, 472, ...
Avatar de Usuario
Joss
Atari 1040 STf
Atari 1040 STf
Mensajes: 928
Registrado: 17 Jul 2012, 20:07
Gracias dadas: 14 veces
Gracias recibidas: 2 veces

Entrada de audio en un 464

Mensajepor Joss » 24 Ene 2013, 00:35

Quiero "prescincir" del cassette en un 464. El objetivo es poner una entrada de audio que vaya directamente a la placa madre del CPC. Según las pruebas que he hecho, esta señal se conecta directamente a la entrada del PPI que lleva el Amstrad, un 8255.
Para que os hagais una idea, la señal de audio, sacada de un portatil tiene este aspecto en un osciloscopio:
Imagen
Esta generada con el programa cdt2wav y el wav reproducido con el mplayer. El wav visto en un programa como el Audicity no presenta esas oscilaciones y tampoco el offset ......
La circuiteria del cassette del Amstrad la adapta a niveles TTL que van conectados a la placa madre, y la señal se conecta directamente a la entrada del 8255, y tiene este aspecto:
Imagen

Le he dado vueltas al asunto, discutido con un amigo sobre el tema, he preguntado en cpcwiki y lo mismo me podeis ayudar aclarando ideas ..... partiendo de la señal de audio que sacaría del portatil, y tiene una amplitud de +/-0,5 V, ¿sería suficiente un amplificador operacional para "llevar" la información de la frecuencia? Este no estaría realimentado y saturaria saltando de 0V a 5V, y manteniendo la frecuencia de la señal original ..... lo único que me preocupa es conectarlo directamente al 8255. ¿Tendría que poner en medio alguna resistencia?


En vez de probar circuitillos he encontrado un simulador de los mismos muy facil de usar y que está online. Lo mismo le sirve a alguien para probar algún circuito sin tener que sacar componentes y osciloscopio de las cajas ;) :
Simulador online de circuitos

Avatar de Usuario
mcleod_ideafix
Amiga 2500
Amiga 2500
Mensajes: 5280
Registrado: 06 Oct 2009, 04:12
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Vectrex
Primera consola: TV Games/Pong Clone
Ubicación: Jerez de la Frontera
Gracias dadas: 7 veces
Gracias recibidas: 29 veces
Contactar:

Re: Entrada de audio en un 464

Mensajepor mcleod_ideafix » 24 Ene 2013, 00:44

Yo para la ULAplus tengo un problema parecido. La solución habitual en estos casos consiste en escuadrar la señal usando buffers con histéresis. Antes que nada, amplifica la señal con un operacional (con realimentación, para evitar que entre en auto-oscilación si lo usas como comparador). Luego lo pasas por un condensador para quitar el nivel de continua, y por un par de diodos montados como diodos de clamping para restaurar el nivel de continua y dejarlo a un valor fijo de 0,7V. Tras ello, puedes poner el buffer con histéresis.
Ah! La entrada hacia el operacional, hazla de baja impedancia. De esa forma te evitarás la gran mayoría de "damping" que se ve en la primera captura del osciloscopio.
Recuerda: cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista

Avatar de Usuario
Joss
Atari 1040 STf
Atari 1040 STf
Mensajes: 928
Registrado: 17 Jul 2012, 20:07
Gracias dadas: 14 veces
Gracias recibidas: 2 veces

Re: Entrada de audio en un 464

Mensajepor Joss » 24 Ene 2013, 01:01

Con el buffer con histéresis te refieres al operacional sin realimentación?

he sacado parte del circuito de los manuales técnicos:
Imagen
A la derecha se ve el pin E: Data Out, que es el conector a la placa del CPC y va directo al pin de entrada del PPI. Si vas para detras ves dos operacionales con algo mas. Supongo que es parecido mas o menos a lo que has comentado ....

Avatar de Usuario
mcleod_ideafix
Amiga 2500
Amiga 2500
Mensajes: 5280
Registrado: 06 Oct 2009, 04:12
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Vectrex
Primera consola: TV Games/Pong Clone
Ubicación: Jerez de la Frontera
Gracias dadas: 7 veces
Gracias recibidas: 29 veces
Contactar:

Re: Entrada de audio en un 464

Mensajepor mcleod_ideafix » 24 Ene 2013, 01:57

Joss escribió:Con el buffer con histéresis te refieres al operacional sin realimentación?

No, más bien a esto (este está hecho con transistores):
Imagen
Recuerda: cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista

Avatar de Usuario
mentalthink
Amiga 2500
Amiga 2500
Mensajes: 2819
Registrado: 11 Abr 2010, 15:06
Gracias dadas: 18 veces
Gracias recibidas: 14 veces

Re: Entrada de audio en un 464

Mensajepor mentalthink » 24 Ene 2013, 02:14

Se podría ganar velocidad de lectura con esté circuito?¿, y se podría grabar y leer a más velocidad...

Recuerdo en ASmtrad .esp, un chico cogio un Arduino, y leía datos el Amstrad directamente, aunque no sé si la pretensión del proyecto es la misma...
La verdad que el pobre 464 podrían sacar algo chulo de grabación y lectura...

Avatar de Usuario
Joss
Atari 1040 STf
Atari 1040 STf
Mensajes: 928
Registrado: 17 Jul 2012, 20:07
Gracias dadas: 14 veces
Gracias recibidas: 2 veces

Re: Entrada de audio en un 464

Mensajepor Joss » 24 Ene 2013, 08:15

No estoy seguro si es posible. Desde luego se puede hacer el circuito de tal manera (todavía no se como :oops: ) que permita señales de mas frecuencia . Pero supongo que habría que cambiar las rutinas de carga de los programas. Los juegos turbo creo que hacen eso.

Hace unos meses le hice un apaño al 464 para meterle la señal de audio desde el PC: CPCwiki - DIY_464_External_Audio_Socket
y tuve que probar distintos programas hasta dar con uno que permitiese la carga. Lo que siempre me ha funcionado es la cinta adaptadora. Y para eso te hace falta el cassette .... pero si se estropea pues ya no puedes cargar nada.

-- Actualizado 24 Ene 2013, 19:48 --

El buffer con histéresis es un "Disparador Schmitt"? En la wiki alemana está el circuito, eso si, sin los valores de las resistencias que te has currado y van genial :mrgreen:

Schmitt-Trigger Diskreter_Schaltungsaufbau

Voy a comprar componentes, lo mismo se puede comprar en un integrado. Aquí cuestan entre 20 y 40 céntimos.

Avatar de Usuario
mcleod_ideafix
Amiga 2500
Amiga 2500
Mensajes: 5280
Registrado: 06 Oct 2009, 04:12
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Vectrex
Primera consola: TV Games/Pong Clone
Ubicación: Jerez de la Frontera
Gracias dadas: 7 veces
Gracias recibidas: 29 veces
Contactar:

Re: Entrada de audio en un 464

Mensajepor mcleod_ideafix » 25 Ene 2013, 18:14

Sí, un disparador schmitt es precisamente lo que muestra ese circuito.
Lo hice para la entrada de 3.3V de la FPGA que implementa la ULA+. Para el Amstrad CPC464... veamos:
Partimos de que, como ya comentaste, la entrada de audio es uno de los puertos del 8255. Viendo el datasheet del 8255, se observa que las entradas tienen las siguientes características:
- La tensión máxima de entrada para la cual el dispositivo sigue leyendo un 0 es 0.8V
- La tensión mínima de entrada para la cual el dispositivo comienza a leer un 1 es 2.0V
- El dispositivo no tiene características de histéresis.

Para la entrada de audio necesitamos:
- Que su impedancia de entrada sea baja: esto elimina los ruidos inducidos que pudieran aparecer en el cable, el overdamping que has observado en el osciloscopio, etc
- Que tenga algo de histéresis para "comerse" los pulsos espúreos.
- Que tenga una salida definida, que no de pie a confusión al leerla el 8255.
- Que tenga una sensibilidad de unos 250mV para una salida máxima. Con eso puedes usar no solamente la salida de un portátil, sino un reproductor MP3, un iPhone, etc.

Te propongo esto:
Imagen

Es un amplificador/acondicionador de audio con histéresis.
Con 250mV de entrada el amplificador da su salida máxima. La entrada está desacoplada con un condensador y su impedancia de entrada es de unos 100 ohmios.

El operacional que forma la primera etapa del circuito amplifica por 20 la señal de entrada. El nivel de continua se fija a 1.2V merced a las resistencias R3 y R4 que forman un divisor de tensión que da la tensión de referencia al pin V+ del operacional. En ausencia de señal por tanto la salida sería de 1.2V.

El operacional puede ser cualquiera que vaya bien en audio. Uno pequeñito, que ocupa poco, es el TL081 (versión moderna del uA741).

La salida del operacional va a una batería de inversores, pero no cualquier tipo de inversor. Deben ser 74HCT14. Este dispositivo tiene dentro 6 buffers inversores con disparador Schmitt. Estos inversores están diseñados con una V+ de 1.5V y una V- de 0.9V (para una alimentación de 5V). En un chip hay 6 de estos inversores. Puedes poner solo 1, o 3 o 5. Lo de usar un número impar de ellos es para que la salida final tenga la misma polaridad que la entrada.

Las puertas que no uses deben tener sus entradas a 5V. Las salidas, sin conectar.

Todo el circuito se alimenta de la tensión regulada de 5V del Amstrad.
Recuerda: cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista

Avatar de Usuario
Joss
Atari 1040 STf
Atari 1040 STf
Mensajes: 928
Registrado: 17 Jul 2012, 20:07
Gracias dadas: 14 veces
Gracias recibidas: 2 veces

Re: Entrada de audio en un 464

Mensajepor Joss » 25 Ene 2013, 20:09

Los condensadores tienen que ser cerámicos o pueden ser electrolíticos? Si pueden ser electrolíticos supongo que el C2 tendría su positivo en la entrada + del amplificador. En el caso del C1 no lo veo tan claro.

Por que se necesitan tres inversores en serie? Aumenta la potencia de la señal? Al meter mas inversores aumentamos el retraso y supongo que disminuye el rango de frecuencias, aunque creo que para el caso no es necesario llegar a Mhz.

Avatar de Usuario
jotego
Amstrad PC 1640
Amstrad PC 1640
Mensajes: 634
Registrado: 16 Ene 2013, 23:25
Sistema Favorito: Atari ST
primer_sistema: Amstrad CPC
consola_favorita: Sony PlayStation 2
Primera consola: Atari Lynx
Ubicación: Valencia (España)
Gracias dadas: 20 veces
Gracias recibidas: 25 veces

Re: Entrada de audio en un 464

Mensajepor jotego » 25 Ene 2013, 21:47

Joss escribió:he sacado parte del circuito de los manuales técnicos


¿La medida del osciloscopio la has tomado en el punto marcado como E? ¿Es ahí donde quieres conectar la salida del PC? Si la conectas donde va el cabezal, "head", el mismo circuito que ya hay te la va a amplificar porque eso es lo que hay ahí: un amplificador. Yo de ti probaría eso antes de hacer montajes más complicados. Con tan poca amplitud no puedes romper nada pero si no te fías pon el volumen del portátil más bajo al principio y mira la salida. Ve subiéndolo hasta que en el punto E tengas una forma de onda aceptable.

Cuando lo pruebes, cuéntanos qué tal.

Avatar de Usuario
mcleod_ideafix
Amiga 2500
Amiga 2500
Mensajes: 5280
Registrado: 06 Oct 2009, 04:12
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Vectrex
Primera consola: TV Games/Pong Clone
Ubicación: Jerez de la Frontera
Gracias dadas: 7 veces
Gracias recibidas: 29 veces
Contactar:

Re: Entrada de audio en un 464

Mensajepor mcleod_ideafix » 25 Ene 2013, 23:25

Joss escribió:Los condensadores tienen que ser cerámicos o pueden ser electrolíticos?

C1 cerámico, poliéster o policarbonato. C2 en principio, electrolítico porque será la opción más cómoda (y barata).

Joss escribió:Si pueden ser electrolíticos supongo que el C2 tendría su positivo en la entrada + del amplificador. En el caso del C1 no lo veo tan claro.

Respecto a C2 supones bien. C1 no es electrolítico.

Joss escribió:Por que se necesitan tres inversores en serie?

Cada inversor escuadra aun más la señal y aisla al circuito del 8255 de posibles sobrevoltajes en la entrada de audio. No aumenta la potencia de la señal.

Joss escribió:Al meter mas inversores aumentamos el retraso

En una cantidad ínfima (unos pocos nanosegundos)

Joss escribió:y supongo que disminuye el rango de frecuencias

Para nada. El retraso solo influiría si tuvieras no una, sino varias señales que tuvieras que procesar a la vez. No es el caso.
Recuerda: cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista


Volver a “Amstrad CPC”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado