O cristal de 32 kHz não está funcionando conforme o esperado


16

Estou tentando descobrir esse problema há alguns dias, lendo sobre a operação / configuração típica de cristal, e estou perdido. Tentei pesquisar aqui, mas não encontrei nada parecido com o meu problema. Sinto muito se perdi minha solução em algum lugar.

Estou tentando executar um RTC de um cristal externo usando um PIC, mas o cristal não está oscilando quando eu espero, e está oscilando sob outras circunstâncias, e não consigo entender nada. Eu não sou um EE, então provavelmente estou apenas sendo super ignorante.

O cristal: LFXTAL016178 . Estou bastante certo de que, como nada está listado, é um cristal ressonante paralelo. Sua capacitância de carga é de 6 pF, o que eu achei meio incomum? Não tenho certeza.

O PIC: PIC24FJ128GB204 . Conectei o cristal como sugere a folha de dados, mas ele não fornece muita ajuda explícita na seleção de capacitores de carga. Pesquisei e encontrei outros recursos on-line para me ajudar lá.

A configuração: vi de algumas fontes que uma boa regra geral para capacitores de carga é , adicionando capacitância perdida a e entre 2 e 5 pF. Escolhi o que eu pensava ser um valor médio de 6pF para os dois capacitores, e ainda não tenho certeza de quão ruim foi essa seleção.CL=C1×C2C1+C2C1C2

Aqui está uma foto do meu esquema: esquemático Layout: disposição

Casos em que não funciona:

  • Como está no esquema, com capacitores de carga de 6pF nos dois pinos, ele não oscila. A menos que oscile a cada 10 minutos ou algo assim.
  • Com os capacitores removidos, ele oscila extremamente devagar, talvez aproximadamente 2,5 vezes mais devagar do que deveria. Eu não medi essa velocidade.
  • Com capacitores extras de 6pF soldados na parte superior para produzir capacitores de 12pF, ele não oscila.
  • Com capacitores de 3 pF e resistor de 10 MOhm nos pinos. (O relógio RTCC está irregular.)

Casos em que faz o trabalho:

  • Quando sondas o pino SOSCI com um osciloscópio. Nos três primeiros casos acima, assim que toquei a sonda no pino SOSCI, ela foi iniciada e me deu uma boa onda senoidal limpa. Não fez isso quando toquei o pino da SOSCO, ou quando usei capacitores de 3pF. Sei que não estava funcionando de antemão por causa de alguns LEDs que deveriam piscar a cada segundo, que apenas piscavam com a sonda conectada. (Não sei tudo sobre os osciloscópios, apenas sei como operá-los. A sonda diz 6MHz / 1MOhm / 95pF, e o osciloscópio diz 60 MHz / 1 GS / 1 GS / se 300V CAT II onde a sonda se conecta. É uma Tektronix 2002, se isso significa alguma coisa para alguém.)
  • Quando conecto um resistor de 330 Ohm entre o SOSCI e o terra. É um dos dois resistores que tenho em mãos; parecia que o 10k o fazia operar com cerca da metade da frequência certa.
  • Com capacitores de 3 pF, mas a 14 kHz.

Aqui estão algumas frequências que eu medi:

  • (12 pF Caps) Freqüência da sonda de toque em SOSCI: 32,7674 kHz
  • (12 pF Caps) Saída de frequência por PIC com o pull-down de 330 ohms no SOSCI: 32.764 kHz
  • (12 pF Caps) Saída de frequência por PIC usando LPRC: 32,68 kHz
  • (3 pF Caps) Saída de frequência por PIC: 14,08 kHz

Basicamente, o que eu gostaria de saber é por que às vezes oscila perfeitamente quando uso uma sonda de escopo e qual deve ser a solução correta para fazê-la funcionar como eu quero.

Ceu

CeuCeu


11
Todo esse terreno resulta em uma capacitância maior.
Ignacio Vazquez-Abrams

