Jag kommer ihåg när jag byggde en dator som använde ett parti S100-kort. Dessa var 8-bitars maskiner som tog upp ett rack och kan till och med innehålla en massa växlar och lampor för programmering. Dessa dagar kan man komma igång med brädor som passar i handen.

tre plattformar har genererat en betydande följande vilket innebär stöd, Massor av programvara och hårdvara stöd. Dessa inkluderar Arduino, Raspberry Pi och BeagleBone (Fig. 1). Det lilla kortet uppe till höger är ett trådlöst expansionskort för Arduino. Den har samma storlek som den grundläggande Arduino-plattformen jämfört med det större Digilent-kortet. De är hårdvaruplattformar med öppen källkod som stöds av programvara med öppen källkod.

Electronicdesign com webbplatser Electronicdesign COM-filer uppladdningar 2013 06 67211 Fig1sm
Figur 1. Digilents chipKit använder Microchips 32-bitars MIPS-plattform i en Arduino-Formfaktor.

hårdvara för varje plattform är tillgänglig från ett brett spektrum av källor. Programvara är tillgänglig från ännu fler källor som stöder allt från enkla seriella portar till 3D-sensorer som Microsoft Kinect. Dessa plattformar kan användas för dem som är nya för inbäddad utveckling eller de som vill utveckla applikationer eller kolla in den senaste hårdvaran.

Innehållsförteckning

  • Arduino
  • Raspberry Pi
  • BeagleBone
  • Och vinnaren är?

Arduino

Arduino-plattformen har funnits ganska länge. 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. Av de tre plattformarna är Arduino närmast en inbäddad plattform eftersom en skärm inte nödvändigtvis är en del av lösningen. På samma sätt är programvaran låg nivå som ofta gör utan någon form av operativsystem. Ursprungligen begränsade mikrokontrollerns prestanda vad som kunde stödjas men den senaste grödan av 32-bitars mikrokontroller som nu dominerar Arduino-plattformen är mer än kapabla att hantera ett operativsystem.

standard Arduino mjukvaruutvecklingsmiljö är inriktad på att undervisa inbäddad programmering. Den har sin egen terminologi med programvara som kallas skisser. Det är i huvudsak C med en enkel IDE men det har utvecklats avsevärt från basen 8-bitars AVR och grundläggande C-stöd.

de flesta plattformar stöder flera utvecklingsverktyg inklusive professionella verktyg från mikrokontrollerleverantörerna och deras support från tredje part. Vissa verktyg är gratis. En del av utmaningen är att hantera hårdvarustöd eftersom de flesta program för Arduino shields riktar sig till Arduino utvecklingsmiljö.

de flesta I/O hanteras via Arduino shields. Kontakterna ringer det mesta av kortet och tillåter att de flesta brädor används genom att ansluta dem. De flesta kan staplas eftersom man sällan använder alla I/O. En del av utmaningen för alla plattformar är hur I / O kartläggs när flera brädor används. Till exempel kan I2C stödja många enheter men de behöver var och en sin egen I/O. på samma sätt måste SPI-chipval vara unika.

det finns faktiskt ett antal Arduino shield formfaktorer, några proprietära. Den ursprungliga Arduino-plattformen definierar den mest grundläggande versionen. De utökade versionerna använde fler kontakter som exponerar mer I/O tillgängligt på mikrokontroller med högre prestanda som används på nyare Arduino-kompatibla plattformar.

I / O-programvarusupport kan vara ett problem. Vanligtvis tillhandahålls grundläggande C-stöd för Arduino-utvecklingsmiljöerna. Mer avancerat stöd för enheter som trådlösa moduler tenderar att vara mer värdspecifika. Inte alla kombinationer kommer att fungera tillsammans, men om du kan tänka på en hårdvaru – /mjukvarukombination kan du förmodligen hitta en adrduino-kombination.

Raspberry Pi

Raspberry Pi-plattformen är tillgänglig från företag som Element 14. Den var utformad för att vara en låg kostnad, högpresterande plattform som kan köra Linux.

$ 35 Modell B (Fig. 4) fördubblar mängden minne till 512 Mbyte. Den är baserad på ett Broadcom BCM2835 System-on Chip (SoC) som $25-modellen A. 700 MHz BCM2835 har en ARM1176JZF-s-kärna.

Electronicdesign com-webbplatser Electronicdesign com-filer uppladdningar 2013 06 67211 Fig4sm Raspberry Pi

  • Hot Raspberry Pi
  • Ouya ger $99 spelkonsol Via Kickstarter

den använder ett SD-kort för lagring och kör vanligtvis någon av ett antal Linux-varianter inklusive Raspian, Arch, Debian och Fedora. Det kör också RISC OS, FreeBSD, NetBSD och någon fick Plan 9 att köra på den.

kortet har stöd för USB och 10/100 Ethernet (Modell B). Den kan köra en HDMI-skärm, kompositvideo eller en LCD-panel. Den har en CSI-anslutning för en kameraingång. Den har HDMI-ljud samt I2S och en 3,5 mm jack. Brädorna kräver 300 mA och 700 mA vid 5V för modell A respektive B.

Raspberry Pi har en enda expansionshuvud med GPIO, seriell port, SPI, I2C, I2S, 3.3 V och 5V. det finns ett antal breakout-kort tillgängliga men montering är en utmaning. Raspberry Pi har två monteringshål men de finns inte i hörnen som de flesta andra brädor. Det finns också ett antal fall tillgängliga.

