Estou usando o PIC18F4680 e estou tendo problemas para executá-lo, formando uma fonte de clock externa de 40 MHz ou um cristal de 10 MHz no modo HSPLL. Usar cristal de 10 MHz no modo HS parece bom e cristal de 5 MHz no modo HSPLL também funciona bem.
O que acontece é que o PIC é iniciado, funciona por alguns segundos e, em seguida, é encerrado por um tempo e é iniciado novamente. O período total do ciclo é de cerca de 5 segundos, dos quais o PIC funciona pára de funcionar no início do segundo segundo.
Também notei que, às vezes, quando adiciono um capacitor descarregado grande o suficiente ao barramento de força da placa de ensaio, o PIC funcionará bem. O ponto interessante é que isso só acontece se eu adicionar o capacitor enquanto o PIC já estiver em execução. Se eu alimentar a placa de ensaio com o capacitor lá ou colocar um capacitor que não tenha sido completamente descarregado, o problema permanece.
Li em alguns sites que problemas semelhantes aos meus podem ocorrer devido ao aumento do consumo de energia do PIC em maior frequência e menor tensão operacional. Nesses casos, se houver uma queda de tensão curta na fonte de alimentação, é mais provável que eles atinjam a tensão operacional mais baixa do PIC nessa frequência, por isso é uma boa ideia ter capacitores adicionais na placa de ensaio para resolver esse problema. Desde a plena carga a 40 MHz, os usos circuito inteiro em torno de 64 mA, a minha primeira ideia era colocar um pouco de condensadores de tântalo na esperança de que eles seriam grandes o suficiente e têm ESR baixa o suficiente para resolver o problema. Um não ajudou e o segundo também não ajudou. Então eu adicionei um 100 μ Fcapacitor de alumínio e isso também não ajudou. Em seguida, adicionou-se uma condensador de alumínio ou nenhum efeito. No final, adicionei um capacitor eletrolítico de alumínio de 1 mF e, pela primeira vez, o circuito funcionou bem até desligar e ligar a energia. Devo também observar que, para fins de teste, estou usando Vcc de 5,5 V, que é a tensão nominal mais alta para este microcontrolador. Isso deve me deixar algum espaço até os 4,2 V, que são a tensão operacional mais baixa a 40 MHz
Em seguida, eu li que saídas às vezes flutuantes podem causar falhas, então eu coloquei alguns resistores pull-down em todos os pinos não utilizados e que não quer ajudar. Depois que eu li que, por vezes, poderia haver problemas se as entradas de oscilador estão flutuando, então eu tentei ligar-lhes para GND usando alguns 10 M ohms resistores e isso não ajudou.
Devido ao comprimento do fio que vai da saída do oscilador até a entrada do oscilador no PIC, eu esperava problemas com ele, mas não esperava problemas com o cristal de 10 MHz, que está muito próximo dos pinos do oscilador no PIC. Também com cristal, eu esperaria problemas no modo HS também, se a distorção do sinal do oscilador devido à placa de ensaio fosse o problema, mas no modo HS, o PIC funcionaria bem.
Normalmente, uso capacitores de 33 pF para os cristais, mas também tentei com 15 pF e não consegui detectar nenhuma alteração.
Devo também observar que este PIC possui monitor de relógio à prova de falhas e alternância de oscilador interno / externo. Tentei habilitar os dois, esperando que eles ao menos confirmassem que o problema está no oscilador, mas eles não ajudam no problema. Não há diferença se eles estão ligados ou desligados.
Também desabilitei para fins de teste o cronômetro do watchdog, redefinição de brown-out e redefinição de over / underflow da pilha. Eu acho que desliguei todas as fontes de redefinição para este chip. Além disso, o programa está em um loop infinito, por isso não está terminando.
O PCF8583 não apresenta problemas e continua a funcionar corretamente, mesmo quando o PIC está sendo redefinido, mas por outro lado, possui uma voltagem mínima muito menor.
Infelizmente, eu não tenho um osciloscópio, mas fiz alguns testes com uma placa de som (taxa de amostragem de 96 kHz) e notei que quando o RTC está ligado, há um ruído de 25 Hz na linha de energia. O programa que estou usando relata cerca de 300 mV pico a pico, mas não sei o quanto confiar e não sei se isso seria suficiente para causar problemas ao PIC. Quando tudo está desligado, o ruído é de cerca de 100 mV pico a pico, de modo que deve ficar bem.
Caso isso ajude, aqui está a imagem da própria placa de ensaio: (clique com o botão direito do mouse-> ver imagem em tamanho real)
Então, alguém tem alguma idéia do que está acontecendo aqui?
No final, eu poderia executar o PIC a 20 MHz, mas, se precisar de mais poder de processamento, gostaria de poder executá-lo a 40 MHz.
ATUALIZAR
Coloquei outro regulador na própria placa de ensaio e o ruído captado pela placa de som é muito menor agora (cerca de 50 mV pico a pico), mas não influenciou o problema principal.