Abo
  • Services:
Anzeige
Debuggen eines Red-Brick-Prototyps
Debuggen eines Red-Brick-Prototyps (Bild: Tinkerforge)

Der Red-Brick als USB-Blackbox - auf Wunsch

Anzeige

Grundsätzlich ist mit einem stabilen Linux-Kernel und dem riesigen Reservoir an verfügbaren Debian-Software-Paketen der Red-Brick bereits betriebs- und einsatzfähig. Doch der Red-Brick soll mehr sein als noch ein weiterer Kleinrechner. Anwender des Tinkerforge-Baukastens sollen sich nicht mit dem Linux des Red-Brick auseinandersetzen müssen, wenn sie es nicht wollen.

Ähnlich wie der bisherige Masterbrick per USB an einen Rechner angesteckt und die Steuerbefehle von einem Programm von diesem Rechner umgesetzt wurden, soll auch der Red-Brick als Gerät erscheinen, auf dem Programme einfach per Mausklick hochgeladen werden können. Aus diesem Grund muss Olaf Lüke an einer weiteren Softwarekomponente arbeiten: einem speziellen USB-Treiber auf dem Red-Brick, einem sogenannten Composite USB Gadget Driver.

Mit Hilfe dieses Treibers erscheint der Red-Brick beim Anschluss an einen anderen Rechner als USB-Gerät (daher "Gadget") - vergleichbar einem angeschlossenen Handy. Der Begriff "Composite" wiederum verweist darauf, dass der Treiber mehr als einen Betriebsmodus unterstützt. Mit Hilfe des Treibers stellt der Red-Brick über USB nicht nur eine API zur Ansteuerung bereit, sondern auch eine serielle Konsole.

Maschinenkommunikation

Beim bisherigen Tinkerforge-System übernimmt der Masterbrick die Kommunikation zwischen einem angeschlossenen Rechner und den einzelnen Bricks. Die notwendige Vermittlerlogik läuft exklusiv auf einem ARM-Cortex-M3-Microcontroller, die Ansteuerung der Bricks erfolgt über SPI (Serial Peripheral Interface).

Auf dem Red-Brick ist die Angelegenheit komplizierter. Die Ansteuerung der Bricks muss weiterhin über SPI erfolgen, um die Kompatibilität zu gewährleisten. Es ist aber nicht mehr möglich, die Kommunikationslogik auf dem "blanken Metall" laufen zu lassen, sondern sie erfolgt innerhalb der Grenzen und der Abstraktionen des Betriebssystems.

Olaf Lüke musste also nicht nur einen Treiber für die SPI-Kommunikation schreiben, sondern dabei auch hoffen, dass das Linux-System schnell genug ist, um den Anforderungen zu genügen.

Beim ersten Versuch gelang das nicht. Die Lösung war ein Umbau der Kommunikation. Mit dem überarbeiteten Protokoll können die empfangenen Daten, zum Beispiel Sensormesswerte, von Bricks per DMA (Direct Memory Access) im Speicher abgelegt werden. Der Prozessor muss nicht mehr explizit angewiesen werden, selbst die empfangenen Daten in den Arbeitsspeicher zu kopieren.

Einziger Nachteil des Umbaus am Kommunikationsprotokoll ist, dass ein Update der Firmware in den Bricks nötig wird, das aber vom Anwender keine speziellen Werkzeuge erfordert.

Durch den Einsatz von DMA wird das System kaum belastet. Laut Lüke benötigt der Tinkerforge-Software-Unterbau zusammen nicht mehr als sechs Prozent der Systemleistung und trotzdem können bis zu 1.000 Messpunkte pro Sekunde ausgewertet werden. Dabei läuft ein Großteil der Software bislang im Userspace, also außerhalb des Kernels. Sollte es sich während der weiteren Entwicklung herausstellen, dass das System ausgebremst wird, besteht immer noch die Option, Code in den Kernel zu verlagern.

 Das BetriebssystemCopy'n'Trial 

