Escolar Documentos
Profissional Documentos
Cultura Documentos
AULA 3
3
1.1.1 Exceção
1.1.2 Interrupção
4
a interrupção para indicar que um pacote de dados chegou e está
disponível para ser lido.
1.2 Prioridades
5
TEMA 2 – INTERRUPÇÕES: FUNCIONAMENTO
6
Figura 4 – Interrupção sensível à borda: (B1) Sensível à borda de subida / (B2)
Sensível à borda de descida
7
Figura 5 – Um dos registradores utilizados para mascaramento de sinal no
processador ARM
9
• Salvar o contexto que está no processador: como os mesmos
registradores são utilizados tanto pelo programa principal quanto pelo
ISR, é função deste último salvar o estado do processador antes de
executar qualquer processo de interrupção. Vale lembrar que um contexto
consiste em ponteiros, registradores e flags. Normalmente, este passo é
realizado automaticamente.
• Reconhecimento da interrupção: executa as ações necessárias para a
interrupção e também limpa a interrupção existente para sinalizar que
esta já foi tratada.
• Restaurar o contexto no processador: após finalizar o processamento
da interrupção, os valores salvos antes de realizar a troca de contexto são
restaurados no processador para que o programa principal continue sua
execução. Normalmente, os processadores realizam este passo
automaticamente.
10
verificar se houve alteração no pino externo número 12 da placa. Portanto, se o
botão for pressionado, será executado o código que se encontra dentro do if not.
11
Figura 8 – Utilização de interrupção para monitorar a mudança de estado do
botão
12
Um exemplo desta utilização no Raspberry Pi é quando se realiza a
limpeza dos pinos do GPIO (pinos externos) quando o programa é finalizado
repentinamente, pois, fazendo isso, previne-se que um comportamento não
esperado ocorra nos periféricos controlados.
13
Um hard-timer é um timer via hardware, ou seja, há um circuito específico
para realizar essa tarefa. Este tipo de timer interrompe diretamente o
processador quando precisa sinalizar que o período expirou.
São utilizados em situações onde há a necessidade de precisão ou
quando é necessário que a latência seja previsível.
Por outro lado, o soft-timer é um evento agendado via software e, por isso,
não possui a mesma precisão que um hard-time.
Algumas aplicações necessitam de timers com alta precisão e com
resolução na ordem de microssegundos e até mesmo nano segundos. Nestes
casos, o hard-time é mais indicado.
Nos casos em que há maior tolerância com a precisão dos timers, é
recomendada a utilização de soft-timers. Outra razão para o uso do soft-timer é
a redução da sobrecarga no sistema de interrupção. A latência e a sobrecarga
podem aumentar de forma substancial com o crescimento exagerado do uso de
timers via hardware.
14
TEMA 5 – APLICAÇÃO DO SISTEMA DE TEMPORIZAÇÃO
15
Fonte: RasPiNews, 2017.
FINALIZANDO
16
17
Por outro lado, para um desenvolvedor do sistema como um todo, pode
ser necessário implementar funções de baixo nível e, em alguns casos, até
mesmo desenvolver um sistema operacional específico para determinada
aplicação em particular. Nestes casos, além dos conceitos apresentados nesta
aula, será necessário também um conhecimento mais aprofundado do
microcontrolador e de suas características particulares.
18
REFERÊNCIAS
LI, Q.; YAO, C. Real time concepts for embedded systems. CMP Books, 2003.
19