HispaMSX

Solucion para CPUCLK dañada, y consulta 2.

2004-05-20 21:40:53
POR FIN LO RESOLVI!!!!!

  Resumiendo el planteo del problema expuesto en el mensaje 5894, con 
fecha 14 de noviembre del año 2000 (casi cuatro años atras!!!) el 
problema era el siguiente:

  Mi Talent MSX2 no funcionaba ni pa atras ni pa adelante!

  Ya por aquella epoca tenia alguna sospecha sobre el clock, señal 
que el z80 obtiene directamente del V9938 del pin designado como 
CPUCLK.
  Al no poseer osciloscopio, un sabado por la mañana, después de 
tanto tiempo de meditarlo (casi cuatro años insisto) tomé coraje y me 
dirigí a una casa de servicio técnico con la MSX bajo el brazo, a 
riesgo de ser víctima de alguna gastada al estilo Nelson de los 
Simpsons. a-ja!
  Hable con los tecnicos, les comente el problema y procedimos a 
operar.
  Tras observar la forma de la onda de la bendita señal de clock, el 
problema saltó a la vista inmediatamente (ingenieros electrónicos de 
por medio obviamente), ya que la misma tenia una amplitud de 0-2v, 
que no sirve para mover al Z80 que necesita niveles TTL, o sea 0-5v.
  La primera solución fue intentar amplificar dicha señal, con lo 
primero que se nos ocurrió, un 74als04 usando dos puertas inversoras 
para no invertir la fase. El engendro visto en el osciloscopio 
parecia funcionar perfectamente, ya que obtuvimos la dichosa señal 
con la amplitud suficiente para mover el z80.
  Como no disponian de un TV para probar si finalmente andaba, la 
unica prueba que se me ocurrio fue encender el equipo, esperar unos 
segundos y ver si el led de la tecla caps lock reaccionaba a las 
pulsaciones.
  Y voilá!, se encendia y se apagaba como esperabamos!!!!

 ...con lo cual procedí a agradecer a los ingenieros, invitar los 
cafés, dar muchas gracias, blablabla, y salir corriendo a probar el 
equipo en casa!
  La solución fue buena, pero no duró mucho. Resulta que al encender 
la MSX, despues de unos cuantos segundos, empezaba a dibujar 
boludeces, hacer ruidos raros con el PSG, y a veces con el click del 
relé.
  Después de comentarlo en la lista ClubMSXArgentino, Flyguille me 
hizo una observacion muy interesante: si la señal no era suficiente 
para mover al z80, tampoco iba a ser muy buena para mover al 74als04, 
ya que 2v es un nivel de tension que esta fuera de los rangos para 
que sea 0 o 1 logicos en TTL. O sea que esta primera solucion anduvo 
muy de pedo, y al calentarse un poco la circuitería, seguramente la 
señal CPUCLK se hacia mas debil generando un clock errático y 
provocando los extraños cuelgues del z80.
  Probé amplificar la señal con otros circuitos como aplificadores 
operacionales, transistores, etc., pero no funcionó. No estoy seguro 
si habrá sido por que los componentes no serían manejar dicha 
frecuencia, o porque generaban alguna señal no tan rectangular, o 
vaya uno a saber porqué, ya que se sale de mis conocimientos. 
  Como no avanzaba mucho con esa solucion, y teniendo en cuenta que 
seguramente el V9938 ya tiene un daño y a la larga puede que deje de 
generar la señal, se me ocurrió encararla por otro lado: usar un 
divisor por 6 (74ls92) para dividir el clock de 21mhz y obtener los 
3.579, que es justamente lo que hace el V9938. 
  Y sí!!! Con esto finalmente solucione el problema.

  Pero... p e r o . . . todavia me falta algo. De vez en cuando, al 
encender la compu ('el ordenador para ustedes') por ahi no arranca 
para nada. 
  La pregunta del millon, es que otro detalle tendría que tener en 
cuenta? Será que tengo que conectar el 74ls92 con el reset principal 
para sincronizar el inicio del clock, o algo por el estilo?
  A ver si alguien me da una idea.

----------------------------------------------------------------
Dicho sea de paso, sería posible usar un divisor por 3 para llevar a 
un z80h a 7.xx mhz??? Qué problema podría tener con eso?


Saludos!!!!




<Anterior en la conversación] Conversación actual [Siguiente en la conversación>