






Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Resumo de um aluno que precisou usar a interface JTAG começando do zero. Arquivo completo e com linguagem simples.
Tipologia: Resumos
1 / 11
Esta página não é visível na pré-visualização
Não perca as partes importantes!







Lucas Mendes de Oliveira Estudante de Engenharia Elétrica – UTFPR Orientação: Prof. Me. Amauri Amorim Assef
JTAG (Joint Test Action Group) é um protocolo elaborado por um grupo de pesquisa relativo a testes em circuitos elétricos e padronizado pelo IEEE no standard 1149.1: Standard Test Access Port and Boundary Scan Architecture.
Hoje em dia, em aplicações gerais, JTAG é praticamente um sinônimo de Boundary Scan, sendo assim, é importante compreender o funcionamento e a idéia do Boundary Scan.
O Boundary Scan representa uma forma de acessar todos os pinos de entrada e saída digitais de um circuito integrado através de apenas dois destes pinos. Isto possibilita testes em um circuito sem que haja a presença de pontas de teste no mesmo, o que acarretaria tamanho maior do circuito e a necessidade do uso de diversos aparelhos de medição.
Por possuir em cada um de seus pinos uma célula de escaneamento (Scan Cell), estando todas estas interligadas no caminho do Boundary Scan , o circuito integrado pode ser testado e programado através de uma porta JTAG, podendo ainda uma única porta acessar vários circuitos integrados por meio de uma ligação em série, em paralelo ou em anel.
Cada CI com suporte ao Boundary Scan possui também uma porta de acesso para testes (TAP – Test Access Port ), que recebe os sinais enviados pela porta JTAG e os encaminha pelo CI.
Desta forma, a configuração básica de um CI com Boundary Scan tem a seguinte forma:
A TAP é o elemento no CI que recebe os sinais da porta JTAG e comanda a execução dos comandos JTAG nos registradores e nas memórias do chip. Ela recebe 3 sinais diferentes da porta JTAG e, a partir dos mesmos, atua em registradores do chip, como representado abaixo. Os sinais TDI e TDO, que representam os dados de entrada e saída serial da interface JTAG, são enviados diretamente para os registradores, sem passar pela TAP.
Uma representação mais simples é mostrada na figura abaixo (Nessa representação o CI não possui o pino RESET - - para a porta JTAG).
Quando uma instrução é enviada ao dispositivo pela porta JTAG, ela fica armazenada no registrador de instrução até que uma instrução nova seja enviada. O dispositivo controlado pela JTAG executa indefinidamente a instrução que está armazenada no seu registrador de instrução. Esta instrução vai definir a maneira como os outros registradores do chip serão afetados.
Outros registradores importantes são o Boundary-Scan Register (BSR), que registra os valores retirados das operações de Boundary-Scan , e cujo caminho é através das células de scan do dispositivo, e o By-Pass Register , registrador de um único bit que “encurta” o caminho entre os pinos TDI e TDO quando nenhuma operação está sendo realizada, aumentando a velocidade de operação do sistema como um todo.
As instruções realizáveis pela família 56F8300 estão representadas na tabela abaixo:
IDCODE – Habilita o registrador de identificação do chip (32 bits na família 56F8300). Este registrador armazena informações a respeito do CI, como o seu fabricante e a sua versão. Estas informações podem ser lidas pelo dispositivo de controle.
O controlador da TAP é uma máquina de estado de 16 bits cuja navegação entre estados é determinada pelos sinais TMS e TCK (Clock) vindos da entrada JTAG. A figura abaixo mostra um fluxograma de como funciona a navegação entre estados da TAP. Note que na coluna da esquerda os estados são relativos ao registrador de dados (Data Register – DR), que pode ser o BSR, o IDCODE, etc. e na coluna da direita os estados se referem ao registrador de instrução (Instruction Register – IR). Os dígitos 1 e 0 posicionados ao lado das flechas se referem ao sinal presente em TMS para que seja executada a transição de estados em questão. O sinal TMS é lido sempre na subida do sinal TCK.
Os estados de maior importância serão explicados a seguir. Os demais (Exit1-DR, Exit2-IR, Exit1-DR, Exit2-IR) são estados meramente temporários, cuja única função é ligar um estado ao outro, e cuja permanência é de apenas um ciclo de clock.
Test-Logic-Reset (código hexa = F) – Neste estado, toda a lógica de teste é desabilitada, e o chip opera em modo normal. A partir de qualquer estado da TAP, se o sinal TMS se mantiver em nível alto durante 5 ciclos de clock, a TAP sempre chegará ao estado Test-Logic-Reset.
Run-Test-Idle (código hexa = C) – É um estado entre operações de scan. A TAP sairá deste estado apenas quando TMS estiver em nível alto, indo para os estados de seleção de registrador.
Select-DR (código hexa = 7) – Neste estado, todos os registradores mantêm seus valores anteriores. Caso TMS tenha valor 0, o registrador de
gravada paralelamente no registrador de instrução. A TAP pode seguir para Run-Test-Idle ou para Select-DR.
A interface JTAG possui 5 pinos, que são usados para o comando da TAP e para transmitir serialmente os dados e instruções para os chips. São eles:
TCK – Pino através do qual é transmitido o sinal do clock para os circuitos analisados. A frequência máxima é um quarto da freqüência do processador acessado. Para operações de gravação, a freqüência máxima utilizada é de um oitavo, ao invés de um quarto.
TDI – Pino de saída da porta JTAG e entrada no Boundary-Scan. Em conjunto com o sinal TDO, faz a ligação serial entre a JTAG e o circuito analisado. O sinal é amostrado na subida de TCK.
TDO – Pino de entrada da porta JTAG e saída do Boundary-Scan. O sinal é atualizado na descida de TCK.
TMS – É o sinal usado para seqüenciar as operações da TAP (conforme a figura acima, que mostra os estados da TAP). É amostrado na subida de TCK.
- É um sinal de reset para a TAP. Enquanto o JTAG não for usado, deve-se manter este sinal em 0 para evitar interferência de sinais.
Portanto, a cada instrução enviada, a TAP navega por vários estados obedecendo a diversas mudanças nos sinais da JTAG. Por exemplo, temos abaixo uma representação dos sinais JTAG aplicados em conjunto para gravar a instrução 10001 no Instruction Register. Considera-se a primeira subida de TCK na faixa vermelha, e que a TAP inicia no estado Run-Test-Idle.
Abaixo, uma tabela mostrando por quais estados a TAP passou durante estas operações.