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.
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
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.