11
E se você colocar um resistor bastante grande (entre 300k e 4.7M, digamos) em paralelo com o cristal?
uint128_t

11
Este PIC possui um GPIO muito configurável compartilhado com pinos XTAL. Você tem certeza de que possui a configuração de E / S correta em seu software?
Ale..chenski


2
Osciladores de cristal são complicados. Você checou os REFERENCE DESIGNS, para que tipo de cristais eles usam e qual funciona? microchip.com/wwwproducts/en/PIC24FJ128GB204#tools
Ale..chenski

Respostas:


10

O fabricante do MCU provavelmente está com defeito. Não há desculpa para não projetar um oscilador MCU RTC moderno para funcionar de forma confiável com qualquer cristal de 32kHz comercialmente disponível.

Infelizmente, o oposto é muito mais comum, como você já descobriu - no seu caso, a folha de dados do MCU não menciona que a capacitância de carga de 6pF não funciona.

O principal problema é que você está lidando com um sistema de dois componentes , fabricado por dois fabricantes diferentes. Um deles fala silício e o outro fala quartzo, e eles nunca concordaram adequadamente em como dizer aos designers como seus produtos funcionam de maneira confiável em conjunto.

Então, como você descobriu, o oscilador de cristal pode ser uma armadilha para quem não está cansado. Vi uma grande linha de produção automotiva parar por causa de problemas de inicialização do oscilador de cristal!

De qualquer forma, para chegar à sua pergunta sobre o porquê , há quatro parâmetros importantes em jogo:

  1. Impedância de saída do oscilador MCU. Isso varia com a frequência e geralmente é complicado por bits de configuração, como "nível do inversor" ou "nível de potência". Eu nunca vi esses valores especificados / garantidos por qualquer fabricante de MCU.

  2. Impedância de entrada da rede capacitor-cristal-capacitor externo "pi". Isso é determinado principalmente pelo capacitor no lado da entrada, que por sua vez é determinado pela capacitância de carga especificada pelo fabricante de cristais.

  3. Gm

  4. Ganho de tensão (na verdade perda) do circuito externo Cap-Xtal-Cap "Pi" em ressonância. Isso é determinado principalmente pela resistência interna em série equivalente (ESR) do cristal. O cristal que você mencionou especifica ESR = 50k. A resistência também aumenta com a idade (quando a umidade / impurezas vazam para a caixa de cristal) e também é afetada pela temperatura / tempo de solda. (As impurezas na caixa de cristal evaporam e depositam no quartzo) A ESR também pode variar significativamente entre os lotes de fabricação. 50k é um ESR bastante típico para um cristal de 32kHz - o menor que eu já vi especificado em 32kHz para cristais de fator de forma pequeno é 30k.

Para qualquer oscilador funcionar, o ganho total de tensão, que é o produto de (3) e (4), deve ser> 1. Além disso, a fase do ganho (sim, o ganho é um número complexo) deve ser de 360 ​​graus. Cerca de metade da fase, 180 graus, é fornecida pelo amplificador inversor, e a "segunda inversão" é fornecida pela rede cap-xtal-cap.

Aqui está uma simulação online simples que pode ajudá-lo a entender como o ganho, a impedância de saída e os valores do capacitor interagem e afetam a inicialização. Clique com o botão direito do mouse em qualquer componente para alterar seu valor. (Nota - esta simulação usa a tensão residual do capacitor de 1mV para a inicialização falsa, mas na vida real o ruído no amplificador é a fonte da inicialização, como nesta )

Então, o que aconteceu no seu caso? Provavelmente, o projetista do oscilador MCU projetou seu estágio de saída para funcionar de forma confiável com cristais carregados de 12,5pF, e descobriu-se que, no carregamento de 6pF, o ganho de tensão ou os requisitos de fase simplesmente não eram atendidos. Uma vez que nada sobre as premissas do projeto está indicado na folha de dados, voilá, problema para você - e muitos outros.

