Mi ricordo quando la costruzione di un computer utilizzato un lotto di schede S100. Queste erano macchine a 8 bit che occupavano un rack e potevano anche includere un sacco di interruttori a levetta e luci per la programmazione. In questi giorni si può iniziare con schede che si adattano in mano.

Tre piattaforme hanno generato un seguito significativo che significa supporto, un sacco di supporto software e hardware. Questi includono Arduino, Raspberry Pi e BeagleBone (Fig. 1). La piccola scheda in alto a destra è una scheda di espansione wireless per Arduino. È simile per dimensioni alla piattaforma Arduino di base rispetto alla scheda Digilent più grande. Sono piattaforme hardware open source supportate da software open source.

Electronicdesign Com Siti Electronicdesign com File Uploads 2013 06 67211 Fig1sm
Figura 1. Il chipKit di Digilent utilizza la piattaforma MIPS a 32 bit di Microchip in un fattore di forma Arduino.

L’hardware per ogni piattaforma è disponibile da una vasta gamma di fonti. Il software è disponibile da ancora più fonti che supportano tutto, dalle semplici porte seriali ai sensori 3D come Microsoft Kinect. Queste piattaforme possono essere utilizzate per coloro che sono nuovi allo sviluppo embedded o coloro che cercano di sviluppare applicazioni o controllare l’hardware più recente.

Indice

  • Arduino
  • Raspberry Pi
  • BeagleBone
  • E il vincitore è?

Arduino

La piattaforma Arduino è stato intorno per un bel po’. It started with an 8-bit Atmel AVR processor but the platform has since expanded to include processors from Microchip’s 32-bit MIPS-based solution in Digilent’s chipKIT (Fig. 2) to the Arduino DUE (Fig. 3) is based on Atmel’s SAM3X8E Cortex-M3 microcontroller.

Electronicdesign Com Sites Electronicdesign com Files Uploads 2013 06 67211 Fig2sm Arduino Microchip
Figure 2. Digilent’s chipKit uses Microchip’s 32-bit MIPS platform in an Arduino form factor.
Electronicdesign Com Sites Electronicdesign com Files Uploads 2013 06 67211 Fig3 Arduino Due
Figure 3. The Arduino DUE is based on Atmel’s SAM3X8E with a Cortex-M3 processor.
  • Shielding Arduinos
  • PIC32 Arduino Modules

The two things Arduino platforms tend to have in common are Arduino shields and the software development tools. Delle tre piattaforme, Arduino è più vicino a una piattaforma embedded poiché un display non è necessariamente parte della soluzione. Allo stesso modo, il software è di basso livello spesso senza alcun tipo di sistema operativo. Inizialmente le prestazioni del microcontrollore limitato ciò che potrebbe essere supportato, ma l’ultimo raccolto di microcontrollori a 32 bit che ora dominano la piattaforma Arduino sono più che in grado di gestire un sistema operativo.

L’ambiente di sviluppo software Arduino standard è mirato all’insegnamento della programmazione embedded. Ha una propria terminologia con il software chiamato schizzi. È essenzialmente C con un semplice IDE ma è progredito in modo significativo dall’AVR a 8 bit di base e dal supporto C di base.

La maggior parte delle piattaforme supporta più strumenti di sviluppo, inclusi strumenti professionali dei fornitori di microcontrollori e il loro supporto di terze parti. Alcuni strumenti sono gratuiti. Parte della sfida è la gestione del supporto hardware in quanto la maggior parte dei software per Arduino shields si rivolge all’ambiente di sviluppo Arduino.

La maggior parte degli I/O viene gestita tramite Arduino shields. I connettori anello la maggior parte della scheda e consentire la maggior parte delle schede da utilizzare collegandoli in. La maggior parte può essere impilata poiché raramente si utilizza tutto l’I/O. Parte della sfida per tutte le piattaforme è come l’I/O viene mappato quando vengono utilizzate più schede. Ad esempio, I2C può supportare molti dispositivi ma ognuno di essi ha bisogno del proprio I/O. Allo stesso modo, i chip SPI selezionati devono essere unici.

