Microcontroladores
Sistemas Digitais Microprocessados
(SDM)
SCI
Profa. Ana T. Y. Watanabe
[email protected]
Microcontroladores
“Tudo tem o seu tempo determinado, e há tempo
para todo o propósito debaixo do céu. ”
Eclesiastes 3:1
Interface de Comunicação Serial (SCI)
•
•
Comunicação Serial Assíncrona;
Capacidade
de
programar
a
velocidade
transmissão/recepção , 8bits ou 9bits, paridade,…
de
• A SCI possui dois registradores de deslocamento:
 Um deles realiza a conversão série-paralelo (receptor) o
outro faz a conversão paralelo-série (transmissor).
 A velocidade (ex. 9600bps, 19200bps) é determinada
por um circuito clock programável, conhecido por
gerador de Baud Rate.
Interface de Comunicação Serial (SCI)
A SCI possui dois pinos, um para a transmissão e outro para a
recepção.
O pino de recepção é o RxD que está multiplexado com o pino da
porta PTB0;
O pino de transmissão é o TxD que está multiplexado com o pino
da porta PTB1.
Interface de Comunicação Serial (SCI)
Transmissor SCI
O transmissor da SCI é constituído pelo Registrador de
deslocamento TSR (Trasmit Shift Register) e por um
circuito de controle, que controla o pino de saída TxD
(PTB1);
Interface de Comunicação Serial (SCI)
Diagrama de Blocos do Transmissor SCI
Interface de Comunicação Serial (SCI)
Funcionamento do Transmissor SCI:
=>Para realizar uma transmissão, é preciso ativar o
transmissor setando o bit TE (Transmitter Enable) no
registrador SCIC2;
=>e verificar se o buffer de transmissão está livre,
através do bit TDRE (Transmit Data Register Empty) do
registrador SCIS1.
=>Se este flag estiver setado, é possível escrever um
novo caracter no registrador de buffer de transmissão
(Registrador SCID).
Interface de Comunicação Serial (SCI)
Receptor SCI
O receptor SCI é constituído basicamente pelo
registrador de deslocamento RSR (Reception Shift
Register) e por um circuito de controle;
Interface de Comunicação Serial (SCI)
Diagrama de Blocos do Receptor SCI
Interface de Comunicação Serial (SCI)
Funcionamento do Receptor SCI:
=>Para realizar uma recepção, é preciso ativar o
receptor setando o bit RE (Receiver Enable) no
registrador SCIC2.
=>Então, os dados juntamente com os bits de
START(0) e o STOP(1) poderão ser recebidos através do
pino RxD (PTB0).
=>Quando o bit de STOP, que é o bit de parada,
é recebido no RSR, os dados serão transferidos para o
buffer SCID , desde que o bit RDRF (Receive Data
Register Full) do registrador SCIS1 não esteja setado,
ou seja, se o buffer de recepção estiver vazia.
Interface de Comunicação Serial (SCI)
Funcionamento do Receptor SCI:
=>Após o dado ser transferido para o SCID, então o bit
RDRF será setado indicando que há dado para ser lido
pelo usuário.
Interface de Comunicação Serial (SCI)
Gerador de Baud Rate:
=> Gerador de Baud Rate gera os sinais de clock
necessários aos circuitos de transmissão e recepção da
SCI.
=>Consiste em um divisor de frequência que divide a
frequência do BUSCLK por um fator de 1 a 8191
programado nos registradores SCIBDH e SCIBDL (BR).
velocidade (bps) = BUSCLK
BR x 16
Interface de Comunicação Serial (SCI)
Interrupção da SCI:
 3 vetores de interrupção:
Vetor 14(erro SCI);
Vetor 15(recepção SCI);
Vetor 16(transmissão SCI);
 O Registrador SCIS1 possui todos os flags de
interrupção.
 O Registrador SCIC2 habilita transmissão/recepção
de dados e habilita/desabilita interrupções.
 O Registrador SCIC3 habilita interrupção por
detecção de recepção e erros (paridade, quadros).
Interface de Comunicação Serial (SCI)
7 Registradores usados na SCI:
 SCIC2 (SCI Control2): Controla transmissão/recepção de
dados e habilita/desabilita interrupções;
 SCIS1 (SCI Status1): Status da transmissão/recepção de
dados e interrupções;
 SCID (SCI Data): Possibilita ler ou escrever caracteres no
buffer da SCI;
 SCIBDL e SCIBDH (SCI BauD rate Low e High): Fator
BR, que determina a divisão do clock;
 SCIC3 (SCI Control3): Habilita interrupção por detecção de
recepção e erros (paridade, quadros).
 SCIC1 (SCI Control1): Controla as capacidades como
paridade, número de bits, ...
 SCIS2( SCI Status2): Monitora recepção;
Download

Interface de Comunicação Serial (SCI)