Tengo una placa con dos CPLD de Altera con un pequeño problema de programación. La programación a través de JTAG falla. Si hago una verificación de dirección JTAG
Las líneas JTAG atraviesan la primera placa, a través de una flexión y unas pocas emergen en la otra placa debajo de otros componentes. El resto parece surgir bajo los CPLD, que están uno encima del otro, o uno detrás del otro por falta de una mejor manera de explicarlo.
No sé si las líneas JTAG son paralelas hasta el final, ni tampoco sé en qué orden están las pistas dentro del tablero. Ojalá TDO esté lejos de TCK ... El tablero tiene al menos 4 capas de las que yo se puede decir.
Cuando voy a programar el dispositivo, puedo ejecutar la utilidad "Detectar información de la cadena JTAG" en MAX + plus II. Devuelve un mensaje que dice "Información de cadena JTAG confirmada por comprobación de hardware", lo cual es bueno. Entonces, puedo ejecutar un cheque en blanco, que falla.
Si desconecto el TDO en el encabezado JTAG y ejecuto un trozo de cable a los pines JTAG en uno de los CPLD, funciona. Los datos se ven bien en su mayoría en el osciloscopio con bordes bastante afilados y un timbre mínimo. Sin embargo, obtengo algunas oscilaciones falsas en ciertos puntos cuando lo pruebo:
jtag http://i67.tinypic.com/30wqjqs .jpg
jtag2 http://i68.tinypic.com/2ls9r9f.jpg
Las trazas son las siguientes:
Amarillo: TDO
Cyan: TCK
Magenta: TMS
Verde: TDI
Te darás cuenta de que TCK nunca llega a rodar de vez en cuando ... Cuando lo hace, es muy sinusoidal y no cuadrada.
TDO solo oscila cuando TDI es alto, pero no cada vez que TDI es alto. TCK parece oscilar cuando TMS aumenta con TCK o cuando TDI aumenta con TCK.
Estoy usando un Bitblaster y he instalado una resistencia de 1k entre TCK y tierra y las tres líneas restantes tienen una resistencia de 1k a Vcc.
Las capturas de pantalla del alcance se tomaron con TDO enrutado a través de un trozo de cable directamente al CPLD. He intentado hacer esto con TCK y las formas de onda todavía tienen este ruido. Si trato de hacer el cheque en blanco de nuevo sin cambiar nada, los bits ruidosos se mueven.
¿Alguien tiene alguna idea de por qué TCK parece no compensarse, o por qué TCK y TDO parecen oscilar?
Gracias de antemano.