Uau, o que um designer incorporado deve fazer?

Primeiro, esteja sempre ciente de que um oscilador marginal de cristal pode custar muito dinheiro aos seus negócios.

Segundo, à luz do exposto acima, especialmente se você não tiver experiência ou se o fornecedor do MCU não especificar parâmetros de cristal na folha de dados , seu melhor investimento pode ser um oscilador externo de baixa potência e 32kHz.

Terceiro, verifique se você usa um cristal com ESR e capacitância especificados pelo fabricante do seu MCU. Se você não encontrar nenhum item na folha de dados, peça ao seu fornecedor uma lista dos números de peça de cristal recomendados ou escolha um MCU que sim.

Quarto, teste, teste, teste! Sobre todas as tensões e temperaturas . Observe quanto tempo a inicialização leva, cronometrando-a no firmware usando um relógio RC, se possível, e se as unidades de produção excederem a norma, digamos 2x, deixe o firmware de teste definir um sinalizador para que possa ser notado nos testes de produção. Dessa forma, as unidades de produção não podem sair pela porta com osciladores marginais sem o alarme tocar.

O que os engenheiros experientes de verificação de produção fazem?

Eles solucionam a falta geral de informações adequadas, exigindo uma margem de segurança de 10x entre "o que funciona" e "o que funciona de maneira confiável" - eles medem a ESR real e adicionam uma "resistência a desvantagens" adicional de 10x em série com o cristal no cristal. rede cap-xtal-cap. Se o sistema "ESR deficiente" funcionar em todas as combinações de tensão e temperatura , presume-se que a margem de segurança 10x seja suficiente para cobrir as variabilidades desconhecidas no ganho de ESR e MCU. Isso é parcialmente explicado na figura 3 desta nota de aplicação.

O que você deveria fazer?

Se você não puder executar o teste acima por qualquer motivo e quiser vender um produto em milhares, certamente estará melhor investindo os centavos extras em um oscilador de 32kHz pronto para uso de um fornecedor de osciladores que fez todos esses testes para você ou mudando para um MCU que especifica um cristal específico (ou requisitos de cristal) na folha de dados do dispositivo.

Embora você possa "consertar" a situação selecionando um cristal com menor resistência interna e / ou tocando com valores de capacitores diferentes / assimétricos, sua solução ainda pode ser marginal, pelas razões explicadas acima.

TL; DR:

Os osciladores de cristal podem custar muito tempo e dinheiro aos seus negócios. Use um oscilador externo, se puder, ou faça o teste de "ESR deficiente", conforme descrito acima, em todas as faixas de tensão e temperatura.

Por fim, certifique-se de usar capacitores NPO para estabilidade da temperatura.


Menor ESR é bom para AT cortar modo série AMD mas maior ESR como 50 ~ 70kohm é melhor do que 30k para a estabilidade
Tony Stewart Sunnyskyguy EE75

Se seu aplicativo precisar de alta confiabilidade, também recomendo um oscilador externo. Se o custo é um fator importante, recomendo o uso de um oscilador LC "padrão", na frequência desejada, e use o cristal - apenas para estabilizá-lo, não como fonte do sinal.
Guill

@TonyStewart - interessante, você sabe a razão fundamental disso ou tem uma boa referência?
neonzeon

@neonzeon Minhas referências não são úteis, mas as Notas de Aplicação dos testes do OEM de vários fornecedores de ressonadores de 32,76kHz indicam melhor estabilidade em ESR mais alto. O IQD declara que seus XOs de tolerância ultra baixa e baixa potência não possuem notas de aplicativo para seus Xtals. Sim, as especificações para as melhores partes de 10 ppm a 32kHz especificam ESR = 70k AND 0,1uW + \ - 0,01 uW no nível da unidade com carga C até opções de 6pF. Isto implica que não se deve mesmo usando o design OP' com cobre derramar nem 5V nem sem Rs
Tony Stewart Sunnyskyguy EE75

