Verständnis-Frage

Gast #823732
Hallo,

nehmen wir mal an, ich programmiere einen Ethernet/CAN-Messgerät ,und 
ich sende ein Start-Paket(über Ethernet) um die CAN-Messung zu starten, 
während CAN gestartet ist trifft noch eine Ethernet-Paket vor, diesmal 
um die Messung zu stoppen, wird dieses paket bearbeitet oder ist der 
Controller mit CAN-Daten beschäftigt, und erst wenn es keine CAN-Daten 
vorliegen(keine Receive Interrupts), dann wird das Paket bearbeitet ? 
wie ist das eigentlich?

Vielen Dank.

PS.:Ich möchte das später mit einem LPC-uC realisieren, ich bin jetzt in 
der Plannungsphase
Persönliche Seite
Das ist abhängig davon wie du programmierst.

Bei einem Pollingbetrieb im Programm ist es sehr wahrscheinlich, dass du 
dich auf einer Schnittstelle blockierst.

Bei einem Interruptbetrieb im Programm sollte es möglich sein, die 
Aufgaben am CAN-Bus und über Ethernet annähernd gleichzeitig 
abzuarbeiten.
Gast
Polling bedeutet, dass du an bestimmten Stellen im Programm eine Aktion 
mit der Schnittstelle ausführst.

Interrupt bedeutet, wenn etwas empfangen wird oder gesendet werden soll, 
wird eine entsprechende Interrupt-Routine automatisch vom µC aufgerufen, 
die das macht (die Routine muss natürlich auch programmiert werden).

Vorteil des Pollings ist, dass es einfacher ist, aber nicht flexibel, 
weil du nur an bestimmten Stellen des Programms prüfst, ob etwas mit der 
Schnittstelle getan werden muss.

Beim Interrupt-Betrieb unterbricht der µC selbstständig das Programm, 
und führt die Interrupt-Routine aus, wenn es nötig ist.

Vorteil ist, dass quasi zu jedem beliebigen Zeitpunkt auf ein Ereignis 
reagiert werden kann. Allerdings ist die Programmierung von Interrupts 
etwas aufwendiger.

Ralf
Gast
Vielen Dank für die Erklärung.
Aber wie ist das In Interruptbetrieb, wenn die CAN-Daten eintreffen 
(Receive Interrupt),und danach Eternet-Daten vorliegen, wie wird das 
behandelt?
Gast
Vielen Dank für die Erklärung.
Aber wie ist das in Interruptbetrieb, wenn die CAN-Daten eintreffen
(CAN-Receive Interrupt),und danach Eternet-Daten(Ethenet-Receive 
Interrupt) vorliegen, wie wird das behandelt? und wenn gleich in die 
Ethernet-ISR gesprungen wird, was passiert dann mit den CAN-Daten die 
dazwischen reinkommen?
Sorry wenn zu viel Frage.
Es passiert das was du planst das passieren soll.
Sorry aber mit so wenig Angaben kann man keine vernünftigere
Auskunft geben.
Prämisse: Ausser in einem Multiprozessor Kern, kann ein
Prozessor immer nur eine Aufgabe zur gleichen Zeit ausführen.
Der Prozessor kann allerdings in sehr kurzen Zeitintervallen
von einer Aufgabe zu einer anderen wechseln, sodaß der Eindruck
der Gleichzeitigkeit entsteht. Wie das konkret aussieht, hängt
von zuvielen (unbekannten) Faktoren in deiner Anfrage ab.
Da erhebt sich zb. die Frage: Kann dein Ethernet/CAN Hardware
überhaupt einen Interrupt ausführen? Wenn die Hardware ein
Paket zum Versenden bekommen hat, schickt sie dann das Paket
unter allen Umständen raus, oder kann die Hardware das mittendrinn
abbrechen? Inwiefern kann die Hardware überhaupt eigenständig
Nachrichten empfangen/senden und wie weit benötigt sie dazu
Hilfe vom µC? ....
Gast
@ Karl heinz Buchegger:
Vielen Dank für deine Auskunft!
Das Board womit ich das ganze realisieren will, sollte auf jedenfall 
einen Ethernet- und CAN-Contoller besitzen, sodass der uC nur zwischen 
den beiden kombiniert, bringt das was zur sache?

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.