Papilio = FPGA + Arduino

Aurreko blog-sarrera batean, FPGA teknologiari buruz hitzegin nuen, hardware digitala eraikitzea ahalbidetzen duten txipak.

Gaurkoan, horrelako FPGA bat txertatzen duen teknologia askeko txartel bat dakart: Papilio. Txartel hau Xilinx etxearen kostu baxuko Spartan 3E FPGA txip baten inguruan antolatzen da, horrez gain, USB konexioa (programaziorako) eta EEPROM bat (bitstreama era egonkorrean gordetzeko) dauzka. Txartela creative commons lizentziapean komertzializatu eta askatu da, hortaz, edonork kopiatu dezake, moldatu ala edonolako produktutan erabili.

Ez nahikoa honekin, sustatzaileek Papilio txartela Arduino ingurunearekin bateragarria den Core aske batekin uztartu dute, hau da, posible da FPGAren “silizio likidoa” erabiliz Arduino baten gisan funtzionatzen duen prozesagailu bat sintetizatzea. Gehiago, nahi izanez gero prozesagailu honi nahi dizkiogun moldaketak egin diezaizkiogu.

Gadget factory-koak daude Papilio proiektuaren atzean, eta blog interesgarri batez gain Papilioak zozketatzen dituzten lehiaketa bat antolatzen dute astero. Erosteko Papilio One 250K 49.99$ eta Papilio One 500K 74.99$.

Beste dosi bat: txertatu zure zerbitzaria

Zerbitzari banatu txertatuen blog sarreraren harrera ona ikusita, merkatua apur bat gainbegiratu ondoren dosi bat idaztera animatu naiz web zerbitzari dexente bat jasan dezaketen txartel txertatuekin.

Nire ranking-ean Raspberry Pi garaile, eta ARM prozesagailuak dituzten zerrenda txiki bat ondoren.
Besterik ezagutzen baduzu iruzkina laga, ESKERRIK ASKO!

Raspberry Pi
Zeinek: University of Cambrigde, RS eta Farnell batez ere.
Prozesagailua: ARM1176JZFS @ 700MHz (Broadcom)
Sistema Eragilea: Debian Squeeze, Arch Linux ARM, QtonPI
Salneurria: 25-35$
Estekahttp://www.raspberrypi.org/
Oharrak:
+1 Aurkitu dudan merkeena da
+1 Komunitate zabala
-1 Eskematikoak ez dira oraindik libreak eta prozesagailuaren datasheet-a NDApean soilik.

OLinuXino
Zeinek: Olimex (Bulgaria).
Prozesagailua: ARM926J @ 454Mhz (Freescale)
Sistema Eragilea: Ongi argitzen ez duten linux-en distroren bat
Salneurria: 42,95€
Estekahttp://www.dontronics-shop.com/olimex-imx233-olinuxino-maxi.html
Oharrak:
+1 Eskematikoak eta prozesagailuaren datasheet askeak dira, edonork kopiatu-saldu dezake
-1 Raspberry-a baino gastetitxoagoa eta agian ez horren indartsua
-1 Komunitate Errusiarra dirudienez (ongi etorria Google Translate)

Mbed
Zeinek: MBED enpresa?
Prozesagailua: ARM Cortex-M3 @ 100Mhz (NXP)
Sistema Eragilea: ?
Salneurria: ~50€
Estekahttp://mbed.org/
+1 Kuriosoa den online IDE bat dute, ez dago zertan lokalean ezer instalatu behar (errazagoa hasiberrientzat?)
-1 Aurrekoak baino apur bat garestiago prestakuntza gutxiagorekin

Zedboard
Zeinek: Digilent, Avnet eta Xilinx
Prozesagailua: Dual Core Cortex™-A9 @ 800 MHz (Zynq)
Sistema Eragilea: Linux 3.0 eta Android 2.3
Salneurria: 299-395$
Estekahttp://www.zedboard.org/
Oharrak:
+1 Prozesagailu potentea eta logika programagarria (silizio likidoa) erabiltzeko aukera (Arduino bat edo bestelako VHDLa sintetizatzeko).
-1 Gainontzekoak baino 6 bider garestiago…

FPGA Teknologia: Silizio Likidoa

FPGAk (Field-Programmable Gate Array) fabrikatu ostean erabiltzaileak konfiguratu ditzakeen zirkuito integratuak dira. Bloke logikoak deritzen konponentez osatuak daude (ate logikoak, erregistroak, elkar-loturak eta bestelako bloke dedikatuak) eta hauek hardware-a deskribatzeko lengoaiak erabilita (HDL) konfiguratzen dira.

Silizio likido bezala ere uler genitzake, hau da, aipatutako bloke logikoak erabiliz, neurrira egindako txipak sortu ditzakegu, guk geuk labean sartuko bagenitu bezala. HDL hizkuntzak erabiliz bloke logikoak nahieran konbinatu ditzakegu neurrira eginiko hardware moduluak lortuz: kontagatailu bat, komunikazio interfaze bat, prozesagailu bat edo txipean txertatutako sistema oso bat (SoC) barne komunikazio banatuak dituena (NoC).

