întrerupe microcontroler

întrerupe microcontroler

Întrerupere (întrerupere) - eveniment care necesită prelucrare imediată prin reacția. Reacția constă în faptul că procesorul aborts de prelucrare a programului curent (programul întrerupt) și continuă pentru a efectua un alt program (întreruperea programului), special destinat pentru acest eveniment. La finalizarea acestui program procesorul revine la programul întrerupt.

întrerupe microcontroler

Fiecare eveniment care necesită o întrerupere, semnalul de întrerupere este însoțit. alerte computer, și a cerut o cerere de întrerupere.

Ca o regulă, amintindu-și returnarea responsabilitatea de gestionare a handler de întrerupere. În acest caz, conductorul este compus din trei părți - pregătitoare (PROLOG) și finale (epilog) care asigură comutarea programelor, și întrerupând programul real care efectuează operațiunea solicitată de interogare. Timpul de reacție este definit ca intervalul de timp de la primirea unei cereri de întrerupere la începutul programului întrerup.

întrerupe microcontroler

tp - timpul de răspuns la o întrerupere;
td - timpul memorarea stării de program întrerupt;
tppr - în timp ce de fapt, întreruperea programelor;
TV - starea de recuperare a programului întrerupt

În cazul în care există mai multe surse de cereri trebuie să fie setat la o anumită ordine de cereri de servicii primite, numit disciplina relații prioritare sau serviciu. Setul de toate tipurile posibile de procesor de întrerupere este un sistem de microcontroler întrerupere. Disciplina serviciului determină care dintre mai multe solicitări primite în același timp, ar trebui să fie tratate în primul rând, și dacă dreptul de a întrerupe cererea sau că un handler de întrerupere.
Dacă în timpul procesării de întrerupere intră în cererea de întrerupere, cu un nivel de prioritate mai mare de tratare a întreruperii trece de control la o prioritate mai mare, activitatea de tratare a întreruperii, cu un nivel de prioritate mai mică este suspendat. Există o întrerupere imbricate. Numărul maxim de programe care pot suspenda reciproc, se numește adâncimea de întreruperi.

întrerupe microcontroler

În cazul în care nu există o cerere de întrerupere va fi deservită de momentul sosirii unei noi cereri din aceeași sursă (cu aceeași prioritate), apoi un sistem de saturație întrerupe. În această parte a solicitărilor de întrerupere va fi pierdut, că pentru funcționarea normală a microcontrolerului este inacceptabilă.

caracteristici ale sistemului de întrerupere sunt:

  • numărul total de cereri de întrerupere - numărul de surse de întrerupere de cereri;
  • tip de reprezentare întrerupere - depus de obicei semnal de cerere de nivel logic de întrerupere;
  • Întrerupere Prioritate - specifică secvența de procesare a fiecărei cerere de întrerupere, prioritatea mai mare întârziere mai mici prin programul acestora întrerupe;
  • timpul de reacție - intervalul de timp dintre apariția unei cereri de întrerupere și executarea programului de pornire a întrerupe;
  • întrerupere întârziere - determinată de timpul total pentru stocarea programelor și de recuperare;
  • profunzime, de obicei egal cu numărul de niveluri în sistemul de prioritate întrerupere;
  • sistem de întrerupere de saturație;
  • momente permise întrerupere programe (de obicei, la sfârșitul instrucțiunii următoare).

Mascarea întreruperea este utilizat pentru a raporta microcontroler cu privire la necesitatea de a răspunde la fiecare tip de întrerupere sau ignora-l. masca de întrerupere este un cod binar, biți care sunt mapate la sursele de cerere de întrerupere. Un singur bit în codul binar informează microcontrolerul despre necesitatea de a întrerupe procesarea acestui tip. Un pic contrar zero, previne veniturile microcontroler pentru procesarea de tip întrerupere a spus.
Ca o regulă, mascare de întrerupere, în plus, există, de asemenea, o întrerupere globală a cărei valoare de biți permit zero, dezactivează toate stivuitoare întrerupe (cu excepția resetare hardware și trece la începutul programului executabil).
În plus față de binar, există, de asemenea, o mască de întrerupere întrerupe pavilion binar. care permite handler de întrerupere pentru a seta sursa unei întreruperi în cazul surselor cu această solicitare într-un microcontroler câteva.
în urmă