Arduino tem relógio de hardware interno

Arduino tem relógio de hardware interno
Arduino é uma plataforma baseada em microcontrolador projetada para executar diferentes instruções de acordo com os requisitos do projeto. Para sincronizar toda essa operação, um relógio é usado com microcontroladores. O relógio é como o batimento cardíaco das placas Arduino necessárias para gerar pulsos de relógio. Esses pulsos de relógio sincronizam todas as operações internas e de hardware. Os microcontroladores dependem do relógio. O relógio determina o quão eficiente e rápido um microcontrolador é executar instruções. Agora, destacaremos fontes de relógio usadas dentro das placas Arduino.

Arduino tem relógio de hardware interno

Sim, Arduino tem um relógio de hardware interno. As placas de Arduino UNO têm dois chips de microcontrolador a bordo um é atmaga328p e o segundo é atmaga16u2. Ambos os chips de microcontrolador têm um relógio interno de 8MHz. ATMEGA16U2 é usada para comunicação serial entre a placa Arduino e o computador, enquanto o ATMEGA328P é o principal controlador da placa Arduino usada para construção lógica.

Fonte interna do relógio de hardware

Arduino tem duas fontes para relógios internos de hardware, conforme descrito acima. Ambos são usados ​​para dirigir dois microcontroladores separados.

  • Fonte do relógio ATMEGA328P
  • Fonte do relógio ATMEGA16U2

1. Relógio ATMEGA328P

O controlador Arduino UNO ATMEGA328P normalmente usa um oscilador de cristal externo para o seu relógio, que é de 16 MHz, mas também possui um gerador de relógio interno de 8MHz. Podemos configurar o oscilador interno do microcontrolador como fonte de sinal de relógio de 8MHz.

ATMEGA328P vem com um oscilador RC com um sinal de relógio de 8MHz. Seu fusível ckdiv8 é programado de acordo com a frequência de 8MHz, o que resulta em 1.Relógio do sistema 0MHz. Esta fonte de relógio padrão oferece liberdade aos usuários que podem projetar o relógio desejado com qualquer interface de programação. O valor máximo é definido para o tempo de inicialização do microcontrolador ATMEGA328P.

Por padrão, as configurações seguintes do relógio são fornecidas no microcontrolador ATMEGA328P e uma fonte de relógio externa também pode ser anexada:

  • Oscilador interno calibrado
  • Oscilador interno de 128kHz
  • Fonte externa do relógio

Oscilador interno calibrado

Oscilador RC interno fornece um microcontrolador 8.0MHz Clock. Esta fonte do relógio depende da temperatura e dos níveis de tensão, o que significa que uma pequena mudança nessas condições pode afetar o desempenho do microcontrolador. Para selecionar este relógio para o microcontrolador, geralmente os fusíveis CKSEL são programados. Se selecionarmos o relógio dele, o relógio funcionará sem qualquer fonte externa após a faixa de frequência, poderá ser alcançada programando fusíveis CKSEL como:

Faixa de frequência (MHz) Cksel3… 0
7.3-8.1 0010

Oscilador interno de 128kHz

128KHz também é um relógio padrão para o microcontrolador ATMEGA328. É um oscilador de baixa potência e não é projetado para requisitos de alta precisão, sua frequência é ideal para a temperatura de 3V e 25 graus C. Para selecionar este relógio, temos que definir o valor de fusíveis CKSEL para "0011". A faixa de frequência a seguir pode ser obtida por fusíveis CKSEL:

Faixa de frequência (KHZ) Cksel3… 0
128kHz 0011

Fonte externa do relógio

ATMEGA328P foi projetada de tal maneira que para aumentar sua velocidade de execução de instruções, podemos anexar uma fonte de relógio externa de 16MHz-20MHz, como o ressonador de cerâmica, usado em Arduino Uno.

