Casa > Q > Qual É A Taxa De Bauds E Porque É Que O Arduino Tem Uma Taxa De Bauds De 9.600?

Qual é a taxa de bauds e porque é que o Arduino tem uma taxa de bauds de 9.600?

Baud rate é a taxa na qual os altos e baixos devem ser amostrados para decodificar o sinal. O sinal inclui:

<
  1. protocol overhead (por exemplo, start bits, stop bits e parity bits) e
  2. li>dados específicos da aplicação real

In arduino você pode usar 300, 600, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600, ou 115200. No entanto, 9600 é a taxa de bauds padrão normalmente utilizada. Olhando para o último número você pode pensar que 115200 deve ser a maior taxa de bauds, NÃO SUA NÃO!

Você pode conseguir mais do que isso! Olhe o datashet do ATmega328P abaixo

main-qimg-325de4c0c513dea3c22b054ef9b6e1d2.webp

Existem vários fatores aqui:

  • Quão alta a taxa de baud-rate pode atingir o ATmega328P MCU?
  • Quão alta a taxa de baud-rate pode atingir a interface USB-Serial?<
  • Qual é a freqüência do oscilador no ATmega328P?
  • Qual é a freqüência do oscilador na interface USB-serial (se tiver uma)?
  • Quão tolerante é a interface USB-serial de uma taxa de baud-rate diferente?

Todos estes fatores são relevantes para determinar a taxa de baud-rate máxima atingível. O ATmega328P usa um divisor de hardware a partir dele's clock rate para gerar o relógio de base para a interface serial. Se não houver uma relação inteira desde o relógio principal até o bit-time da taxa de transmissão desejada, a MCU não será capaz de produzir exatamente a taxa desejada. Isto pode levar a problemas potenciais, já que alguns dispositivos são muito mais sensíveis ao desajuste de baud-rate do que outros.

Interfaces baseadas emFTDI são bastante tolerantes ao desajuste de baud-rate, até vários por cento de erro.Interfaces seriais gerais são tolerantes a ~5% de erro de baud-rate. No entanto, como cada extremidade pode estar desligada, uma especificação mais comum é +-2,5%. Desta forma, se uma extremidade é 2,5% rápida, e a outra é 2,5% lenta, seu erro geral ainda é apenas 5%.

O Uno usa um ATmega328P como MCU primário, e um ATmega16U2 como interface USB-serial. We're também são afortunados aqui na medida em que ambas MCUs usam USARTs de hardware similares, assim como relógios de 16 Mhz. Como ambas MCUs têm o mesmo hardware e taxa de clock, elas'ambas terão o mesmo erro de taxa baud-rate na mesma direção, então podemos funcionalmente ignorar o problema do erro baud-rate.

Então aparece (de acordo com a folha de dados) que o hardware pode rodar a 2.000.000 baud sem problemas. Você pode testar isso escrevendo um código.

THANK YOU :)

De Fara

Qual é a diferença entre uma ROM Android de ações e uma ROM personalizada? :: Quais são os prós e os contras de um Chromebook em comparação com um tablet?