Periféricos vs. Spectrum

Si por algo se caracteriza el Spectrum es por su gran variedad de periféricos (clásicos y modernos)

Moderador: Sir Cilve Sinclair

Notapor mcleod_ideafix el Dom Oct 14, 2007 7:23 pm

Hay dos peligros en quitar y poner periféricos al bus trasero del Spectrum con éste encendido:
El peligro más obvio es el que el conector no permite inserción con fuerza nula: es decir, necesitas girar de lado a lado el conector para quitarlo o ponerlo, y eso hace que ciertas pistas puedan entrar en contacto. Las peligrosas son las de alimentación, que están muy juntas una a la otra, y te puedes encontrar, por ejemplo, metiendo durante un instante 9V en la pata de 5V, fastidiando toda la lógica interna del ordenador.

El segundo peligro es más sutil: aunque se tomaran todas las medidas posibles y no entraran en corto los pines de alimentación, al enchufar o desenchufar un aparato al slot trasero hay que tener en cuenta cómo se comportan los circuitos que hay dentro tanto del Spectrum como del interfaz.
Me explico: la interfaz Spectrum-interfaz es a través de circuitos TTL (en su mayor parte). Estos tienen un estado de alta impedancia que posibilita que cuando no están siendo direccionados, no suelten contenido al bus de datos.

Este estado de alta impedancia sólo funciona cuando el dispositivo tiene alimentación. Cuando no, el estado de los buses es indeterminado, y no tiene por qué haber una alta resistencia (impedancia) en alguna de los bits del bus.

Si se enchufa un periférico con el Spectrum encendido, es imposible que todos los pines entren a la vez: unos entrarán unos milisegundos antes que otros, dependiendo de la posición de cada pin en el conector. Si, por ejemplo, los pines del bus de datos del Spectrum hacen contacto con los del bus de datos del periférico, y éste aún no tiene alimentación, esos pines del bus de datos pueden quedar, en el mejor de los casos, con un valor incorrecto durante ese pequeño intervalo de tiempo en el que el periférico aún no tiene alimentación, y llevar a un cuelgue de la máquina. En el peor de los casos, y dado que los pines del bus de datos están conectados directamente al Z80A, una muy baja impedancia en alguno de los pines de ese bus en el momento en que ese pin está sacando un 1 (5V) puede dañar a los transistores de salida del bus y por ende, dañar al procesador.

Este problema es ya harto conocido y de hecho tiene solución sencilla: no tienes más que fijarte en cómo es el conector USB-A (el conector USB por ejemplo de un pendrive). Verás que tiene 4 patillas, pero dos de ellas, las que están en los extremos, llegan hasta el borde y las otras dos, no.

Las patillas del borde llevan los 5V de alimentación del periférico USB. Las dos del centro son el bus de comunicaciones de ese periférico. La disposición de esas patillas es tal que cuando enchufas el pendrive al PC, primero hacen contacto las patas de alimentación, y unos milisegundos más tarde, las patas de datos. En esos milisegundos iniciales, el dispositivo USB pone en alta impedancia su pequeño bus de datos de tal forma que no se dañe a sí mismo ni a los demás dispositivos del hub USB.

¿Se podría aplicar esto al Spectrum? Seguramente (uno de mis inventos locos es un sistema para permitir inserciones "en caliente" de periféricos al Spectrum, inspirado en un aparato que tenemos en el laboratorio y que permite la inserción en caliente de tarjetas PCI). La idea es darle primero alimentación al periférico y después conectarlo al bus lógico. Una posbible (no comprobada) solución podría ser, imagínate... un conector gigantesco tipo USB con no 4 patas sino tantas patas como señales hay en el conector trasero: las correspondientes a la alimentación sobresaldrían sobre las otras, de tal forma que al pinchar un periférico al slot trasero "usb-izado" primero obtendría alimentación. El invento resultaría si el periférico "colabora": en efecto, para que esto funcione, el periférico debe poner en alta impedancia sus buses en ausencia de toda señal de control externa.
Web: ZX Projects | Twitter: @zxprojects
Avatar de Usuario
mcleod_ideafix
Johnny Jones
 
Mensajes: 3982
Registrado: Vie Sep 21, 2007 1:26 am
Ubicación: Jerez de la Frontera

Notapor mcleod_ideafix el Dom Oct 14, 2007 7:29 pm

