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:
<- protocol overhead (por exemplo, start bits, stop bits e parity bits) e
- 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
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 :)
Artigos semelhantes
- O que é 600×600 pixels na fotografia?
- Como aterrar um circuito Arduino, quando não diz para usar o pino de aterramento Arduino
- O que é uma taxa de trabalho por hora razoável para um mecânico automóvel e que factores contribuem para essa taxa?
- Será que cerca de 600 dólares serão suficientes para uma configuração de jogo e streaming?