Placas de diagnóstico

Autor: Laércio Vasconcelos
Dezembro/1999
   

    Conheça essas placas que ajudam na manutenção de micros, apresentando códigos de erro gerados por um micro que liga mas fica com a tela preta. 

Copyright (C)
Laércio Vasconcelos Computação

Nenhuma parte deste site pode ser reproduzida sem o consentimento do autor. Apenas usuários individuais estão autorizados a fazer download ou listar as páginas e figuras para estudo e uso próprio e individual, sem fins comerciais.

Placas de diagnóstico

Existem placas de diagnóstico capazes de ajudar bastante na detecção de defeitos e conflitos de hardware, até mesmo nos casos em que o PC não consegue realizar o boot. Todos os PCs realizam ao serem ligados, um teste de hardware chamado POST (Power On Self Test). À medida em que esses testes são realizados, o BIOS coloca no endereço de E/S 0080, um byte que serve para identificar qual é o teste que está prestes a realizar. Por exemplo, é colocado o valor 01 antes de testar os registradores internos do microprocessador, uma das primeiras etapas do POST. Se o processador estiver defeituoso ou configurado de forma errada, o POST travará neste momento, ficando mantido o valor 01 na porta 0080. Uma placa de diagnóstico possui uma porta de E/S ocupando o endereço 0080, ligada a um display digital. Se o POST trava no teste dos registradores da CPU, o display ficará fixo com o valor 01. Consultamos uma tabela com os códigos do POST, e a partir deste número, ficamos sabendo qual é o teste onde ocorreu o travamento. Isto é uma boa pista para encontrar o problema.

Uma das placas capazes de exibir códigos do POST é a PC Sentry, produzida pela Trinitech (figuras 17 e 18).

Figura 17 - Placa PC Sentry, da Trinitech.
Figura 18 - Placa PC Sentry.

Encontramos nesta placa um display hexadecimal para exibição dos códigos do POST. Em operação normal, esses códigos variam à medida em que o POST é realizado. Ao término do POST, o display fica com o valor 00, e depois disso é feito o boot através do disco. Os códigos são alterados no início de cada teste, e desta forma podemos saber o teste que apresentou problemas, de acordo com o valor que fica no display depois de um eventual travamento.

A tabela que se segue mostra alguns dos códigos de POST de um BIOS Award versão 4.5. Tabelas completas são bastante extensas, e os valores apresentados dependem do fabricante e da versão do BIOS. No manual de placas de POST como a PC Sentry, encontramos tabelas completas que explicam o significado de cada código, para as principais marcas e versões de BIOS.

Código POST Teste a ser realizado
01 Teste dos registradores internos do microprocessador
03 Inicialização do chipset
04 Teste do REFRESH da DRAM
05 Teste da interface de teclado
0A Preenchimento do vetor de interrupções
0B Teste de checksum no CMOS
0D Inicialização do vídeo
10 Teste DMA canal 0
12 Teste do Timer
42 Inicialização do controlador de disco rígido
51 Habilitação dos circuitos de paridade e cache

O display hexadecimal do PC Sentry possui um ponto decimal à sua direita. Este ponto deve acender durante o período de RESET. Quando ligamos o PC, este ponto deve acender ou apagar por um período de cerca de 0,5 segundo. Se isto não ocorrer, fica constatada uma falha no circuito de RESET. Este ponto também deve acender durante o pressionamento do botão RESET.

O PC Sentry possui 4 LEDs indicadores de voltagem: +5, -5, +12 e –12. Esses LEDs não fazem medidas nos valores de tensão, nem verificam se as tensões estão com os valores corretos. Apenas acendem caso essas tensões estejam presentes, sem fazer nenhuma checagem, ou seja, ficam acesos quando existe uma tensão qualquer, ou apagados quando não existe tensão alguma.

Outro teste interessante que o PC Sentry realiza é a captura de IRQ e DMA. Temos dois grupos de jumpers, cada um com um LED associado. Nesses dois grupos de jumpers, encontramos posições para IRQ3, IRQ4, IRQ5, IRQ6, IRQ7, IRQ9, IRQ10, IRQ11, IRQ12, IRQ14 e IRQ15. Para testar se uma certa IRQ está sendo ativada, colocamos o jumper na posição correspondente e ativamos a placa ou dispositivo que desconfiamos que esteja usando aquela IRQ. Se o LED acender, significa que a IRQ ocorreu, comprovando assim que aquele dispositivo realmente está usando aquela IRQ. O mesmo podemos fazer na detecção de canais de DMA. Desta forma podemos fazer um levantamento do uso dos canais de DMA e linhas de IRQ, identificando como esses recursos estão sendo usados. Este método nos permite identificar conflitos de hardware com relativa facilidade.

Melhor ainda que a placa PC Sentry é a placa Omni Analyzer, também fornecida pela Trinitech. Podemos ver esta placa na figura 19.

Figura 19 - Placa Omni Analyzer, da Trinitech.

Esta placa possui um display hexadecimal de 2 dígitos para exibição de códigos de POST, com um ponto decimal para indicação do pulso de RESET. Possui ainda um medidor de voltagem com 4 dígitos de precisão. Este medidor pode ser configurado para medir as tensões de +5, -5, +12 e –12 volts. A escolha da tensão a ser medida é feita por uma chave rotativa de 4 posições. Dois LEDs indicam a presença dos sinais OSC e CLK, que devem estar presentes no barramento ISA. A ausência de um desses sinais indica um defeito na placa de CPU.