Para dirigir o microcontrolador usando fontes de relógio externas, temos dois pinos disponíveis para um oscilador xttal1 e xttal2. O Arduino Uno usa esses dois pinos do ATMEGA328P para conectar um ressonador de cerâmica externo por seu requisito de frequência, pois essa fonte de relógio é mais eficiente que o relógio interno de 8 MHz.

Os pinos 9 e 10 são usados ​​para conectar os dois pinos do oscilador externo. A tabela a seguir mostra a configuração do pino para fonte externa do relógio:

Pino 9 XTAL Oscilador externo Conecte o pino 9 do microcontrolador a um pino do oscilador externo
Pino 10 XTAL Externo

Oscilador

Conecte o pino 10 do microcontrolador ao segundo pino do oscilador externo

2. Relógio ATMEGA16U2

Arduino Uno usa o ATMEGA16U2 como microcontrolador para comunicação serial entre Arduino e computador. Este microcontrolador atua como um conversor USB para TTL. Como o ATMEGA328P, este microcontrolador também vem com um oscilador RC interno de 8MHz e um relógio do sistema de 1MHz. O tempo de inicialização está definido como valor máximo. Todas essas configurações ajudam os usuários a programá -lo com qualquer interface de programação e projetar sua fonte de relógio necessária ou conectar um oscilador externo para aumentar a eficiência do microcontrolador.

Por padrão, as configurações seguintes do relógio são fornecidas no microcontrolador ATMEGA16U2 e uma fonte de relógio externa também pode ser anexada:

  • Oscilador interno calibrado
  • Pll
  • Fonte externa do relógio

Oscilador interno calibrado

ATMEGA16U2 tem um oscilador RC embutido que pode dar ao Arduino até 8MHz de relógio. Também depende da temperatura, portanto, a variação de calor e tensão pode afetar o desempenho do microcontrolador. Este relógio pode ser selecionado pela programação de fusíveis CKSEL internos. Durante a redefinição, o registro Osccal atinge seu valor padrão e não requer nenhuma fonte de relógio externo quando selecionado com o valor padrão de 8MHz do oscilador. A seguir, estão os modos de operação para osciladores internos calibrados:

Faixa de frequência (MHz) Cksel3… 0
7.3-8.1 0010

Pll

O PLL é usado para gerar uma alta faixa de frequência, especialmente para comunicação serial USB entre Arduino e computador. Pode gerar até 48MHz de frequência. O PLL recebe a baixa frequência de entrada de seu pino XTAL ou qualquer outra fonte de relógio externa, como no Arduino Uno Crystal Ocralator.

Fonte externa do relógio

Da mesma maneira que no microcontrolador ATMEGA328P, também podemos configurar um relógio externo com atatega16u2. Ao usar uma fonte de relógio externa, as mudanças repentinas na frequência do relógio devem ser evitadas para operação suave do MCU. No Arduino Uno Crystal Ocralator é usado como fonte de relógio externo para microcontrolador. O oscilador de cristal é mais eficiente do que seu ressonador de cerâmica concorrente devido a baixo custo e alta tensão e tolerância à frequência. Os fusíveis CKSEL devem ser programados para executar um oscilador externo.

A fonte externa do relógio pode ser conectada abaixo da configuração:

Pino 1 XTAL1 Oscilador externo Entrada para o amplificador do oscilador e relógio interno
Pino 2 XTAL2/PC0 Oscilador externo A saída do oscilador quando ativada pelo fusível pode ser usada como pino de E/S também

Conclusão

As placas Arduino são muito flexíveis em termos de fontes de relógio. Arduino tem dois microcontroladores a bordo que são atmaga328 e atatega16u2. Ambos os microcontroladores vêm com um relógio interno de 8 MHz, mas para obter a produção máxima e o aumento do desempenho, usamos um relógio externo de 16MHz para ambos separadamente. Aqui discutimos como os microcontroladores Arduino podem ser usados ​​com o oscilador interno do relógio e destacamos a maneira possível de adicionar um relógio externo.