www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PC oder uC?


Autor: blanc (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich habe gehört, PC sind nicht so geeignet für Echtzeit-Applikationen 
wie Mikroprozessoren. Ich meine UART beispielsweise. Ist diese Aussage 
korrekt? Kann jemand solche Artikel empfehlen?

MfG
Blanc

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hängt vom Zeitrahmen deiner "Echtzeit" ab, und vom Betriebssystem. 
Reaktionszeiten im Mikrosekundenbereich sind nicht so die Stärke von 
PC-Anwendungsprogrammen unter ausgewachsenen Betriebssystemen, das ist 
mit Microcontrollern oder antikem MSDOS einfacher.

Was du mit UART in diesem Zusammenhang meinst ist mir jedoch unklar. 
Immerhin ist (war) das PC-Standardtechnik und ist massenhaft im Einsatz.

Autor: rene (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist richtig. Realtime heisst nicht Schnelligkeit, sondern die 
Faehigkeit, etwas jeweils innerhalb einer gewissen Zeit zu verarbeiten. 
Wenn beim PC der Spichermanager meint, er muesse eine Garbagecollection 
machen, geschieht sonst sehr wenig. Echtzeit heist in der Regel das 
System ist getaktet, zB 1ms, 10ms, so kommen die Messungen, so gehen die 
Daten wieder raus. Das System reagiert innerhalb dieser Zykluszeit.

rene

Autor: rene (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das UART ist ein Punkt wo der PC suboptimal ist. Speziell bei Halbduplex 
hardware wie RS485. Da sollte nach einer Meldung die Richtung 
umgeschaltet werden. Dies sollte im Interrupt geschehen, sonst it eh 
nichts. Speziell wenn man die Hardware an die Grenzen ausfahren will. 
RS485 macht von der Hardware her 20MBit, aber nicht vom PC. Da muesste 
die Leitung auf 0.5us genau umgeschaltet werden.

rene

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Yep, aber ich meine dazu etwas in der Doku des betreffenden Win32-APIs 
gefunden zu haben. Dass ebensolche RS485 Funktionalität (RTS Handshake) 
da schon drinsteckt.

Und da sind wird genau beim Thema: In Windows/Linux muss etwas mit 
derart engem Zeitrahmen in einen Device-Driver passieren. Und solche 
Biester sind weit unangenehmer zu programmieren als ein AVR.

Autor: Winfried (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Für Linux gibt es Realtime-Kernel Erweiterungen wie rtlinux und rtai. 
Die CNC-Maschinensteuerung EMC greift z.B. darauf zurück.

http://de.wikipedia.org/wiki/RTLinux
http://www.linuxcnc.org

Unter Linux mit Realtimekernel zu programmieren, ist aber ein komplexes 
Thema.

Autor: rene (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zuerst muss man sich fragen :
Welche Zuverlaessigkeit brauche ich ?
 Je komplexer das System, desto tiefer die Zuverlaessigkeit
Wieviel Power darf's brauchen ?
 Kleine Systeme brauchen weniger
Das Userinterface. Was benoetigt man ? Leuchten, Text, Graphisch, 
Balkenanzeige, Tasten ... Kann das UI auch abgesetzt sein ? Muss das UI 
auch immer laufen ? Kann ja sein, dass das UI nur bei Bedarf aktiviert 
wird. Ein Windows oder Linux kommt immer schlecht weg wenn man die Power 
nicht unbedingt braucht.

rene

Autor: rene (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zuverlaessigkeit ist sowieso das Schluesselwort bei Realtimesystemen. 
Das Ding steht irgendwo in der Welt draussen und muss Jahre (Jahrzehnte) 
laufen. Ein Softwareupdate geht nicht. Dh jede Zeile Code muss 5 mal 
ueberlegt sein, vor der Auslieferung.

rene

Autor: Ralph (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ganze ist davon abhängig was du machen willst.

Ein Realtime System auf PC Basis ist möglich, wird auch eingesetzt.

 Ein solches System ist jedoch sehr komplex und die Programmierung 
sollte man nur einem TEAM überlassen was wirklich weiß was es macht.

Also für Anfänger ABSOLUT ungeeignet.


Auf µC Basis sieht das einfacher aus.
 Ein solches System hat nur die Komponenten die für die jeweilige 
Aufgabenstellung benötigt werden. Also keinen Ballast der Rechenzeit 
benötigt und das System aus dem Takt bringen kann.
Die Komplexität ist dadurch bedeutend geringer als bei einem PC 
basierenden System.

Solche Realtime Systeme sind zb die Motorsteuerung oder auch ein ABS / 
ESP System im KFZ.

Hier hat auch ein Anfänger eine Chance ein Realtime System für eine 
einfache Aufgabenstellung aufzusetzen.


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.