www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Overrun Error, M16C


Autor: hermann1812 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo.

Ich arbeite mit Segger embOS V3.20g für M16C62P mit der Tasking IDE 
3.1r1 Patch5. (Leider wird diese Kombination von den Herstellern nicht 
mehr unterstützt.)

Die Applikation benutzt alle 3 UART-Schnittstellen des M16C mit einer 
Geschwindigkeit von 115,2KBaud. UART1 und 2 arbeiten dabei als Slave, 
UART0 als Master. Es werden ca. alle 200ms Pakete (max. 32Byte) auf den 
Schnittstellen mit der "Aussenwelt" ausgetauscht.
Senden und Empfangen läuft Interrupt-getrieben. UART0 hat dabei als 
einzige Quelle im System eine Interruptprio von 7.
Alle Interrupts sind "Nestable". (__I-Flag wird am Anfang der ISR wieder 
gesetzt.)
Die Last im Gesamtsystem beträgt ca. 15%.

Trotz (oder vielleicht wegen) all der obigen Randbedingungen tritt ab 
und zu ein Overrun Error bei UART0 auf. Die Behandlung des Fehlers hilft 
meistens. Die Kommunikation läuft dann stundenlang problemlos. Plötzlich 
bricht sie aber total zusammen und lässt sich auch softwaremäßig nicht 
mehr in Gang bringen, nur noch ein SW-Reset hilft.
Interessanterweise passiert das ganz aber nicht wenn nur über UART0 
kommuniziert wird.

Anmerkung:
Ich habe die Baudrate schon auf 57,6KBaud reduziert, die UARTs 
getauscht.
Leider ohne Ergebnis.


Kennt/hat jemand ein ähnliches Problem?
Könnte das Ganze am OS liegen oder hat evtl. sogar der M16C hier ein 
Hardwareproblem.


Nebenbei gefragt:
Wie setzt man am Besten einen Overrun Error zurück?
Alle Beispiele setzen einen Summenfehler in der RX-ISR zurück.
Leider wird aber gerade bei einem Overrun Error die ISR nicht 
getriggert.


Hermann

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.