Ci sono in realtà una serie di fattori di forma Arduino shield, alcuni proprietari. La piattaforma Arduino iniziale definisce la versione più semplice. Le versioni espanse utilizzavano più connettori che esponevano più I / O disponibili su microcontrollori ad alte prestazioni utilizzati su nuove piattaforme compatibili con Arduino.

Il supporto software I / O può essere un problema. Di solito il supporto C di base è fornito per gli ambienti di sviluppo Arduino. Il supporto più avanzato per dispositivi come i moduli wireless tende ad essere più specifico dell’host. Non tutte le combinazioni funzioneranno insieme, ma se si può pensare a una combinazione hardware/software, probabilmente si può trovare una combinazione Adrduino.

Raspberry Pi

La piattaforma Raspberry Pi è disponibile da aziende come Element 14. È stato progettato per essere una piattaforma a basso costo e ad alte prestazioni in grado di eseguire Linux.

Il $35 Modello B (Fig. 4) raddoppia la quantità di memoria a 512 Mbyte. Si basa su un Broadcom BCM2835 System-On Chip (SoC) come il $25 modello A. Il 700 MHz BCM2835 ha un ARM1176JZF-S core.

Electronicdesign Com Siti Electronicdesign com File Uploads 2013 06 67211 Fig4sm Raspberry Pi

  • Hot Raspberry Pi
  • Ouya Porta $99 Console di Gioco Tramite Kickstarter

Esso utilizza una scheda SD per la memorizzazione e in genere viene eseguito in uno qualsiasi di un certo numero di Linux varianti tra cui Raspian, Arch, Debian e Fedora. Esegue anche RISC OS, FreeBSD, NetBSD e qualcuno ha il piano 9 per eseguirlo.

La scheda dispone di USB e 10/100 Ethernet (modello B) supporto. Può guidare un display HDMI, video composito o un pannello LCD. Ha una connessione CSI per un ingresso telecamera. Ha audio HDMI, I2S e un jack da 3,5 mm. Le schede richiedono rispettivamente 300 mA e 700 mA a 5V per i modelli A e B.

Il Raspberry Pi ha una singola intestazione di espansione con GPIO, porta seriale, SPI, I2C, I2S, 3.3 V e 5V. Ci sono un certo numero di schede breakout disponibili, ma il montaggio è una sfida. Il Raspberry Pi ha due fori di montaggio, ma non si trovano sugli angoli come la maggior parte delle altre schede. Ci sono un certo numero di casi disponibili troppo.

Uno dei più grandi vantaggi del Raspberry Pi è il software. Il suo basso costo e la disponibilità ha generato un sacco di interesse e un sacco di software per abbinare.

BeagleBone

La piattaforma BeagleBone è simile al Raspberry Pi. Funziona Linux e ha Ethernet, USB e supporto grafico come parte del suo pacchetto di base. Ora ha una nuova incarnazione chiamata BeagleBone Nero (Fig. 5). Questa versione $45 ha un 2 Gbyte eMMC quindi viene fornito con il software pronto a correre fuori dalla scatola. Ha anche una presa microSD come il Raspberry Pi e l’originale Be 89 BeagleBone. Quest’ultimo è venuto con ArchLinux su una scheda microSD.

Electronicdesign Com Siti Electronicdesign com File Upload 2013 06 67211 Fig5sm Beaglebone Nero
Figura 5. Il BeagleBone nero utilizza on-board eMMC, ma include una presa microSD nel caso in cui si desidera memoria rimovibile. Ciò significa che può venire con il proprio software pronto per l’esecuzione quando lo si collega.
  • Intervista con il direttore dell’ingegneria di SparkFun
  • Piccola scheda e piccoli moduli di Design West