Temos ainda diversos LEDs para a indicação de IRQs e canais de DMA. O uso desses LEDs é bem simples, já que cada linha de IRQ e cada canal de DMA possui o seu próprio LED. Para identificar o canal de DMA e a linha de IRQ usada por um determinado dispositivo, devemos inicialmente pressionar o botão que a placa possui para apagar todos os LEDs. Feito isso, fazemos um acesso ao dispositivo e verificamos quais LEDs ficam acesos. Esses LEDs ajudam muito na identificação e solução de conflitos de hardware.

Sem dúvida a característica mais interessante da placa Omni Analyzer é o programa ExperTrace, que fica gravado na sua ROM. Trata-se de um programa de diagnóstico, com funções semelhantes às dos decritos no capítulo 13. A sua vantagem é a execução direta a partir da ROM, sem a necessidade de realizar um boot. Podemos assim executar diagnósticos no PC, mesmo que o boot não seja possível. Este programa também pode ser obtido em disquete. No final desta seção indicaremos como você pode conseguir uma versão de demonstração deste programa. Vale a pena conferir.

Usando o ExperTrace

Quando a placa Omni Analyzer está conectada e o PC é ligado, é dado início ao POST. No caso de problemas, a impossibilidade de um boot inviabiliza o uso de programas de diagnóstico que ficam armazenados no disco rígido ou em disquetes. O ExperTrace não tem esse problema, pois fica armazenado em uma ROM. Em qualquer PC, as ROMs das placas de expansão são identificadas durante o POST. A seguir o POST ativa cada uma das ROMs encontradas, executando-as a partir de um endereço padrão. Nesse momento entra em ação o ExperTrace, sendo apresentada a tela mostrada na figura 20. Podemos teclar F10 para prosseguir com o boot normal, ou apertar outra tecla qualquer para executar o ExperTrace.

Figura 20 - Tela inicial do ExperTrace.

Será mostrada uma tela como a da figura 21, na qual é apresentado o hardware detectado. Para testar um dispositivo de hardware, basta selecioná-lo usando as setas do teclado e teclar Enter.

Figura 21 - Configuração de hardware detectada pelo ExperTrace.

Ao usarmos por exemplo a opção System, é apesentada a tela mostrada na figura 22. Nela encontramos informações presentes no CMOS Setup. Podemos agora escolher entre as opções apresentadas na parte inferior da tela. Com a opção Setup, temos acesso aos itens do Standard CMOS Setup. Isto é útil, pois permite essas alterações mesmo quando o CMOS Setup está inacessível, protegido por uma senha esquecida.

Figura 22 - Informações presentes no CMOS Setup.
Figura 23 - Relatório sobre o uso de recursos de hardware.

Ao escolhermos a opção Tech Summary, é apresentado um relatório como o da figura 23. Este relatório é muito útil na detecção de conflitos de hardware. São apresentadas as áreas de memória ocupadas por ROMs, trechos ocupados no mapa de E/S, e o uso das linhas de interrupção.

Sem dúvida um dos testes mais úteis é o de memória, ativado a partir do menu principal mostrado na figura 21. Temos as opções de testar apenas a memória convencional, ou apenas a memória estendida, ou ambas. A figura 24 mostra o teste de memória em andamento.

Figura 24 - Teste de memória do ExperTrace.

Como o ExperTrace é executado a partir de uma ROM, é capaz de testar a memória em situações muito críticas, nas quais o boot não pode ser realizado, nem por disquetes nem pelo disco rígido. Pode ser executado até mesmo quando a memória apresenta problemas. Basta que exista uma pequena quantidade de memória RAM em boas condições disponível a partir do endereço 0 da memória, para que o ExperTrace funcione.

Todos os testes do ExperTrace são parecidos com os encontrados nos demais programas de diagnóstico. A apresentação desses testes é entretanto bastante simples, já que todo o programa fica armazenado em uma ROM de 8 kB. A figura 25 mostra um dos vários testes feitos no disco rígido.

Figura 25 - Um dos vários testes para o disco rígido.

Entre os diversos testes no disco rígido, temos os de leitura e de gravação. Os testes de gravação podem ser feitos no modo não destrutivo (regrava os dados originais) ou destrutivo (não regrava os dados originais, sendo portanto mais rápido). O teste destrutivo pode ser feito quando o disco rígido está recém instalado, não contendo ainda dados armazenados. Podemos ainda especificar uma faixa do disco, delimitada pelo número do cilindro (inicial e final) na qual os testes serão realizados.

Para facilitar ainda mais a detecção de conflitos de endereços de E/S, o ExperTrace apresenta um mapa de E/S, como o da figura 26. Podemos assim identificar as áreas ocupadas por dispositivos já instalados, e livres que podem ser usadas por novos dispositivos.

Figura 26 - Mapa de E/S.

O ExpertTrace possui um comando bastante útil, uma extensa lista com algumas centenas de fabricantes de hardware e software, sendo apresentadas para cada um deles, diversas informações, como telefone do suporte técnico, fax, endereço na Internet, endereço de BBS e endereço de ftp.

O ExperTrace também realiza testes nas interfaces seriais e paralelas, com ou sem loopback. Esses loopbacks podem ser fornecidos junto com a placa Omni Analyzer. Podemos vê-los na figura 27.

Figura 27 - Loopbacks para serem usados com o ExperTrace.

A figura 28 mostra o teste de uma interface serial em andamento. Teste semelhante é feito na interface paralela.

Figura 28 - Teste de uma interface serial.

Como este não é o capítulo dedicado a programas de diagnóstico, fizemos uma apresentação bastante simplificada do ExperTrace. Mesmo assim foi suficiente para mostrar os seus recursos, e a grande vantagem em ser executado a partir de uma ROM.

Como obter o ExperTrace e demais produtos da Trinitech

Trinitech Latin America
Rua Serra de Juréa, 134 – conj-3
CEP 03323-020 – São Paulo SP
(011) 293-9303
http://www.trinitech.com.br