Archiv für den Monat Mai 2016

Unixbench Raspberry Pi Zero

Der Raspberry Pi Zero V1.3  ist ein um ein Kameraport (CSI) erweiterter Raspberry Pi Zero., gekennzeichnet durch die folgenden Eigenschaften:

  • 1Ghz, Single-core CPU Broadom BCM2835
  • 512MB RAM
  • Mini HDMI and USB On-The-Go ports
  • Micro USB power
  • HAT-compatible 40-pin header
  • Composite video and reset headers
  • Size: 65mm long x 30mm wide x 5mm thick
  • pint-sized CSI connector to connect the Raspberry Pi Camera Module

Weiterlesen

Raspberry Pi Zero

Heute war der Raspberry Pi Zero, vor wenigen Tagen bestellt bei Pimoroni (UK). im Briefkasten.

20160521_134433

Im Pibow Zero Case kann sich der Raspberry Pi Zero durchaus sehen lassen.

20160521_140002_000

Als nächstes werde ich auch diesen Raspberry Pi mit dem PREEMPT_RT Patch versehen, um ihn echtzeitfähig zu machen. Auf die Ergebnisse bin ich gespannt.

Echtzeitfähiger Raspberry Pi

In vielen Bereichen der Steuerungstechnik wird echtzeitfähiges Verhalten der eingesetzten Rechner erwartet. Für Mikrocontroller, die ohne Betriebssystem (bare metal) arbeiten, ist das in der Regel kaum ein Problem. Will man auf ein Betriebssystem nicht verzichten, dann stehen zahlreiche Echtzeit-Betriebssysteme (RTOS) zur Verfügung.

Für Linux-Devices gibt es verschiedene Möglichkeiten, Echtzeitfähigkeit sicher zu stellen. Im White Paper „LINUX und Echtzeit – Eine Übersicht prinzipieller Lösungsansätze“ werden unterschiedliche Möglichkeiten dazu aufgezeigt. Der PREEMPT_RT Patch des Mainline-Linux-Kernels ist der favorisierte und durch die Linux-Community getragene Ansatz.

Die Schritte zum Aufsetzen eines PREEMPT_RT Kernels für den Raspberry Pi  sind auf einer separaten Webseite dokumentiert.

An dieser Stelle werden die Ergebnisse der Latenzzeitmessung mit dem Programm cyclictest für Raspbian Jessie und den Kernel mit  PREEMPT_RT Patch verglichen:

Linux raspberrypi 4.4.9+ #884 Fri May 6 17:25:37 BST 2016 armv6l GNU/Linux

$ sudo ./cyclictest -l50000000 -m -n -a0 -t1 -p99 -i400 -h400 –q

hist
# Total: 049929616
# Min Latencies: 00014
# Avg Latencies: 00033
# Max Latencies: 03978
# Histogram Overflows: 70384

Die mittlere Latenzzeit beträgt 33 µs, wobei 70384 der insgesamt 50 Mio Messungen oberhalb von 400 µs liegen und die maximale Latenzzeit sogar 3978 µs beträgt.

Linux raspbberypi 4.1.15-rt15 #1 PREEMPT RT Tue May 17 17:19.15 CEST 2016 armv6l GNU/Linux

$ sudo ./cyclictest -l50000000 -m -n -a0 -t1 -p99 -i400 -h400 –q

rthist
# Total: 050000000
# Min Latencies: 00015
# Avg Latencies: 00027
# Max Latencies: 00146
# Histogram Overflows: 00000

Die mittlere Latenzzeit beträgt 27 µs und die maximale Latenzzeit nur 146 µs.

Fazit

Durch den Einsatz des PREEMPT_RT Patchs auf den Kernel werden die Latenzzeiten deutlich reduziert und Determinismus des zeitlichen Verhaltens erreicht.

Für den hier untersuchten Raspberry Pi wurde die maximale Latenzzeit von fast 4 ms auf weniger als 150 µs reduziert.

BeagleBone Green

BeagleBone Green (BBG) ist eine gemeinsame Entwicklung von BeagleBoard.org und Seeed Studio. Das Board basiert auf dem Open-Source-Hardware-Design des BeagleBone Black.

BeagleBone Green

BeagleBone Green

BBG hat zwei Grove-Anschlüsse erhalten, wodurch es leichter ist, Sensoren / Aktoren aus der umfangreichen Grove-Familie zu kontaktieren. Der HDMI-Anschluss musste den Grove-Anschlüssen weichen, kann aber über eine HDMI-Cape zur Verfügung gestellt werden. Wichtige Informationen sind im BBG Wiki zu finden.

Weiterlesen