Escolar Documentos
Profissional Documentos
Cultura Documentos
Introdução
Uma interrupção é um mecanismo que permite que um evento externo suspenda
temporariamente a execução normal do programa, forçando a execução de uma
sub-rotina específica, com certa escala de prioridade. Após a conclusão da sub-
-rotina do serviço de interrupção, o programa principal continua do ponto em
que foi interrompido. Esse processo é o passo a passo mais comum dentro do
contexto de interrupções em sistemas microcontrolados, possibilitando que várias
aplicações sejam implementadas.
2 Aplicações das interrupções em microcontroladores
Para que uma interrupção ocorra (i.e., para que o ISR seja executado), a
interrupção individual e as interrupções globais do sistema microcontrolado
devem estar ativadas, bem como a própria condição de interrupção deve
ocorrer, seja ela interna ou externa (BALL, 2001). Por exemplo, para ativar o
bit ES (interrupção serial), o sistema deverá colocá-lo em nível alto (1), junto
ao bit EA (interrupção habilitada); se o sistema precisa habilitar a interrupção
por timer0, o bit ET0 deverá ser colocado em nível alto (1) em conjunto, sempre,
com o habilitador das interrupções (bit EA).
4 Aplicações das interrupções em microcontroladores
Interface SPI
A interface SPI (do inglês serial peripheral interface [interface periférica serial])
consiste em um link de dados síncrono que utiliza 3 ou 4 pinos (Quadro 1) para
permitir que um microcontrolador se comunique com qualquer número de
sensores ou dispositivos externos compatíveis com a comunicação SPI. Essa
interface funciona com base em bytes (8 bits), e seu protocolo trabalha com
o conceito mestre/escravo. O mestre é o dispositivo (p. ex., um microcontro-
lador) que inicia as comunicações e fornece o relógio para a sincronização. Já
o escravo é um dispositivo externo que responde às comunicações, recebe
comandos e envia dados, tudo conforme solicitado pelo microcontrolador
(SIM, 2014).
como eles devem estar conectados (a saída do SPI mestre conectada à en-
trada do SPI escravo). Ao se utilizar apenas 3 pinos para a comunicação, um
quarto sinal (pino SS), que estará conectado ao referencial terra (0 volts) no
dispositivo escravo, será necessário para selecionar o SPI escravo com o qual
se deseja estabelecer a comunicação, conforme a Figura 5.
O SPI não pode se comunicar com todos os escravos de uma só vez, de modo
que o sinal de seleção de escravos é utilizado. Contudo, somente o escravo
ativo no momento recebe as informações, pois a sua linha de seleção está
selecionada em nível baixo (0 volts). O restante dos SPIs escravos deverão ter
a sua linha de seleção em nível alto (+ 5 volts), caso contrário, eles receberão
os comandos (Figura 5). Cada pino se liga com seu pino correspondente,
fechando a ligação para que haja comunicação. Lembre-se de que o relógio
de referência (SCLK), utilizado para o sincronismo, é gerado pelo dispositivo
mestre da comunicação, geralmente o microcontrolador.
Aplicações das interrupções em microcontroladores 9
Interface UART
A interface UART (do inglês universal asynchronous receiver/transmitter
[transmissor/receptor assíncrono universal]) possui um módulo de circuito
integrado que suporta um protocolo para enviar quadros de oito bits (dados)
na comunicação entre microcontrolador e dispositivos externos (ARNOLD,
2001). A Figura 6, a seguir, apresenta o formato do quadro UART.
bit de paridade pode, então, ser enviado e gerado para que a paridade de
todo o quadro seja sempre par (ou sempre ímpar), para sinalizar o fim da
transmissão dos dados.
Em suma, a interface UART é simples de conectar e utiliza apenas 2 linhas:
TX (transmite) e RX (recebe). Além disso, não é necessário um clock (relógio)
para manter a comunicação, pois o sistema é assíncrono, conforme a Figura 7.
Interface I2C
A interface I2C (do inglês inter-integrated circuit [circuito interintegrado]) é
uma interface serial bidirecional para sistemas microcontrolados que utiliza
apenas dois pinos: SCL (serial clock) e das (serial data).
O SCL é gerado pela unidade processadora do sistema microcontrolado
para registrar dados dentro e fora do dispositivo periférico através do sinal
SDA, que consiste em uma linha bidirecional que transmite esses dados. O
sinal SDA é de chave normalmente aberta, para que vários periféricos possam
compartilhar o mesmo barramento de 2 fios. Ao enviar os dados, o sinal SDA
só pode mudar enquanto o SCL estiver no nível baixo (0). As transições na
linha SDA enquanto o SCL estiver em nível alto (1) são interpretadas como
condições de partida e parada (início e fim da transmissão de dados). Se
o SDA ficar em nível baixo enquanto o SCL estiver em nível alto, todos os
periféricos no barramento interpretarão isso como uma condição de START
Aplicações das interrupções em microcontroladores 11
Timers PWM
Watchdog timer
Um watchdog timer é um temporizador utilizado para detectar e recuperar de-
feitos ou mau funcionamento em sistemas microcontrolados (SUSNEA; MITESCU,
2005). Durante uma operação normal, o microcontrolador reinicia regularmente
o registrador do watchdog para impedir que ele atinja o tempo limite (timing
out). Se, devido a uma falha de hardware ou erro de código, o microcontrola-
dor falhar ao reiniciar o watchdog, o temporizador gerará um sinal de tempo
limite, que será utilizado para iniciar ações corretivas. As ações corretivas
normalmente incluem colocar o sistema em um estado seguro ou restaurar a
operação normal do sistema microcontrolado por meio de uma interrupção
interna, que reinicializará (reset) o microcontrolador (ZLATANOV, 2014).
A Figura 12, a seguir, apresenta um diagrama de blocos com a estrutura de
um watchdog timer, composto por um contador interno. O tempo de estouro
é programável e, ao atingir o seu limite, por meio do detector de overflow,
gera uma interrupção.
Referências
ARNOLD, K. Embedded controller hardware design. [S. l.]: Elsevier, 2001. (Embedded
Technology TM Series).
BALL, S. Analog interfacing to embedded microprocessors: real world design. Woburn:
British Library, 2001.
CALCUTT, D.; COWAN, F.; PARCHIZADEH, H. 8051 microcontrollers: an applications based
introductions. Burlingrton: Elsevier, 2004.
LIPOVSKI, G. J. Introduction to microcontrollers: architecture, programming and inter-
facing for the Motorola 68HC12. San Diego: Academic, 1999.
MACKENZIE, S. I. The 8051 microcontroller. 3rd ed. [S. l.]: Prentice-Hall, 1995.
SIM, M. A practical approach to hardware semaphores for MCP56xx and MPC57xx multi-
-core. [S. l.]: NXP, 2014. (Document Number: AN4805).
SOLITON TECHNOLOGIES. UART protocol validation service. 2020. Disponível em: https://
www.solitontech.com/uart-protocol-validation-service/. Acesso em: 13 ago. 2020.
SUSNEA, I.; MITESCU, M. Microcontrollers in practice. Berlin: Springer, 2005.
ZLATANOV, N. Architecture and operation of a watchdog timer. 2014. Disponível em:
https://www.researchgate.net/publication/295010877. Acesso em: 13 ago. 2020.