en av de största fördelarna med Raspberry Pi är programvara. Dess låga kostnad och tillgänglighet har genererat ett stort intresse och en hel del programvara för att matcha.

BeagleBone

BeagleBone-plattformen liknar Raspberry Pi. Den kör Linux och har Ethernet, USB och grafikstöd som en del av sitt grundpaket. Den har nu en ny inkarnation som kallas BeagleBone Black (Fig. 5). Denna $ 45-version har en 2 Gbyte eMMC så den levereras med programvara redo att springa ur lådan. Den har också ett microSD-uttag som Raspberry Pi och den ursprungliga $89 BeagleBone. Den senare kom med ArchLinux på ett microSD-kort.

Electronicdesign com webbplatser Electronicdesign COM-filer uppladdningar 2013 06 67211 Fig5sm Beaglebone Svart
Figur 5. BeagleBone Black använder ombord eMMC men innehåller ett microSD-uttag bara om du vill ha flyttbart lagringsutrymme. Det betyder att den kan komma med sin egen programvara redo att köras när du ansluter den.
  • intervju med Sparkfuns ingenjörschef
  • liten styrelse och små moduler på Design West

BeagleBone Black är baserad på ett Texas Instruments AM335x 1GHz ARM Cortex-A8. Den har en 3D-grafikaccelerator, Neon flytpunktaccelerator och innehåller också ett par programmerbara Realtidsenheter (PRU) som verkligen är 32-bitars mikrokontroller i sig. Cortex-A8 är en dubbel fråga, superscalar plattform som har kanten i prestanda jämfört med ARM11 av Raspberry Pi. Brädorna har Ethernet -, HDMI-och USB-kontakter.

jag var verkligen imponerad av det övergripande BeagleBone-paketet eftersom det är den enda plattformen som fungerar ur lådan. Allt som behövs är en dator med USB och ett relativt nytt operativsystem. Det senare krävs för att tillhandahålla RNDIS-nätverksstöd via USB-anslutningen.

i huvudsak ansluter du USB-kabeln till datorn och BeagleBone Black. BeagleBone Black visas som USB-flash-enhet men det gör också nätverksanslutningen. Detta ger ett webbgränssnitt som körs på BeagleBone Black. Webbläsaren på datorn börjar med en HTML-fil på flashenheten men som omdirigerar till webbgränssnittet.

webbgränssnittet tillhandahåller faktiskt en webbaserad IDE och verktygsuppsättning utöver ett webbaserat SSH-gränssnitt. Jag kommer inte att komma in i alla detaljer om vad BeagleBone black ger men det är imponerande. Detta är fördelen med att använda eMMC-blixten.

BeagleBone Black är kompatibel med expansionskort, även kallade kappor, tillgängliga för den ursprungliga BeagleBone. Dessa använder paret 46-stifts rubriker på vardera sidan av BeagleBone. Dessa ger åtkomst till mikrokontrollerns I/o inklusive CAN , SPI och I2C plus till USB-till-seriell och USB-till-JTAG-gränssnitt. Systemen har också fyra monteringshål.

och vinnaren är?

Ok. Jag ska våffla och säga att valet verkligen beror på din bakgrund och dina krav. Om du vill lära dig C och inbäddad programmering är Arduino ett bra val eftersom det sätter dig nära hårdvaran. Det ger också ett bra sätt att utvärdera en mikrokontroller eftersom många leverantörer levererar brädor som kan dra nytta av Arduino expansionskort.

om programvara som körs på Linux eller ett operativsystem är mer av vad du vill, är Raspberry Pi, BeagleBone eller en av dessa varianter förmodligen ett bättre val. På samma sätt hanteras tunga skärmar eller ljudarbeten lättare av dessa två plattformar.

som basplattform lutar jag mig mot BeagleBone Black. EMMC ombord är snabb och effektiv. Det är minnesbegränsat men mer än tillräckligt för de flesta projekt. Jag är också mycket imponerad av den inbyggda utvecklingsprogramvaran. För vissa ROS (robot operativsystem) arbete jag har hittat stöd för Raspberry Pi att vara bra.

det som är riktigt intressant idag är hur dessa plattformar påverkar andra mönster. Till exempel UDOO (Fig. 6) är ett Kickstarter-projekt som kombinerar Arduino expansion formfaktor med funktionaliteten hos Raspberry Pi, och i huvudsak BeagleBone. Det är en dubbelprocessorlösning som börjar med Atmel Cortex-M3 som finns i Arduino Due. Den har också en dubbel eller quad core Freescale i. MX6. definitivt en tung plattform.

Electronicdesign com webbplatser Electronicdesign COM-filer uppladdningar 2013 06 67211 Fig 6 Udoo
Figur 6. UDOO Kickstarter-projektet stöder Arduino-expansionskort men använder en multicore Freescale i.MX6-processor plus en SAM3X-processor för en intressant multichip-kombination.

den typ av arbete du tänker använda systemet för påverkar definitivt vilken plattform du väljer. Glöm inte andra alternativ som $99 Ouya (se Ouya ger $99 spelkonsol Via Kickstarter) baserat på en NVidia Tegra 3 om programvara och grafik är där du vill vara. Den kör Android och har WiFi och Ethernet-stöd.