Maple Quelle: Make: Collin Cunningham, 2010/01/12
Neue Hardware für Arduino-Fans Die Arduino-Community hat schon im letzten Jahr eine Erweiterung der Rechnerfamilie auf einen großen Prozessor aus der ATMEL-Familie angekündigt. Allerdings ist bis jetzt kein Board damit erschienen.. Arduino to add ARM board this year Pre-release developer version on sale within days By Richard Chirgwin Get more from this author Posted in PCs & Chips, 20th September 2011 01:30 GMT The DIY hardware enthusiast s platform of choice, Arduino, will be shipping a new ARM-based platform this year. The organization showed off the new version in time for the New York Maker s Faire, with a 96 MHz clock speed, 256 KB of flash memory, 50 KB of SRAM, five SPI buses, two I2C interfaces, five UARTs and 16 12-bit analog interfaces. Arduino says that instead of shipping the board as a finished product, it is opening the platform early in the design process, with a batch of developer edition Arduino Due boards to go on sale soon. We plan a final and tested release by the end of 2011, the blog post states. Its other big news is a WiFi shield designed for maximum hackability. Based on an H&D micro WiFi module with full TCP/IP stack on-board, the WiFi shield will work with any Arduino module. The outfit says its aim is that the new module should operate as a replacement for the Ethernet shield with only minor changes to existing code. There s also a simplified board, the Leonardo, using the Atmega32u4, with USB drivers for mouse, keyboard and serial port emulation. Quelle: PCs & Chips, 20th September 2011
Maple von LeafLab Inzwischen ist ein anderer Anbieter aufgetaucht: http://www.leaflabs.com Dieser Spin-Off des MIT hat einen High-End-Controler STM32F103RB auf ein Arduino-kompatibeles Format gebracht und die Entwicklungsumgebung geklont. Maple hat das Format des Arduino Uno und kompatibele Anschlüsse (Shields!). Maple Mini ist Steckbrett-tauglich Quelle: LeafLab Maple Quelle: SeedStudio Maple Mini
Key Features Features des Microcontrolers ARM 32-bit Cortex -M3 CPU Core 72 MHz maximum frequency,1.25 DMIPS/MHz (Dhrystone 2.1) performance at 0 wait state memory access Single-cycle multiplication and hardware division Memories 64 or 128 Kbytes of Flash memory 20 Kbytes of SRAM Clock, reset and supply management 2.0 to 3.6 V application supply and I/Os POR, PDR, and programmable voltage detector (PVD) 4-to-16 MHz crystal oscillator Internal 8 MHz factory-trimmed RC Internal 40 khz RC PLL for CPU clock 32 khz oscillator for RTC with calibration Low power Sleep, Stop and Standby modes VBAT supply for RTC and backup registers 2 x 12-bit, 1 µs A/D converters (up to 16 channels) Conversion range: 0 to 3.6 V Dual-sample and hold capability Temperature sensor DMA 7-channel DMA controller Peripherals supported: timers, ADC, SPIs, I2Cs and USARTs Up to 80 fast I/O ports 26/37/51/80 I/Os, all mappable on 16 external interrupt vectors and almost all 5 V-tolerant Debug mode Serial wire debug (SWD) & JTAG interfaces 7 timers Three 16-bit timers, each with up to 4 IC/OC/PWM or pulse counter and quadrature (incremental) encoder input 16-bit, motor control PWM timer with dead-time generation and emergency stop 2 watchdog timers (Independent and Window) SysTick timer 24-bit downcounter Up to 9 communication interfaces Up to 2 x I2C interfaces (SMBus/PMBus) Up to 3 USARTs (ISO 7816 interface, LIN, IrDA capability, modem control) Up to 2 SPIs (18 Mbit/s) CAN interface (2.0B Active) USB 2.0 full-speed interface CRC calculation unit, 96-bit unique ID
Entwicklungsumgebung Maple/Arduino Kommt einem bekannt vor! Allerdings wird hier die Version 0018 als Vorlage verwendet. Arduino ist momentan bei Version 1.0.1 ( 3 Versionen weiter )
Software-Kompatibilität With a few exceptions, the entire Wiring/Arduino language is supported. However, there are some subtle differences, most of which are improvements: 32-bit integers: many standard functions either expect or return full 32-bit (4 byte) integer values instead of the regular 16-bit (2 byte) Arduino values. 64-bit doubles: The double type is a full double-precision floating point type on the Maple; it is a single-precision floating point value on the Arduino. pinmode() types: any GPIO (including analog pins) can be configured into one of the following modes with a single call to pinmode(): OUTPUT, OUTPUT_OPEN_DRAIN, INPUT_FLOATING, INPUT_PULLUP, INPUT_PULLDOWN. Additionally, the PWM pins (labeled PWM on the silkscreen) can be configured in PWM and PWM_OPEN_DRAIN modes, and the analog input pins (labeled AIN ) can be configured in INPUT_ANALOG mode. See the GPIO documentation for more information. Serial port syntax: like the Arduino Mega, the Maple has multiple USART ports. By default, Serial is not mapped to any of them. Use Serial1 through Serial3 instead. 16-bit PWM: Arduino boards support 8-bit PWM, which means that calls to analogwrite() take values between 0 (always off) and 255 (always on). The Maple supports 16-bit PWM, so the corresponding values should be between 0 (always off) and 65535 (always on). 12-bit ADC: Arduino boards support 10-bit ADC, which means that calls to analogread() will return values between 0 and 1023. The Maple supports 12-bit ADC, so the same call will instead return values between 0 and 4095.
Status Libraries The state of currently ported Arduino libraries is the Maple Library Reference. Leider ist hier noch nicht soviel passiert. Es gibt eine Anleitung wenn man selbst eine Library umsetzen möchte.
Ausblick Maple bietet mit dem Controler STM32F103RB von ST Microelectronics ein mächtiges Geschoss an. Wenn man wirklich alle Resourcen des Atmega328 oder des Atmega2560 ausgenutzt hat, dann bietet sich hier ein deutlicher Fortschritt durch höhere Geschwindigkeit und mehr Speicher. Die zusätzlichen Schnittstellen sind ebenfalls sehr positiv zu vermerken. Die bisher nur wenig umgesetzten Libraries sind momentan ein Problem. Eigene Treiber für die Hardware-Schnittstellen müssen geschrieben werden und dazu muß man sich intensiv mit den Eigenschaften und der Konfiguration der zahlreichen internen Peripherie-Blöcke beschäftigen. Auch die zugehörigen Protokolle der Übertragungsverfahren müssen leider selbst programmiert werden. Die gewohnte Entwicklungsumgebung Open-Source und komplett konfiguriert sind natürlich besonders für diesen Prozessor eine Gewinn: In the past, ARM processors were notoriously unfriendly to non-professionals, due to proprietary tool chains, unfamiliar instruction sets, and impenetrable supporting literature. Dieses zu überwinden, ist der wirkliche Gewinn der Arduino IDE.