mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Verständnis-Frage


Autor: Bahos (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Bahos (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kannst du bitte erklären was mit Polling- und Interruptbetrieb meinst, 
vielen Dank.

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Bahos (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: Bahos (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Bahos (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die letzte Frage ist entscheidend für die Planung meines zukünftigen 
Projekts, ich bin sehr dankbar jeden Hinweis.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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? ....

Autor: Unbekannter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Uh, uh, uh...

Da zerbricht sich mal wieder ein Blinder seinen Kopf über ein Gemälde...

Autor: rifman (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.