Desvios do programa principal para um endereço definido com o objetivo de atender a um evento; As...

21
• Desvios do programa principal para um endereço definido com o objetivo de atender a um evento; • As interrupções podem ser de hardware ou de software; Interrupções do DSP

Transcript of Desvios do programa principal para um endereço definido com o objetivo de atender a um evento; As...

Page 1: Desvios do programa principal para um endereço definido com o objetivo de atender a um evento; As interrupções podem ser de hardware ou de software; Interrupções.

• Desvios do programa principal para um endereço definido com o objetivo de atender a um evento;

• As interrupções podem ser de hardware ou de software;

Interrupções do DSP

Page 2: Desvios do programa principal para um endereço definido com o objetivo de atender a um evento; As interrupções podem ser de hardware ou de software; Interrupções.

Interrupções de Hardware• Podem ser solicitadas por:

– Pinos externos: • XINT1 – external interruption1• XINT2 – external interruption 2• PDPINTA – Power drive protection interrupt pin A• PDPINTB – Power drive protection interrupt pin B

– Periféricos internos:• EVA e EVB – Event Manager A and B• SPI – Serial Peripherial Interface (serial síncrona)• SCI – Serial Communication Interface (serial assíncrona)• CAN – Controller Area Network• ADC – Analog/Digital Converter (conversor analógico-digital)

Page 3: Desvios do programa principal para um endereço definido com o objetivo de atender a um evento; As interrupções podem ser de hardware ou de software; Interrupções.

Interrupções de Hardware

Page 4: Desvios do programa principal para um endereço definido com o objetivo de atender a um evento; As interrupções podem ser de hardware ou de software; Interrupções.

Interrupções de Hardware

Page 5: Desvios do programa principal para um endereço definido com o objetivo de atender a um evento; As interrupções podem ser de hardware ou de software; Interrupções.

Interrupções de Software• São geradas por instruções:

– INTR endereço• O programa é desviado para o endereço indicado

pela instrução;• Desabilita as interrupções mascaráveis;

– NMI• O programa é desviado para o endereço 0024H;• Desabilita as interrupções mascaráveis;

– TRAP• O programa é desviado para o endereço 0022H;• Não desabilita as interrupções mascaráveis.

Page 6: Desvios do programa principal para um endereço definido com o objetivo de atender a um evento; As interrupções podem ser de hardware ou de software; Interrupções.

Interrupções

Page 7: Desvios do programa principal para um endereço definido com o objetivo de atender a um evento; As interrupções podem ser de hardware ou de software; Interrupções.

Interrupções

Page 8: Desvios do programa principal para um endereço definido com o objetivo de atender a um evento; As interrupções podem ser de hardware ou de software; Interrupções.

Flags de Interrupções

Page 9: Desvios do programa principal para um endereço definido com o objetivo de atender a um evento; As interrupções podem ser de hardware ou de software; Interrupções.

Habilitação de Interrupções – “Máscara”

Page 10: Desvios do programa principal para um endereço definido com o objetivo de atender a um evento; As interrupções podem ser de hardware ou de software; Interrupções.

Habilitação Global de Interrupções - INTM

Page 11: Desvios do programa principal para um endereço definido com o objetivo de atender a um evento; As interrupções podem ser de hardware ou de software; Interrupções.

Interrupções - Exemplo

• Interrupção externa 1 – (evento no pino XINT1):– Se o evento (borda de subida ou descida) ocorre no

pino:• O flag individual é “setado” – XINT1 flag = 1;• XINT1 flag é o bit 15 do Registrador de Controle da

Interrupção Externa 1 – XINT1CR;

– Se o bit de habilitação da interrupção externa 1 estiver “setado”:

• Uma requisição de interrupção é enviada para o “arbitrator”;• XINT1 enable é o bit 0 do XINT1CR;• “Arbitrator” irá comparar a prioridade da interrupção com as

outras interrupções pendentes, se houver;

Page 12: Desvios do programa principal para um endereço definido com o objetivo de atender a um evento; As interrupções podem ser de hardware ou de software; Interrupções.

Interrupções - Exemplo

– O “arbitrator” gerará um pedido de interrupção para a CPU (este pedido se chama INT1):

• INT1 flag = 1;• INT1 flag é o bit 0 do IFR (Registrador de Flags de

Interrupções);

– Se o bit de máscara de interrupção do INT1 estiver habilitado:

• INT1 mask = 1;• INT1 mask é o bit 0 do IMR (Registrador de Máscaras de

Interrupções);

Page 13: Desvios do programa principal para um endereço definido com o objetivo de atender a um evento; As interrupções podem ser de hardware ou de software; Interrupções.

Interrupções - Exemplo

– E se, finalmente, o bit de habilitação global de interrupções estiver “zerado” – ativo em zero:

• INTM = 0;• INTM é o bit 9 do ST0 (Registrador de Status 0);

– Uma interrupção é gerada e o programa se desviará para o endereço 0002H da memória de programa, onde a rotina do usuário será executada.

Page 14: Desvios do programa principal para um endereço definido com o objetivo de atender a um evento; As interrupções podem ser de hardware ou de software; Interrupções.

Interrupções - Exemplo

Page 15: Desvios do programa principal para um endereço definido com o objetivo de atender a um evento; As interrupções podem ser de hardware ou de software; Interrupções.

Endereços dos Vetores de Interrupção

Page 16: Desvios do programa principal para um endereço definido com o objetivo de atender a um evento; As interrupções podem ser de hardware ou de software; Interrupções.

Fontes de Interrupções

Page 17: Desvios do programa principal para um endereço definido com o objetivo de atender a um evento; As interrupções podem ser de hardware ou de software; Interrupções.

Fontes de Interrupções

Page 18: Desvios do programa principal para um endereço definido com o objetivo de atender a um evento; As interrupções podem ser de hardware ou de software; Interrupções.

Prioridade de Interrupções

– Quando dois ou mais pedidos de interrupções ocorrerem ao mesmo tempo:

• A interrupção de maior prioridade será executada;

Page 19: Desvios do programa principal para um endereço definido com o objetivo de atender a um evento; As interrupções podem ser de hardware ou de software; Interrupções.

Prioridade de Interrupções

Page 20: Desvios do programa principal para um endereço definido com o objetivo de atender a um evento; As interrupções podem ser de hardware ou de software; Interrupções.

Interrupção para Proteção do Drive de Potência - PWM

– Pinos PDPINTA e PDPINTB;– Quando a interrupção PDPINT ocorre:

• O DSP desliga automaticamente as saídas PWM colocando-as em alta impedância (45 a 55 ns);

• Uma rotina de interrupção pode ser executada.

Page 21: Desvios do programa principal para um endereço definido com o objetivo de atender a um evento; As interrupções podem ser de hardware ou de software; Interrupções.

Interrupção para Proteção do Drive de Potência - PWM