Al hilo de esto, un día tengo que coger y hacerle fotos a uno de mis montajes: uno de mis Spectrum's está montado en un teclado DK'Tronics, en el que cabe dentro el interface 1, que también tiene montado.
El problema con esto es que si a ese Spectrum le quiero poner un interface que "choca" con el interface 1 (por ejemplo el wafadrive o la unidad +D) pues no puedo. Tendría que desarmar el DK'Tronics y quitar el interface 1.
Obviamente, eso no es práctico.
Lo que he hecho es una modificación en el interface 1 consistente en un interruptor que desconecta "logicamente" al interface 1 del Spectrum: no le quita alimentación, sino que aisla las patillas CE (chip select del pequeño controlador del interface 1)y ROMCS (para inhabilitar la ROM). Si le quitara directamente la alimentación, el bus del interface 1 estaría aún conectado al del Spectrum, pero no en alta impedancia.
Aislando la patilla CE me aseguro de que los buses de datos y direcciones estén siempre en alta impedancia en el interface 1.
Aislando ROMCS me aseguro de que no se decodifique el RST 8, y que provoque un salto a la ROM shadow del interface 1 (que por CE estaría desconectada).
Web: ZX Projects | Twitter: @zxprojects
Avatar de Usuario
mcleod_ideafix
Johnny Jones
 
Mensajes: 3982
Registrado: Vie Sep 21, 2007 1:26 am
Ubicación: Jerez de la Frontera

Notapor mcleod_ideafix el Dom Oct 14, 2007 7:34 pm

Ah! y otro peligro más referente al post primero: si hay peligro al poner un periférico con el Spectrum encendido, también lo hay al quitarlo con éste encendido, aunque se tomen todas las precauciones y no se cortocircuite la alimentación.

El problema está en que en el momento de la desconexión, los pines de los buses de datos pueden estar transfiriendo datos, es decir, conmutando de 0 a 1 y viceversa. Un pin que está transmitiendo un 1 está enviando 5V al Spectrum por ese pin. Si en ese momento desconectamos el periférico, se produce una caída brusca de corriente.

Si Murphy está presente en ese momento, esa caída brusca puede ser suficiente para generar una fuerza electromotriz inducida tan alta que queme los circuitos conectados directamente a ese pin. Recuerda que el Spectrum, para abaratar costes, no tiene precisamente muchos elementos de seguridad (repito que el bus trasero está directamente conectado al Z80-A)
Web: ZX Projects | Twitter: @zxprojects
Avatar de Usuario
mcleod_ideafix
Johnny Jones
 
Mensajes: 3982
Registrado: Vie Sep 21, 2007 1:26 am
Ubicación: Jerez de la Frontera

Notapor Ralphy el Dom Oct 14, 2007 7:42 pm

Dios Santo, qué pedazo de explicación tan bien clara y concisa, ni yo mismo lo hubiera hecho mejor (más bien, nunca lo hubiera hecho aunque quisiera). Gracias mil.

Si ese "invento" experimental del cual hablas en tres post anteriores hubiera funcionado en 1982 en adelante, hubiera sido otro de esos booms como los que descubrimos hoy en día con el Spectrum. Hubiera tenido tal demanda que incluso a nadie le importaría que aumenten el precio del invento con tal de adquirirlo, total, Spectrums solo podía comprarse uno, para el segundo habría que ahorrar (en la época, digo).
ADVERTENCIA: Las autoridades spectrumeras advierten que Ralphy desprotege sériamente sus juegos.

En el nombre del anime, del manga, y del espíritu otaku: Imagen ¡¡¡ A ni MÉN !!!

¡¡¡ OTAKUS AL PODER !!!
Avatar de Usuario
Ralphy
Freddy Hardest
 
Mensajes: 589
Registrado: Dom May 27, 2007 10:58 am
Ubicación: Lo 100 to picha, no tor mundo puehé DKI.

Notapor Gandulf el Lun Oct 15, 2007 12:23 am

La explicación de McLeod muy buena y muy completa :shock: :)

Creo que no sólo el spectrum tenía este problema. Si sacamos cierto tipo de conexiones pensadas para la conexión en caliente como puede ser USB, FireWire o SATA; no me gustaría ver el efecto de conectar en caliente una tarjeta ISA a un PC antiguo. Me da que incluso una tarjeta PCI conectada en caliente puede ser harto problemática.
Un saludo,

Gandulf
Gandulf
Nonamed
 
Mensajes: 1067
Registrado: Lun May 07, 2007 10:06 pm

Notapor mcleod_ideafix el Lun Oct 15, 2007 4:59 am

