Experiment zum Vergleich Mikrocontroller und RPi

Gast #4600009
Hallo Leute,

ich bin mir nicht sicher, ob ihr mir helfen könnt bzw. ob ich hier 
überhaupt richtig bin. Aber Fragen kostet bekanntlich nichts.

Ich bin auf der Suche nach einem Experiment. Und zwar geht es ganz 
einfach darum, die Geschwindigkeitsunterschiede zwischen Mikrocontroller 
(bzw. Arduino) und dem RPi (GPIO Pins) zu veranschaulichen.
Es sollte ein Experiment sein, welches so einfach wie möglich, aber eben 
mit beiden Geräten durchzuführen ist.

Da ich fast keinerlei Kenntnisse habe, habe ich mich hier ein wenig 
belesen ;)

Es wird in anderen Threads ja davor gewarnt, bei Echtzeitmessungen den 
RPi zu benutzen und doch lieber einen Arduino zu verwenden. Vielleicht 
wäre das eine Heransgehensweise. Ich möchte nämlich genau das mit dem 
Experiment zeigen: das für Echtzeitmessungen ein Mikrocontroller 
entscheidend vorteilhafter ist.

Habt ihr da andere Ideen? Oder habt ihr schon mal so etwas Ähnliches 
gemacht?
Gast
>Ich bin auf der Suche nach einem Experiment. Und zwar geht es ganz
>einfach darum, die Geschwindigkeitsunterschiede zwischen Mikrocontroller
>(bzw. Arduino) und dem RPi (GPIO Pins) zu veranschaulichen.

Dazu braucht es kein Experiment. Der gesunde Menschenverstand
reicht völlig aus.
Persönliche Seite
Kann man machen. Ein Simpelprogramm, das mit maximaler Geschwindigkeit 
einen I/O-Pin invertiert, und ein Oszilloskop oder Frequenzzähler, mit 
dem die erzielte Frequenz gemessen wird.

Für den pi hat das hier jemand mit verschiedenen 
Programmiersprachen/Ansätzen schon mal gemacht:

http://codeandlife.com/2012/07/03/benchmarking-raspberry-pi-gpio-speed/

Das ist nicht sehr aussagekräftig, denn das Kernproblem liegt an anderer 
Stelle - auf dem Pi läuft üblicherweise ein Betriebssystem, das einem 
Prozess nur endlich viel Rechenzeit zugesteht, und das vor allem 
unterschiedlich viel Zeit benötigt, um auf externe Ereignisse zu 
reagieren - das nennt man mangelnde "Echtzeitfähigkeit".
Gast
Du vergleichst Äpfel und Birnen.

Definiere doch bitte erstmal Echtzeit... und dann auch noch, ob es 
harte, oder weiche Echtzeit sein soll...
Es kommt immer auf die Anforderungen an. Je nach Anforderung kann sogar 
ein x86-Prozessor mit Windows echtzeitfähig sein.

Der Unterschied zwischen RPi (ARM) und den Arduinos die auf AVR 
basieren:
ARM (und auch x86) verwenden Piplining/Caching. Damit kannst du nicht 
mehr sagen, wie lange ein Befehl braucht, bis er abgearbeitet ist.
Damit ist deine "echtzeit" schon in gefahr.
Sowas hat ein AVR aber nicht, und wenn im Datenblatt steht, das Befehl 
XY einen Taktzyklus braucht, dann braucht dieser Befehl einen 
Taktzyklus. fertig.

Da braucht es keine Experimente. Kann man alles tausendfach im Internet 
nachlesen.

Wenn du aber doch mal den Unterschied sehen möchtest, schau dir das 
Video von TI zum Beaglebone an:
https://youtu.be/plCYsbmMbmY

Der 1GHz ARM-Core kann gerade mal alle 200ns am Pin wackeln, die 200MHz 
PRU alle 5ns. Zu sehen bei Minute 18:00
(Firma: privatfrickler.de)
Hallo,

ich stimme zu, dass es keines Experimentes bedarf, aber wie wäre es, von 
beiden ein Rechtecksignal erzeugen zu lassen, so schnell, wie es der 
RasPi schafft, und beide in einen Zähler einzuspeisen? Raspi rauf, μc 
runter oder zwei Zähler oder sowas? Oder die beiden Signale 
tiefpassfiltern und in ein Oszilloskop im x/y Modus einspeisen? 
Vielleicht passiert was interessantes durch die sich ändernde Frequenz 
und die driftende Phasendifferenz?

Viele liebe Grüße
Timm

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 10 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.