Honezkero, Arduinoak daraman prozesagailuetako baten HDL deskribapena eskuragarri dago (ZPUino hemen) eta edonolako Core edo hardware modulu askeak deskargatu daitezke opencores.org webgunetik.

Teknologia honen desabantaila nagusia FPGA fabrikatzaileen (Xilinx, Altera, etab.) negozio ereduan datza. HDL lengoaien deskribatutakoa konfigurazio fitxategi batera pasatu behar da (bitstream bat sintetizatzen da) bloke logikoak programatzeko. Bada bitstream-aren kodifikazioa ez da askea, eta FPGA txip eta txartelen prezioa asko jeitsi bada ere, sistetizatze prozesua gauzatzeko erramintak (ondo) ordaintzera behartuta gaude, edo hauen ebaluazio bertsio mugatuak erabiltzera.

Badaude alderantzizko ingeneritza erabiliz bitstream-ak hackeatu dituzten proiektuak, baina teknologia honen gizarteratzerako bitstream askeko FPGAk behar ditugu, komunitateak sortutako sintetizatze erramintak erabiltzea ahalbidetzen dituztenak.

Zerbitzari banatu txertatuak

Partikular bezala web zerbitzari bat eduki nahi badugu, aukerarik arruntena zerbitzari komertzial bat kontratatu (dreamhost adibidez) eta errentatutako espazioan eraikitzea da. Bestela, talde eta enpresa batzuek egiten duten bezala, zerbitzari propio bat muntatu dezakegu. Zerbitzaria muntatzeko orduan, prozesagailu potenteak (Intel Xeon bezalakoak) erabiltzen dituzte, non normalena Apache http zerbitzari askea gainean instalatzen duten.

Guk ere geure zerbitzaria oso erraz monta dezakegu gure ordenagailuan bertan, linux distribuzio baten gainean Apache instalatuta. Edonola, ordenagailua etengabe piztuta edukitzera behartuta geundeke horrek dakarren argi-indar kontsumo eta ardurarekin (ezin reseteatu, etab.).

Aukera bat, web zerbitzaria sistema txertatu txiki baten barnean montatzea izan daiteke. Nik neuk Raspberry Pi baten gainean wordpress blog bat muntatu dut (gida hau erabilita), blog honen beraren etxea. Energia kontsumo baxua dute eta etengabe konektatuta egotea ez da horren besterako ardura. Gainera, merkeak dira (25-35$), askeak eta Blogsoviet, BakalHau edo LasIndias taldeak zabaltzen hari diren sare banatuen filosofiarekin bat egiten du eta konpatiblea da datozen sare askeetan ere erabiltzeko.

Ziberfisikoak

Sistema txertatuak (Embedded systems ingelesez) funtzio konkretu bat betetzen duten ordenagailuak dira, sarri denbora errealeko eginkizunekin (oso bizkor, mikrosegundu-milisegundu inguruan, eta ziurtasunez erantzun behar izaten dutenak). Nahiz eta ezkutuan egon, etxeko hozkailuak badauka tenperatura edota pantailatxoa kontrolatzeko sistema txertatu bat, eta telebistak, eta kotxeak, telefono mugikorrak… agian lehenago bukatuko genuke sistema txertatu bat zein tramankuluk ez daukan esaten…

Klasikoki, sistema txertatu bat baliabide oso mugatuekin funtzionatzen zutelako ziren bereziak: RAM eta ROM memoria gutxi, maiztasun txikiko erlojuak, etab. Gaur egun aldiz, beste berezitasun bat dute: mundu zibernetikoa (internet) eta mundu erreala batzeko gaitasuna (hontan sakondu nahiz gero guztiz gomendagarria Ed Lee-ren “Introduction to Embedded Systems” liburua, muxutruk deskagatu daitekeena). Oso modan jarri izan da “Gauzen Internet” kontzeptua ere azken urteetan.

Aldi berean, asko entzuten da Arduino hardware askeko plataforma (20€) eta Raspberry Pi mini-ordenagailua (25$-35$), biak ala biak sistema txertatu interesgarriak. Lehenengoak mundu errealeko gauzak mundu digitalera eramateko erramintak eskaintzen ditu: sarrera-irteera digital eta analogikoak. Bigarrenak goi mailako aplikazioak eraiki eta internetekin konektatzeko ahalmena eskaintzen ditu.

Arduino eta Raspberry Pi sistema txertatu ziberfisiko berriak sortzeko gailu berriak, askeak, erabiltzeko errazak eta elkar konplementagarriak:

Erosi berri ditudan Arduino (ezkerra) eta Raspberri Pi (eskuma) sistema txertatuak