Interrupt latenţă

S

sacrpio

Guest
Cum putem noi să reducă la întrerup latenţă de un sistem de operare.Ce r limitările de a minimiz acesta.Cum ne putem măsura intrerup latenţă?

Mulţumesc

 
Aveţi posibilitatea să minimizaţi intrerup latenţă, făcându-vă întrerup rutina cât mai scurtă posibil, dacă hardware nu permite intrerup priorităţilor, deoarece, în acest caz a inceput o întrerupere de rutină nu poate fi întreruptă de o alta (mai mare prority) întrerup.

De asemenea, pentru a evita dezactivarea întrerupe în orice rutine întrerupe, dacă este posibil, pentru că va trebui să aşteptaţi până când din nou permis.

toate cele bune

 
Salut,

Pentru mesuring intrerup latenţă, cred ca ai nevoie de un osciloscop sau a unui analizor de stat logica.Prin introducerea a întrerupe serviciul de rutină (ISR), va trebui sa activitate un port disponibil pe hardware-ul (cum ar fi condus un port sau aşa mai departe) şi desactivate-o chiar înainte de întoarcere de la ISR.Poti face asta prin scris corespunzătoare cod.

Prin conectarea o intrare de osciloscop (sau logica analizor de stat), la INTR PIN de microprocesor şi cea de-a doua la portul vă activa / desactivate, aveţi posibilitatea să măsoare timpul de latenţă şi durata de ISR.

Am făcut acest lucru cu unele succes în trecut.

 
yuh, dacă nu se specifică în spec., cred că în mod simplu de a măsura este prin ieşire PIN ..

 
Salut,

Cred că nu există nici o modalitate de a reduce ISR latenţă cu excepţia cazului în care
sa faci ceva cu privire la modul de operare
al programarea.De aceea ai nevoie de un sistem de operare în timp real, sau de a instala ceva timp real prelungire pe os.
ISR latenţă se întâmplă atunci când l-aţi stabilit întrerupe vector
a unui număr de a întrerupe o anumită întrerupe serviciul de rutină şi os modul de programare a face sarcina de comutaţie şi împingeţi cpu registru în valoare stack pentru viitor utiliza după ISR terminat executie.
Timp de întârziere între PIC primit cerere de os şi de a începe să execute ISR este ceea ce am numit ISR latenţă, astfel încât să se poate reduce doar folosind o mai mare prioritate intrerup vector altfel în timp real, cu os sau modifica os de tine.

Goodluck

 
shangwa a scris:

Salut,Cred că nu există nici o modalitate de a reduce ISR latenţă cu excepţia cazului în care

sa faci ceva cu privire la modul de operare al programarea.
De aceea ai nevoie de un sistem de operare în timp real, sau de a instala ceva timp real prelungire pe os.

ISR latenţă se întâmplă atunci când l-aţi stabilit întrerupe vector

a unui număr de a întrerupe o anumită întrerupe serviciul de rutină şi os modul de programare a face sarcina de comutaţie şi împingeţi cpu registru în valoare stack pentru viitor utiliza după ISR terminat executie.

Timp de întârziere între PIC primit cerere de os şi de a începe să execute ISR este ceea ce am numit ISR latenţă, astfel încât să se poate reduce doar folosind o mai mare prioritate intrerup vector altfel în timp real, cu os sau modifica os de tine.Goodluck
 
papyaki a scris:

Salut,Pentru mesuring intrerup latenţă, cred ca ai nevoie de un osciloscop sau a unui analizor de stat logica.
Prin introducerea a întrerupe serviciul de rutină (ISR), va trebui sa activitate un port disponibil pe hardware-ul (cum ar fi condus un port sau aşa mai departe) şi desactivate-o chiar înainte de întoarcere de la ISR.
Poti face asta prin scris corespunzătoare cod.Prin conectarea o intrare de osciloscop (sau logica analizor de stat), la INTR PIN de microprocesor şi cea de-a doua la portul vă activa / desactivate, aveţi posibilitatea să măsoare timpul de latenţă şi durata de ISR.Am făcut acest lucru cu unele succes în trecut.
 

Welcome to EDABoard.com

Sponsor

Back
Top