Posso estar errado nas premissas acima sobre ESR, ti.com/lit/an/slaa322d/slaa322d.pdf#page12 indica maior margem SF em 35k e menor a 70k por isso, talvez a função ESR superior ... com potência inferior demonstrados ao IQD como 0.1uW 10% e 0.5uW max enquanto outros são 1uW max, assim diminuir ESR é bom para a margem e alta ESR permite potência menor
Tony Stewart Sunnyskyguy EE75

14

Há duas coisas principais acontecendo:

  1. Você não possui capacidade de carga suficiente.

  2. Você não entende a capacidade de carga.

Imagine um lado de um cristal sendo conduzido com uma onda senoidal na frequência do cristal. Este sinal é de baixa impedância. A capacitância de carga é a capacitância que você coloca do outro lado do cristal para causar uma mudança de fase de 180 °.

A mudança de fase de tais cristais varia rapidamente em função da frequência na frequência de operação dos cristais. Como a fase em função da frequência é muito acentuada na freqüência de operação, é bom que o circuito de acionamento use para garantir que o cristal esteja operando na frequência pretendida. Esses tipos de circuitos oscilam de maneira ideal quando o cristal muda a fase de entrada em 180 °. Como apenas uma pequena mudança de frequência atrapalha, a oscilação resultante é muito próxima da frequência pretendida pelo cristal.

Agora de volta ao seu circuito. A grande pista é que as coisas funcionam quando você coloca uma sonda de osciloscópio no pino de entrada do oscilador. O que isso está fazendo é adicionar capacitância no lado de saída do cristal. Aparentemente, com a configuração que você possui, a capacitância adicional da sonda de osciloscópio faz com que o cristal mude a fase para a quantidade apropriada para o sistema oscilar. Se você mesmo adicionar mais capacitância apenas à saída de cristal , replicará o efeito da sonda de osciloscópio e tudo funcionará. Tente mais 10 pF para iniciantes.

Não use fórmulas encontradas no outro lado da internet sem entendê-las. A equação que você mostra faz várias suposições, algumas delas não válidas. Infelizmente, existe muita estupidez convencional por aí em relação aos cristais.

O cristal, por si só, é apenas um dispositivo de dois terminais e não "sabe" nada sobre o terra do seu circuito. Por fim, a capacitância de carga é o que está em seus terminais. A estupidez convencional, portanto, diz usar dois capacitores iguais de cada lado do cristal para o solo. Uma vez que estes são em série, cada um precisa ter o dobro da capacitância desejada. No entanto, qualquer capacitância perdida que você acha que exista em cada lado do cristal precisa ser subtraída dessas capacitâncias.

O problema com a estupidez convencional é que ela ignora a impedância da saída do driver de cristal. Considere o caso extremo em que é 0. Nesse caso, a capacitância adicionada no lado de entrada do cristal é completamente irrelevante, pois é paralela à impedância 0 do driver. A carga no cristal é apenas a capacitância em sua saída.

Faça algumas contas. A impedância de 6 pF a 32,8 kHz é 810 kΩ. Agora, a impedância do driver de cristal certamente não é zero, mas provavelmente significativa em relação a 810 kΩ.

Considere o que cada uma das tampas realmente faz. O da entrada carrega o driver do cristal. O principal objetivo disso é atenuar alguns dos harmônicos que saem do driver. Isso bate menos no cristal e torna menos provável que todo o sistema oscile em um harmônico. Os cristais têm características complexas de transferência. Eles podem ter algumas das mesmas características em harmônicas que na freqüência de operação pretendida. Alguns cristais são cortados de modo a permitir deliberadamente o uso em harmônicos, chamado de modo de overtone na indústria.

A capacitância na saída é a verdadeira capacitância de "carga". Sua reatância funciona contra a do cristal para mudar de fase o resultado na quantidade certa na frequência certa.

