Forum: Mikrocontroller und Digitale Elektronik Wozu Interruptcontroller


von Gast (Gast)


Lesenswert?

Hallo

Ich habe mit einem ADUC7000 angefangen Mikrocontroller zu programmieren. 
Dieser besitzt keinen Interruptcontroller. Ich fand das als Anfänger 
eher vorteilhaft. Es gibt eine IRQ-Funktion, in der man selbst die 
Quelle herausfinden muss.

Andere ARM7 Controller besitzen einen Interruptcontroller. Was bringt 
dieser?
Mir ist dazu nur eingefallen, dass man dadurch ein paar If-Anfragen 
spart und der Interrupt etwas schneller ausgeführt wird.

von Robert T. (robertteufel)


Lesenswert?

Solange es nicht mehr als einen Interrupt gibt, bzw. 2 IRQ und FIQ tuts 
der ADUC7000. In einer Industrieanwendung wie z.B. Motorsteuerung gibt 
es allerdings einige Ereignisse, die sehr ungern warten, sonst brennt 
z.B. ein Leistungstransistor durch. Die koennen nicht darauf warten in 
der naechsten Programmschleife bearbeitet zu werden. Wenn allerdings das 
einzige Interface zu Deinem Projekt ein Mensch ist (Visualisierung), 
dann ist eine Schleife hervorragend und ein Interruptcontroller eher 
Unsinn.

Wozu ist der InterruptController da? In erster Linie zur Priorisierung 
der Anfragen. Du sitzt an Deinem Schreibtisch und liest gerade eine Ct, 
dann kommt ein Anruf vom Kunden (INT1) der hat eine Frage, die laesst 
sich mit dem Datenblatt beantworten aber Du hoerst auf die Ct zu lesen. 
Noch beim blaettern im Datenblatt kommt ein Anruf vom groessten Kunden, 
der braucht dringend Hilfe, also Datenblatt beiseite legen und Kunden 
helfen. Jetzt kommt der (knallharte) Chef und sagt Du musst SOFORT etwas 
fuer ihn erledigen, alle Kunden warten. Gerade angefangen, da toent der 
Feueralarm .... Verstehst schon ;-) Prioritaeten werden im Leben oft von 
aussen vorgegeben, in einem Embedded System macht das der Programmierer 
und das beste Werkzeug dazu ist ein guter Interruptcontroller  q.e.d.

Gruss, Robert

von Ralf S. (spacedog) Benutzerseite


Lesenswert?

Ja, was bringt dieser? Schau mal, was der Interrupt Controller deines 
ADUC7000 alles für Funktionen hat. Das bringt er.

Diese Frage kann man bei den allermeisten Komponenten eines Prozessors 
stellen. Was bringt eine ALU? Man könnte ja sämtliche Operationen und 
Algorithmen auch nur mit einem Zähler realisieren, so wie der Herr 
Turing.

Die Antwort ist: es macht einem das Leben leichter und ist in manchen 
Fällen angebracht.

von Gast (Gast)


Lesenswert?

Der ADUC7000 hat keinen Interruptcontroller, deshalb die Frage.

Das man mit einem Separaten Controller die Anfragen priorisieren kann 
etc. war mir schon klar. Meine Frage zielte eher darauf, ob es noch 
andere Gründe gibt.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.