www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Wie schnell ist USB des AT89C5131?


Autor: toto (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Ich habe gerade bei Reichelt den AT 89C5131-S3SIL ersichtet.
Dieser hat ein integriertes USB-module und ist der "2.0 Full Speed
Compliant".
So weit ich weiss müssten dann also die maximale Datenübertragung so um
die 480 Mbits/sec sein, also 60Mbytes/sec.
Schafft der das wirklich?

Ich kenne mich leider mit usb noch nicht sehr viel aus.
Deshalb noch folgenden Frage:

-Was ist denn die eigentliche Datenübertragungsrate also die reine
Datentransfermenge, wenn man die Synchronisationskommunication
(ack,etc..) nicht mitzählt?
-Ist USB seitens PC Echtzeitfähig?
 Damit meine ich auch wirklich harte Echtzeit auf Treiberniveau, wo
nichts anderes mehr lauft (auch kein anderer interrupt) und wo zum
Schwankungungen in der Datenübertragungsrate nicht tolerierbar sind.

Weiss jemand was davon?
MfG im voraus

Autor: Μαtthias W. (matthias) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Der CPU-Kern läuft mit maximal 24MHz im X2-Mode. Macht bei 6 Takten pro
Instruktion 4MIPS max. Würdest du jetzt bei jedem Takt ein Byte auf den
USB bekommen sinds also maximal 4MBit was die CPU auf den USB schaufeln
kann.

Im Datenblatt steht außerdem USB-Full-Speed was 12MBit entspricht.
480MBit sind dann High-Speed.

USB Full-Speed schafft erfahrungsgemäß etwa 1MByte/s realen
Datendurchsatz. Wo das theoretische Maximum liegt kann ich dir aber
auch nicht sagen.

Mit einem Isochronous Transfer wird dir AFAIK eine gewisse Bandbreite
auf dem Bus garantiert. Da aber schon das OS mit dem man USB
typischerweise benutzt (das aus Redmond) nicht Echtzeitfähig ist nützt
einem das prinzipiell nichts. Aber hier kommt es dann doch stark auf
den Einsatzzweck und die Anwendung an ob das Gesamtsystem als
Echtzeitsystem angesehen werden kann oder nicht.

Matthias

Autor: toto (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank Matthias

Deine Erklärungen sind sehr aufschlussreich.
Die Sache hat sich mit dem zu geringen Datendurchsatz erledigt.
Übrigens arbeite ich unter Linux das zwar nicht  Echtzeitfähig ist,
aber man kann ja einen Treiber schreiben der den Computer monopolisiert
und so mit der Brechstange Echtzeitfähig macht.

Danke
Stephan

Autor: Sascha (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"Übrigens arbeite ich unter Linux das zwar nicht  Echtzeitfähig ist,
aber man kann ja einen Treiber schreiben der den Computer
monopolisiert
und so mit der Brechstange Echtzeitfähig macht."

Linux erlaubt immerhin weiche Echtzeitprozesse.

Prozesse policy SCHED_RR oder SCHED_FIFO mit hoher statische Priorität
sind für die meisten "weichen" Echtzeitanwendungen völlig
ausreichend.
Sie werden vor normalen Prozessen immer bevorzugt.
Wenn du wirklich harte Echtzeit brauchst, dann nutze RTLinux.

Autor: toto (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Echtzeit ist eigentlich ein ziemlich schwammiges Wort.
Echtzeit in 1 sec, 1 milisec oder 1 microsec Verzögerung kann
entsprechend nach Anforderung gedehnt werden.

Im Sachen RTLLinux gebe ich dir vollkommen recht.
Wobei die RTLinux Threads von der funktionsweise genauso in die module
richtung geht.
Ich schreibe lieber nur einen Treiber der die Sache löst als das ich
ein ganzes System installiere.

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.