La especificación PCI contempla el "hotpluging", lo que pasa es que para poder verlo in situ necesitas una placa madre "de las caras", acondicionada para servidores.
Afortunadamente tienes una versión barata del PCI hotplug: la PCMCIA de 32 bits, o PC-Card 32.
Web: ZX Projects | Twitter: @zxprojects
Avatar de Usuario
mcleod_ideafix
Johnny Jones
 
Mensajes: 3982
Registrado: Vie Sep 21, 2007 1:26 am
Ubicación: Jerez de la Frontera

Notapor fulas el Lun Oct 15, 2007 7:54 pm

Joderrrrrrrrrrrrr, cuando mcleod_ideafix explica algo, lo explica y punto, no se anda mucho por las ramas, muchas gracias, a mi no me podia quedar mas claro, una explicacion exelente, clara, consisa y completamente plausible.
Es un lujo tenerte por estos lares, a ver cuando salen esos adaptadores de teclado, recuerda que estoy en la lista con dos pedidos.

Saludos,
Francis Mendez.
fulas
Jack The Nipper
 
Mensajes: 141
Registrado: Lun Jul 02, 2007 3:28 pm
Ubicación: En Tenerife.

Notapor Alki el Mar Oct 16, 2007 12:06 pm

ufff aun recuerdo cuando era niño y le pasaba una moneda de 20 duros por el bus trasero, y observaba como la pantalla hacia cosas raras :mrgreen:
Alki
rst 0
 
Mensajes: 9
Registrado: Mie Oct 03, 2007 10:18 am

Notapor Ralphy el Mar Oct 16, 2007 1:39 pm

Alki, ¿ y sobrevivió, o se escacharró ? Muchos Spectrums sobrevivieron después de quedarse pillados al hacer cosas raras, mencionando sobre todo lo del quitar un interface estando encendido, eso sí, llevándolos a un técnico de esos que hacen milagros. Y los hubo (conozco una experiencia).

Es más, hoy mismo he insertado en ambos slots laterales uno de mis joystick (el "Speedup") para probar un juego, estando conectado, y no pasó nada. ¿ Es que me tengo que quedar sin mi Spectrum para aprender la lección ? Chic@s, no hagáis esto en casa :lol:
ADVERTENCIA: Las autoridades spectrumeras advierten que Ralphy desprotege sériamente sus juegos.

En el nombre del anime, del manga, y del espíritu otaku: Imagen ¡¡¡ A ni MÉN !!!

¡¡¡ OTAKUS AL PODER !!!
Avatar de Usuario
Ralphy
Freddy Hardest
 
Mensajes: 589
Registrado: Dom May 27, 2007 10:58 am
Ubicación: Lo 100 to picha, no tor mundo puehé DKI.

Notapor Gandulf el Mar Oct 16, 2007 2:08 pm

Lo que no se puede sacar o meter es la interface de joystick o cualquier dispositivo que vaya al bus trasero del spectrum. Lo joystick sinclair de los modelos amstrad da igual en principio sacarlos y ponerlos cuando quieras, o los kempston una vez tengas conectada la interface.
Un saludo,

Gandulf
Gandulf
Nonamed
 
Mensajes: 1067
Registrado: Lun May 07, 2007 10:06 pm

Re: Periféricos vs. Spectrum

Notapor Alki el Vie Mar 06, 2009 1:56 am

Ralphy escribió:Alki, ¿ y sobrevivió, o se escacharró ? Muchos Spectrums sobrevivieron después de quedarse pillados al hacer cosas raras, mencionando sobre todo lo del quitar un interface estando encendido, eso sí, llevándolos a un técnico de esos que hacen milagros. Y los hubo (conozco una experiencia).



Es más, hoy mismo he insertado en ambos slots laterales uno de mis joystick (el "Speedup") para probar un juego, estando conectado, y no pasó nada. ¿ Es que me tengo que quedar sin mi Spectrum para aprender la lección ? Chic@s, no hagáis esto en casa :lol:



rescato este hilo, para responder a Ralphy que no vi su pregunta,

Pues si que sobrevivio, de hecho en ese tiempo desconocia lo teoricamente peligroso que podia resultar eso, y ahi iva yo desenchufando y enchufando el interface kempston con el speccy encendio.
Alki
rst 0
 
Mensajes: 9
Registrado: Mie Oct 03, 2007 10:18 am


Volver a Hardware

¿Quién está conectado?

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