Cursos / Eletrônica / Projeto de Sistemas RF / Aula

arrow_back Aula 06 - Programação para Comunicação Serial

Configurando a Velocidade de Transmissão

Exemplo

Considere um microcontrolador trabalhando a 4MHz que precisa se comunicar a uma taxa de transmissão de 9600 bps com uma porta serial de um computador. A USART teria que ser utilizada no modo assíncrono, logo o valor do bit SYNC seria '0'. Vamos então aos cálculos.

Para $ BRGH = 1 $:

$$ SPBRG = \frac{4000000}{(16 \times 9600)} - 1 = 25.04 $$

Para $ BRGH = 0 $:

$$ SPBRG = \frac{4000000}{(64 \times 9600)} - 1 = 5.51 $$

Vemos que para BRGH em zero, o valor calculado é de 5.51, sendo que o valor inteiro mais próximo é 6. Por outro lado, se BRGH = 1, temos que o valor calculado é 25.04, que é bem mais próximo de um valor inteiro, causando assim um erro menor na taxa de transmissão. Logo, deve-se utilizar BRGH = 1 e SPBRG = 25. A taxa de transmissão será de 9615, que dá um erro menor que 1% da taxa de transmissão desejada.

Se liga!

Alguns microcontroladores utilizam até 16 bits para armazenar o valor de SPBRG. O valor então vai ser dividido em 2 registradores, cada um de 1 byte. Os registradores com os 8 bits menos significantes são chamados normalmente de SPBRG, enquanto o com 8 bits mais significantes é chamado de SPBRGH ('H' do inglês high). A configuração entre utilizar 8 ou 16 bits é feita pelo bit BRG16 do registrador BAUDCON.

Versão 5.3 - Todos os Direitos reservados