No seu caso, o cristal é classificado para carga de 6 pF, e é isso que você coloca na saída. Isso deveria ter funcionado. Meu palpite é que o que está acontecendo é que a tampa na entrada do cristal, realmente na saída do driver do cristal, também causou uma mudança de fase que funcionou contra a tampa da carga. Apenas como teste, tente remover a tampa da entrada de cristal e deixe os 6 pF em sua saída. Seria bom ver a forma de onda na entrada de cristal, mas mesmo uma sonda de escopo de 10x pode alterá-la. Tente de qualquer maneira, mas verifique se a sonda de osciloscópio está definida com a maior impedância e, portanto, a menor capacitância possível.


A maioria dos cristais de overtone são exclusivamente para> 10MHz e não para 0,32768 MHz devido ao tamanho. Também explicar o que acontece com Q, quando a baixa impedância de saída está dirigindo o cristal CLC paralelo modo ressonante, sem uma série R.
Tony Stewart Sunnyskyguy EE75

Eu acho que 2. está correto, mas 1. não está. o limite de carga do gap de rastreamento é muito alto e não é dividido, permitindo que o primeiro limite crie um LPF de transmissão e evite a capacitância de passagem através do ressonador. reconsiderar pls
Tony Stewart Sunnyskyguy EE75

7

As duas tampas e o cristal operam como uma mudança de fase de 180 graus. As magnitudes das duas tampas (taxa) definirão a taxa de transferência de tensão. 6Pf parece um pouco pequeno, a questão é qual é o ponto de design da carga paralela de cristal? Você não deseja se afastar desse valor. Eu normalmente tenho 27pf de cada lado.

Também vejo um modo se o cristal estiver diretamente ligado à saída do processador. Essa saída pode ser baixa Z, o que pode sobrecarregar um cristal. Lembre-se de que esta especificação de unidade desses cristais de relógio é pequena, muito fácil de ultrapassar. Uma série R de 100K pode ser usada para reduzir a movimentação do cristal.

Verifique se o processador possui um resistor de polarização de 1 a 10 Meg da saída à entrada. Você mencionou que ele começa a oscilar quando tocado com um prob de escopo. Isso pode ser um problema de polarização DC (sonda de 10 meg, eu acho) ou provavelmente a tampa da sonda que ajusta a taxa de transferência do circuito ajustado.

Seja realmente limpo (sem fluxo disperso) e fios muito curtos. É um circuito Hi Z real.

Bob K.

Além disso: as sondas "padrão" que utilizo são x 100, pois fornecem a menor quantidade de capacitância, lembro-me de 1,5pf. Usar x 10 é difícil neste circuito, x 1 é inútil. Ues x 100 e aumente o ganho vertical da luneta, faça com que o front end da luneta faça seu trabalho. As sondas X 1 são quase inúteis para Z alto ou alta velocidade. Você vai adorar o x 100 fazendo trabalhos digitais, pois as correntes de clipe GND diminuem por um fator de 10. Experimente.


A única resposta que pude encontrar sobre o resistor interno foi que os pinos do oscilador primário possuem um de 2 a 10 MOhms e que os pinos do oscilador secundário têm um.
Andrew Elliott

6

A 32KHz, esses cristais não são típicos de cristais XT / AT, mas sim cristais de relógio digital, pequenos "diapasões" com alguns mm de comprimento.

Como responde ao toque, o viés de DC fornecido pelo PIC pode estar errado. Tente adicionar resistência de grande valor conectada entre os pinos do oscilador (10Meg, até 22Meg.)

É possível que seu cristal seja danificado por overdrive. (Uma referência sugere incluir mais de 100K de resistência entre o pino SOSC e o cristal.)

Para obter muitas informações, leia as especificações técnicas de chips mais antigos com osciladores usando esses cristais de diapasão de baixa frequência ...

página 10 aqui: http://www.abracon.com/Support/Tuning-Fork-Crystals-and-Oscillator.pdf