Il BeagleBone Black è basato sul braccio Cortex-A8 AM335X 1GHz di un Texas Instrument. Ha un acceleratore grafico 3D, NEON floating-point accelerator e include anche una coppia di Programmable Realtime Units (PRU) che sono davvero microcontrollori a 32 bit a sé stanti. Il Cortex-A8 è un doppio problema, piattaforma superscalare che ha il bordo in termini di prestazioni rispetto al ARM11 del Raspberry Pi. Le schede sono dotate di connettori Ethernet, HDMI e USB.

Sono rimasto davvero colpito dal pacchetto BeagleBone complessivo perché è l’unica piattaforma che funziona fuori dalla scatola. Tutto ciò che serve è un PC con USB e un sistema operativo relativamente nuovo. Quest’ultimo è necessario per fornire il supporto di rete RNDIS tramite la connessione USB.

Essenzialmente si collega il cavo USB al PC e al BeagleBone Black. Il BeagleBone nero si presenta come unità flash USB, ma rende anche la connessione di rete. Questo fornisce un’interfaccia web in esecuzione sul BeagleBone nero. Il browser web sul PC inizia con un file HTML sul flash drive, ma che reindirizza all’interfaccia web.

L’interfaccia web fornisce effettivamente un IDE e un set di strumenti basati sul Web oltre a un’interfaccia SSH basata sul Web. Non entrerò in tutti i dettagli di ciò che il BeagleBone nero fornisce, ma è impressionante. Questo è il vantaggio di utilizzare il flash eMMC.

Il BeagleBone Black è compatibile con le schede di espansione, chiamate anche capes, disponibili per il BeagleBone originale. Questi utilizzano la coppia di intestazioni a 46 pin su entrambi i lati del BeagleBone. Questi forniscono l’accesso agli I/O del microcontrollore , tra cui CAN, SPI e I2C plus alle interfacce USB-seriale e USB-JTAG. I sistemi hanno anche quattro fori di montaggio.

E il vincitore è?

Ok. Ho intenzione di waffle e dire che la scelta è davvero dipende dal vostro background e le esigenze. Se stai cercando di imparare la programmazione C e embedded, Arduino è una buona scelta perché ti avvicina all’hardware. Esso fornisce anche un buon modo per valutare un microcontrollore dal momento che molti fornitori stanno consegnando schede che possono usufruire di schede di espansione Arduino.

Se il software che gira su Linux o un sistema operativo è più di quello che vuoi allora Raspberry Pi, BeagleBone o una di quelle varianti è probabilmente una scelta migliore. Allo stesso modo, i lavori di visualizzazione o audio pesanti sono più facilmente gestiti da queste due piattaforme.

Come piattaforma di base, mi inclino verso BeagleBone Nero. Il on-board eMMC è veloce ed efficiente. È memoria limitata ma più che sufficiente per la maggior parte dei progetti. Sono anche molto impressionato dal software di sviluppo integrato. Per alcuni ROS (robot operating system) lavoro ho trovato il supporto per Raspberry Pi per essere buono.

Ciò che è veramente interessante in questi giorni è come queste piattaforme stanno influenzando altri progetti. Ad esempio, l’UDOO (Fig. 6) è un progetto Kickstarter che combina il fattore di forma di espansione Arduino con la funzionalità di Raspberry Pi, ed essenzialmente il BeagleBone. Si tratta di una soluzione a doppio processore che inizia con l’Atmel Cortex-M3 trovato nel Arduino Due. Ha anche un dual o quad core Freescale i. MX6. Sicuramente una piattaforma pesante.

Electronicdesign Com Siti Electronicdesign com File Uploads 2013 06 67211 Fig 6 Udoo
Figura 6. Il progetto UDOO Kickstarter supporta le schede di espansione Arduino ma utilizza un processore multicore Freescale i.MX6 più un processore SAM3X per un’interessante combinazione multichip.

Il tipo di lavoro che si intende utilizzare il sistema per sicuramente colpisce quale piattaforma si sceglie. Non trascurare altre alternative come Ou 99 Ouya (vedi Ouya Porta Ou 99 Console di gioco tramite Kickstarter) basato su un NVidia Tegra 3 se il software e la grafica sono dove vuoi essere. Funziona Android e ha il supporto WiFi ed Ethernet.