Archiv der Kategorie: Cortex-M3

Ranging mit radino32 DW1000

Der Decawave DW1000 Baustein ist ein IEEE802.15.4-2011 konformer Ultra-Wideband (UWB) Transceiver und kann zur Positionsbestimmung im 2-Wege-Ranging betrieben werden und bietet dabei eine Genauigkeit von 10cm.

Das radino32 DW1000 kombiniert einen STM32L151 Mikrocontroller (Cortex-M3 Core) von STMicroelectronics mit dem DW1000 Funkchip von Decawave zum kompakten radino Formfaktor und kann damit als ein Baustein in einem komplexeren Real-Time Location System (RTLS) dienen.

Der Hersteller In-Circuit bietet eine freie Arduino-Bibliothek für die radino Funkmodule an, welche USB-Treiber, Bootloader und zahlreiche Beispiel-Sketches enthält.

Links zu weiteren Herstellerinformationen:

DW1000 Datasheet DW1000 User Manual

radino32 DW1000 für Ranging und RTLS, Ultra Wideband (UWB), IEEE802.15.4-2011 compliant, 3.5-6.5GHz

 

 

 

Arduino-Formfaktor

Hersteller von Mikrocontrollern stellen auf ihren Evaluationboards häufig eine Arduino-Schnittstelle zur Verfügung, um das breite Spektrum von Arduino-Shields für das Rapid Prototyping einsetzen zu können. Der eingesetzte Mikrocontroller wird aber nicht mit der Arduino-IDE programmiert.

Für das Rapid Prototyping ist die Arduino-Schnittstelle von großem Vorteil, da auch später noch Komponenten/Shields gewechselt oder an konkrete Anforderungen angepasst werden können.

Die mbed Plattform unterstützt zahlreiche dieser Boards, die ich in der filter- und sortierbaren Liste Arduino-compatible Microcontroller Boards supported by ARMmbed zusammengestellt habe.

archpro1

Beim Arch Pro von Seeed Studio ist der Arduino-Formfaktor durch die gelben Buchsenleisten deutlich erkennbar. Der auf dem Board befindliche Mikrocontroller LPC1768 von NXP (Cortex-M3) kann aus der mbed Umgebung heraus programmiert werden.

 

Arch Pro

archpro1Die Sendung vom Elektronikladen in Leipzig ist eingetroffen und brachte das erwartete Arch Pro Controllerboard. Danke Oliver.

Das auf NXP’s LPC1768 (Cortex-M3) aufbauende Arch Pro kann über die mbed Online-Entwicklungsumgebung programmiert werden und weist den verbreiteten Arduino-Formfaktor für die Erweiterung mit Arduino Shields auf.

Der LPC1768 kann  mit bis zu 100 MHz getaktet werden und stellt somit eine sehr gute Rechen-Performance bereit. Seitens der Peripherie stehen mehrere UARTs, I2C-Ports und SPI-Kanäle, bis hin zu USB und Ethernet zur Verfügung.

Um einen Eindruck von der Rechenleistung zu erhalten, habe ich wie bei einigen Arduinos zuvor den „Sieve of Eratosthenes“ Benchmark implementiert und laufen lassen.

Das Ergebnis kann sich sehen lassen. Gegenüber dem Arduino Duemilanove hat sich die Performance etwa um den Faktor 10 verbessert. Gegenüber dem Arduino Due liegt der Arch Pro auch noch bei einem Faktor von über 2.

Der Quelltext befindet sich im mbed Repository. Der Vergleich mit unterschiedlichen 8-bit und 32-Bit Arduinos ist unter http://www.ckuehnel.ch/arduino_benchmarks.html zu finden.