26/01/2015

Programa de teste para a placa de desenvolvimento "PICop"

Este programa de teste serve para validar o funcionamento da placa PICop. Não pretendendo ser um programa de demonstração, apenas são testadas algumas valências básicas, nomeadamente o circuito oscilador e a detecção da tensão de host (Vbus) no conector USB. Convém sublinhar que este programa não faz uso do módulo USB do micro-controlador, nem habilita as suas funções.

Uma vez carregado o programa, a PICop gera um sinal de onda quadrada com uma frequência de 10Hz (50ms/50ms) no pino RC7. A presença desse sinal pode ser confirmada visualmente utilizando um LED (com o respectivo cátodo ligado directamente à massa e o ânodo ligado ao referido pino por intermédio de um resistor de 180Ω). Se a placa estiver a funcionar correctamente, o LED fica então a piscar com uma cadência muito rápida. No caso de preferir utilizar um osciloscópio, deverá visualizar uma forma de onda semelhante à da seguinte imagem:

Forma de onda do sinal presente no pino RC7.

O funcionamento do cristal integrado na placa também pode ser verificado com um osciloscópio. Assim sendo, a medição deve ser feita aos terminais do condensador C3, utilizando para o efeito uma ponta de prova equipada com mola de contacto à massa. Não aconselho a medição noutros pontos do circuito de realimentação do cristal, dado que tal pode inibir a oscilação. Deverá observar uma onda sinusoidal com uma frequência de 20MHz, conforme ilustrado na imagem abaixo:

Forma de onda do sinal gerado pelo cristal em X1, medido aos terminais de C3.

A detecção de Vbus faz-se assim que a PICop é ligada a um host. Nessa circunstância, enquanto a tensão proveniente do host for detectada, a tensão no pino RC7 assume um valor constante e positivo, correspondente a um valor lógico alto. Caso esteja a usar um LED (ligado da forma indicada anteriormente), verá que o mesmo agora permanece aceso, sem piscar. É de salientar que, como o módulo USB do PIC18F2450 não está habilitado, não se espera qualquer enumeração do lado do host.

O programa está disponível em C e em hexadecimal. O código C deve ser compilado previamente com o XC8, um compilador da Microchip para o MPLAB X. Em alternativa, pode programar o micro-controlador utilizando um dos ficheiros hexadecimais aqui fornecidos. É importante referir que o último ficheiro habilita a função MCLR do micro-controlador (bit MCLRE a um), pelo que não irá funcionar com a versão original da placa.

Links importantes:
Programa em C: http://app.box.com/s/tq0k...4wim
Ficheiro hexadecimal: http://app.box.com/s/i4pr...ppu4
Ficheiro hexadecimal alternativo (MCLRE): http://app.box.com/s/rsci...bmh4