http://www.ti.com/lit/an/slaa322d/slaa322d.pdf

PS: Percebo que a mina de ouro eletrônica atualmente possui garfos de afinação baratos de "cristais de relógio" com frequências incomuns, não 32KHz


Aceita. A maioria dos osciladores de cristal de 32 kHz que eu já vi precisa do resistor de 10 MEG nos pinos de cristal.
Vince Patron

Verdadeiro, pois a simetria de onda quadrada é balanceada pelo limiar de cruzamento de Vgs próximo a Vdd / 2. Mas incorrecta, uma vez Microchip já inclui 10M e recomendar 1M para 32k dispositivos externamente em uma das notas fheir App
Tony Stewart Sunnyskyguy EE75

3

Na minha experiência e na maioria dos TIs de OEM, recomendo feedback externo de 1MOhm, e não 10M que já estão dentro. Os ressonadores do diapasão têm alto ESR e limiares de dano em UW muito mais baixos do que o modo XT ou os cristais de corte AT.

.Atenção. Se você ignorar Mfg ou OEM App Notes, pode estar danificado.

Este é um circuito ressonante paralelo. A ressonância é uma mudança de fase de alta impedância de 180 graus que após a inversão fornece feedback positivo. Internamente, existe um feedback R de 10M ohm de altura que em DC serve para auto-polarizar a entrada em Vdd / 2 para gerar uma saída quadrada de onda que tem uma tensão CC média de Vdd / 2.

Se a entrada CC não estiver próxima desse valor, Vdd / 2, onde opera como um amplificador inversor linear, a saída será travada em "1" ou "0". Eu esperaria que 330 ohms entre o Input SOSCI e o Vss ou o Vdd mudassem o viés o suficiente e parassem o relógio. Isso contradiz seus testes com 330 Ohm a 0V e só faz sentido se você inverteu In e Out, pois apenas a saída SOSCO pode fazer isso.

A capacitância motional é de apenas cerca de 3,5 fF (fentofarads) com uma indutância de cerca de 35kH e VHS de 35 ~ 70 kOhms. Isso define os parâmetros ideais do ressonador para oscilar em 32768 Hz. O Q é> 10k.

Se você ler o aplicativo da Microchip. note, recomenda; um deles é http://ww1.microchip.com/downloads/en/AppNotes/00001798a.pdf

  • adicione feedback externo de 1 milhão para reduzir os possíveis erros causados ​​por contaminação por vazamento de superfície e distorção incorreta
  • adicione a série R para evitar a sobrecarga do uW, por exemplo, 10k e teste para margem com falha na oscilação da margem Rs / (sRs + ESR)> 2 = marginal, 3 = melhor, 5 = melhor Isso garante que haja ganho de loop suficiente para oscilar.
  • se você usar limites desiguais, diminua o limite de entrada para permitir a capacitância de entrada.
  • limpe todas as almofadas de fluxo
  • considere uma ilha de lacuna de guarda em torno do cct inteiro e, em seguida, um sinal ou guarda de perímetro. para reduzir a interferência dos dedos ou diafonia.

Sua única falha de projeto principal foi que o preenchimento de cobre em todas as faixas adiciona muita capacitância e reduz o feedback da mudança de fase de 180 para 90 graus, onde se o ganho do loop for insuficiente, ele não irá oscilar ou forçar uma ressonância mais baixa. Esse layout obriga a escolher um xtal que exija maior capacidade de carga para estabilidade, a fim de atender aos critérios de Barkhausen.

Essas lacunas da trilha devem ser iguais ou não menos que as lacunas entre os blocos de CI, pois o C gnd perdido é inverso à lacuna.

Embora o conselho da Microchip melhore a margem, eles não antecipavam usuários que usavam intervalos agressivos de preenchimento de cobre <0,1 mm.

A sonda 1: 1 tem muita indutância à terra e capacitância coaxial e 1M também altera o viés de entrada de CC.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.