Em meio a tantos osciladores no mercado, às vezes, ficamos em dúvida de escolher qual o ideal para o nosso projeto e diversas perguntas começam a surgir. Interno ou externo? Quartzo ou cerâmica? Oscilador de cristal ou oscilador de silício? Qual é o certo para o meu design? Nesse tutorial, vamos lhe ensinar a escolher o oscilador certo para o seu microcontrolador, abordando as diferentes opções disponíveis e suas aplicações específicas, para que você possa tomar a melhor decisão para o seu projeto.
Opções de oscilação
Todo microcontrolador precisa de uma fonte de clock. A CPU, o barramento de memória, os periféricos, os sinais de clock estão por toda parte dentro de um microcontrolador. Eles controlam a velocidade na qual o processador executa as instruções, a taxa de transmissão dos sinais de comunicação serial, a quantidade de tempo necessária para realizar uma conversão de analógico para digital e muito mais.
Toda essa ação de clock remonta à fonte do sinal do clock, ou seja, o oscilador. Portanto, você precisa garantir que seu oscilador possa suportar o desempenho que você espera do seu microcontrolador. Ao mesmo tempo, porém, algumas opções de oscilador são mais complexas ou caras que outras, portanto, sua escolha de oscilador também deve refletir a importância de reduzir custos e complexidade sempre que possível.
Como gerar um sinal de clock
Existem várias maneiras de gerar um sinal de clock para um microcontrolador. O datasheet do seu dispositivo em particular deve fornecer muitas informações sobre os tipos de osciladores que você pode usar e como implementá-los de forma compatível com o hardware do dispositivo. Este tutorial abordará as vantagens e desvantagens de várias fontes de clock, para que você possa escolher melhor entre as opções de oscilador discutidas no datasheet do seu microcontrolador.
Então, vamos começar com uma lista, seguida de uma discussão de cada opção.Para a opção interna, normalmente (tanto quanto sei, sempre) é utilizado um circuito resistor-capacitor. Esse circuito é fundamental para o funcionamento interno de muitos dispositivos eletrônicos. Além disso, a multiplicação de frequência é comumente realizada por meio de um loop de fase bloqueada (PLL). O PLL é um circuito de controle de feedback que gera uma sinal de frequência que tem uma relação fixa com a frequência do sinal de entrada, permitindo assim a multiplicação da frequência de entrada.
No caso da opção externa, existem várias alternativas. O clock CMOS é uma delas, conhecido por sua eficiência em termos de consumo de energia e sua capacidade de operar em uma ampla gama de frequências. Outra opção é o cristal, amplamente utilizado por sua alta precisão e estabilidade na geração de sinais de clock. Os ressonadores em cerâmica são também uma escolha popular, oferecendo uma boa precisão a um custo mais baixo que os cristais. Além disso, podemos usar circuitos resistor-capacitor e, em alguns casos, apenas um capacitor para determinadas aplicações específicas onde a precisão extrema não é uma prioridade.
Osciladores internos: a opção KIS
Sou um defensor do princípio Keep It Simple (Mantenha Simples), consequentemente, aprecio muito os osciladores internos e incentivo você a aproveitar-se do oscilador interno sempre que possível. Nenhum componente externo é necessário, você pode assumir com segurança que a frequência é bem escolhida, pois o oscilador foi projetado pelas mesmas pessoas que projetaram o restante do microcontrolador. Além disso, as principais especificações de desempenho, por exemplo, precisão inicial, ciclo de trabalho, dependência de temperatura, estão bem ali no datasheet.
A desvantagem dominante nos osciladores internos é a falta de precisão e estabilidade de frequência. A frequência da linha de base depende dos valores dos componentes passivos do circuito do oscilador, cujas tolerâncias não são particularmente rígidas. Além disso, a capacitância e a resistência são influenciadas pela temperatura ambiente, portanto, os osciladores RC internos experimentam “desvio” de temperatura, ou seja, mudanças na temperatura levam a mudanças na frequência.
Deficiências de um oscilador interno
Na minha experiência, muitas aplicações podem tolerar as deficiências de um oscilador interno, especialmente quando a frequência foi calibrada na fábrica. Com microcontroladores mais antigos, o oscilador interno pode ter tolerância tão ruim quanto ± 20%. No entanto, um dispositivo mais novo pode fornecer ± 1,5% (ou melhor), que é preciso o suficiente para a comunicação RS-232 e até (em conjunto com o circuito de recuperação do clock) para USB.
Outra maneira de expandir os recursos de um oscilador interno é o “recorte” manual, se o seu microcontrolador incluir um registro de recorte/calibração, você poderá ajustar a frequência modificando o valor nesse registro. Essa é uma técnica perfeitamente prática para projetos de baixa quantidade, pois basta medir a frequência do clock com um osciloscópio ou contador de frequência e, em seguida, aparar o oscilador de acordo.
Uma variação no tema do oscilador interno é o loop de fase bloqueada (PLL). Um PLL permite que um oscilador interno de alta qualidade e baixa qualidade se beneficie da estabilidade e precisão de um oscilador externo. Geralmente, uma PLL não evita componentes externos, pois necessita de um clock de referência, geralmente derivado de um cristal. Uma exceção é quando há um clock de alta qualidade na PCB, mas muito lento para o microcontrolador; nesse caso, use um PLL para multiplicar a frequência.
Clock CMOS
Outra opção de clock simples é o chamado “clock CMOS”, que se enquadra na categoria de falta de um termo melhor. “Clock CMOS” é uma maneira vaga (embora conveniente) de se referir a qualquer sinal de clock acionado por algum outro componente na placa. O clock CMOS é uma ótima opção se seu projeto já inclui um sinal de clock com uma frequência viável e características elétricas que são compatíveis com o circuito de entrada de clock CMOS do microcontrolador. Muitas vezes, porém, esse não é o caso, então vamos examinar duas opções para gerar um clock CMOS.
Primeiro é o “oscilador de cristal”. Este é um bom momento para ressaltar que um cristal de quartzo não é um oscilador, em vez disso, um cristal de quartzo é o componente central em um circuito de oscilador de cristal de quartzo, que pode ser algo como isto:
Os osciladores de cristal
Os osciladores de cristal são dispositivos que usam um cristal de quartzo e circuitos adicionais para gerar um sinal de clock digital. Assim, você obtém a estabilidade e a precisão de um cristal sem se preocupar com a capacitância de carga e o cuidadoso layout da placa de circuito impresso necessária para garantir uma operação robusta com um cristal independente.
A segunda opção é um “oscilador de silício”. Este termo se refere a CIs de osciladores que não usam cristais de quartzo ou ressonadores de cerâmica. Esses dispositivos são versáteis e fáceis de usar, e podem ser bastante precisos. Por exemplo, a série LTC6930 da Linear Tech requer apenas um capacitor de desvio, e a grande maioria das peças está dentro de 0,05% da frequência nominal:
Os osciladores de silício são mais confiáveis que os ressonadores de cristais e cerâmicos, especialmente em ambientes agressivos sujeitos a choques ou vibrações. Mas eles também são mais caros.
Quartzo e Cerâmica
Para alta precisão e estabilidade sem o custo de um CI de oscilador, opte pela abordagem de cristal independente. Peças com tolerância abaixo de 20 partes por milhão (ou seja, 0,002%) estão prontamente disponíveis. O circuito do oscilador é parcialmente integrado aos microcontroladores com configuração de cristal autônomo; você precisará fornecer os capacitores de carga corretos. A capacitância de carga total (CLTOTAL) é especificada no datasheet do cristal e os capacitores de carga são escolhidos da seguinte maneira:
onde CP representa qualquer capacitância presente. Este cálculo é bastante simples na prática: escolha um valor razoável para CP (digamos, 5 pF), subtraia-o de CLTOTAL e multiplique por dois. Portanto, se o datasheet fornecer uma capacitância de carga de 18 pF, temos:
Os ressonadores de cerâmica
Os ressonadores de cerâmica são menos precisos que os cristais, tolerâncias comuns são de 1000 a 5000 partes por milhão. Eles economizam alguns centavos se você não precisar da precisão do quartzo, mas a principal vantagem é que ressonadores de cerâmica vêm com capacitores de carga integrados.
Não há muitas situações que exigem um resistor externo, capacitor ou oscilador somente capacitor. Se, por algum motivo, você se opuser às opções de oscilador externo discutidas até agora, escolha um microcontrolador com um oscilador interno e use-o.
Se quiser usar peças de reposição, consulte o datasheet do microcontrolador para orientações sobre o circuito do oscilador. Aqui está um exemplo de como conectar os componentes, retirado do datasheet dos microcontroladores C8051F12x – 13x (PDF) da Silicon Labs:
E você pode consultar a página 190 (PDF) deste mesmo datasheet para obter um exemplo de informações sobre a escolha de valores de componentes.
Conclusão
Em resumo, agora você tem o conhecimento suficiente para escolher com confiança um oscilador para seu microcontrolador. Caso possua alguma dúvida ou sugestão, não hesite em deixar um comentário abaixo. Para finalizar aqui estão minhas recomendações em poucas palavras:
• Oscilador interno sempre que possível
• Oscilador de silicone se a precisão for adequada e o custo for aceitável – caso contrário, cristal de quartzo.