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;