eye home zur Startseite
MisterProll 30. Jul 2014

Jupp, interessanter Artikel. Aber ich hab hier genug "Spielzeug" rumliegen :P.



Anzeige

Stellenmarkt
  1. BODYCOTE Deutschland GmbH, Düsseldorf
  2. Power Service GmbH, Köln
  3. European XFEL GmbH, Schenefeld
  4. Fresenius Netcare GmbH, Bad Homburg


Anzeige
Spiele-Angebote
  1. 24,99€
  2. 4,99€
  3. 27,99€

Folgen Sie uns
       


  1. Blackberry Key One im Hands on

    Android-Smartphone mit toller Hardware-Tastatur

  2. Deutschland

    Smartphone-Aufnahmen in Wahlkabinen werden verboten

  3. Stewart International Airport

    New Yorker Flughafen wohl ein Jahr schutzlos am Netz

  4. Blackberry Key One

    Android-Smartphone mit Hardware-Tastatur kostet viel

  5. Arrow Launcher 3.0

    Microsofts Android-Launcher braucht weniger Energie und RAM

  6. Die Woche im Video

    Angeswitcht, angegriffen, abgeturnt

  7. Hardlight VR Suit

    Vibrations-Weste soll VR-Erlebnis realistischer machen

  8. Autonomes Fahren

    Der Truck lernt beim Fahren

  9. Selektorenaffäre

    BND soll ausländische Journalisten ausspioniert haben

  10. Kursanstieg

    Bitcoin auf neuem Rekordhoch



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Hyperloop-Challenge: Der Kompressor macht den Unterschied
Hyperloop-Challenge
Der Kompressor macht den Unterschied
  1. Arrivo Die neuen alten Hyperlooper
  2. SpaceX Die Bayern hyperloopen am schnellsten und weitesten
  3. Hyperloop HTT baut ein Forschungszentrum in Toulouse

Merkels NSA-Vernehmung: Die unerträgliche Uninformiertheit der Kanzlerin
Merkels NSA-Vernehmung
Die unerträgliche Uninformiertheit der Kanzlerin
  1. Apple Planet der affigen Fernsehshows
  2. München Wie Limux unter Ausschluss der Öffentlichkeit zerstört wird
  3. Glasfaser Nun hängt die Kabel doch endlich auf!

Der große Ultra-HD-Blu-ray-Test (Teil 2): 4K-Hardware ist nichts für Anfänger
Der große Ultra-HD-Blu-ray-Test (Teil 2)
4K-Hardware ist nichts für Anfänger
  1. Der große Ultra-HD-Blu-ray-Test (Teil 1) 4K-Filme verzeihen keine Fehler
  2. Deutsche Verkaufszahlen Unberechtigter Jubel über die UHD-Blu-ray
  3. 4K Blu-ray Sonys erster UHD-Player kommt im Frühjahr 2017

  1. Briefwahl gab es doch auch noch

    GaliMali | 13:23

  2. Re: An alle die den Grund für das Verbot nicht...

    lumks | 13:20

  3. Re: Wie löst man das Problem?

    JouMxyzptlk | 13:20

  4. Re: Format?!

    Wahrheitssager | 13:19

  5. Re: Der Preis...

    Wahrheitssager | 13:17


  1. 12:37

  2. 12:17

  3. 10:41

  4. 20:21

  5. 11:57

  6. 09:02

  7. 18:02

  8. 17:43


  1. Themen
  2. A
  3. B
  4. C
  5. D
  6. E
  7. F
  8. G
  9. H
  10. I
  11. J
  12. K
  13. L
  14. M
  15. N
  16. O
  17. P
  18. Q
  19. R
  20. S
  21. T
  22. U
  23. V
  24. W
  25. X
  26. Y
  27. Z
  28. #
 
    •  / 
    Zum Artikel