lunedì 22 marzo 2010

Come godo! MBED power in my hands!

clipped from mbed.org
clipped from mbed.org

This mbed Microcontroller is based on a Cortex-M3 Core running at 100MHz, with 512KB FLASH, 64KB RAM and a load of interfaces including Ethernet, USB Device, CAN, SPI, I2C and other I/O.

  • Powered by USB or 4.5v - 9.0v appiled to VIN
  • <200mA (~100mA with Ethernet disabled)
  • 44mm x 26mm
  • 3.3v regulated output on VOUT to power peripherals
  • 5.0v from USB avialable on VU (only avilable when USB is connected!)
  • Current limited to 500mA
  • Digital IO pins are 3.3v, 40mA each, 400mA max total
  • clipped from mbed.org

    The microcontroller I/O is all 3.3v logic, but 5v tolerant. A digital pin can drive 40mA, up to a total of 400mA. For full details, see the Technical Reference.

    Goduria! Mi è arrivato questo gustoso mbed NXP LPC1768 con processore Cortex-M3 a 100MHz, 512k flash e 64k RAM.

    Rispetto alla Arduino, ha parecchi vantaggi:
    - notevole potenza di calcolo
    - più memoria
    - 3.3V ma 5V tolerant ("la botte piena e la moglie ubriaca")
    - dimensioni contenutissime e millefori-friendly
    - una sporta di periferiche, inclusa la Ethernet, il
    - un pin GPIO può "sourciare" 40mA
    - costo poco superiore ad una comune Arduino (ma l'ho ordinata in USA assieme ad altre cose su Sparkfun; non so se sia possibile comprarlo in Italia)

    Tutto questo, più la solita (ampia) libreria di esempi funzionanti per varie periferiche, la possibilità di alimentare a batterie (con quattro NiMH è OK) o da USB, etc.

    Non vedo l'ora di cominciare a smanettare!! Presto altre notizie...

    12 commenti:

    1. Ho scritto il mio primo programmino (indovina cosa fa):

      #include "mbed.h"

      DigitalOut a1(LED1), a2(LED2), a3(LED3), a4(LED4);

      int main()
      {
      for(;;)
      {
      a4=0; a1=1; wait(0.2);
      a1=0; a2=1; wait(0.2);
      a2=0; a3=1; wait(0.2);
      a3=0; a4=1; wait(0.2);
      }
      }

      RispondiElimina
    2. Complimenti per il design, ma anche complimenti per la maneggevolezza: viene visto come una memorietta da 2Mb e all'accensione esegue il file ".bin" più recente che trova nella sua directory (per cui l'ultimo che è stato copiato o sostituito, sarà quello eseguito al prossimo avvio).

      RispondiElimina
    3. Dopo averla vista sul tuo bolg e averla valutata, anche io ho ordinato questa schedina da digikey. Sarà il mio primo ARM. Grazie per la segnalazione e buon divertimento :-D

      RispondiElimina
    4. Se pubblichi qualcosa (blog o sito web) fammelo sapere.


      Quanto a me, mi dispiace solo per tutte le Arduino che ho ancora inutilizzate (due mini, una Duemilanove e una Mega)...! La "mbed" è decisamente migliore. L'unica rogna (per alcuni sarà una rogna) è che il compilatore è un'applicazione web (se non sei connesso a internet, non puoi compilare niente).


      Un altro interessantissimo vantaggio è che collegando la MBED alla porta USB, viene vista da Linux come terminale seriale (ttyACM0) e perciò le varie printf/getc avvengono regolarmente su quel canale (con la possibilità di restituire al PC Linux i dati "trattati" dalle seriali/spi/i2c dell'mbed).

      Sparkfun è alquanto costoso (inclusa la spedizione) ma ha un sacco di bella roba. Ho preso anche un display LCD 20x4 pilotabile da seriale TTL (ha solo tre pin: RX, VCC, GND).

      La "mbed" è troppo piccola per un sistema operativo. Per avere un sistema Linux completo mi ero rivolto alla Beagleboard, sulla quale però non sto pubblicando più nulla perché il progetto è diventato commerciale... :-)

      RispondiElimina
    5. Buon divertimento a programmare in C++. Di essere potente è potente ma preferisco mille volte l'ambinete della arduino che dover compilare sul web, e in c++ per giunta!

      RispondiElimina
    6. In effetti gli svantaggi grossi sono due:

      1) consumo elettrico (in genere sui 100mA se si disabilita la ethernet), alquanto superiore a quel che si riesce a spremere dalla famiglia Arduino;

      2) compilatore on-line (quindi "loro" vedono i tuoi sorgenti, e per giunta se non hai connettività internet non puoi lavorare).

      Però ha un bel po' di periferiche già pronte di cui sentivo tanto il bisogno (ah, se le avesse anche la Beagleboard)...!

      RispondiElimina
    7. Precisazione: 200mA è il consumo di picco (processore in loop al 100% e tutte le periferiche accese).

      Disabilitando la ethernet si risparmiano "solo" 40mA.

      RispondiElimina
    8. Precisazione: anche sulla Arduino è C++ :-)

      RispondiElimina
    9. La cosa che non mi è piaciuta è proprio il compilatore online. Con questa "limitazione" (forse fatta per nascondere l'implementazione delle loro librerie), però, incoraggiano la diffusione del codice sorgente e favoriscono la fioritura di una comunità online, concentrata su un unico sito (mettono a disposizione repository pubblico e wiki).

      A quanto ho letto, poi, si può usare un compilatore per Cortex3 e va lo stesso (da verificare), solo che non si hanno le comodità della libreria presente nel compilatore online. Da far notare è che il codice prodotto funziona anche in produzione (non rimane dunque relegato al prototipo).

      NOTA: La NXP fa parte della Philips

      RispondiElimina
    10. Appena arrivata. Il mio primo programmino è stato questo:

      #include "mbed.h"

      DigitalOut l1(LED1);
      DigitalOut l2(LED2);
      DigitalOut l3(LED3);
      DigitalOut l4(LED4);

      int main() {
      while(1)
      {
      l1 = 1;
      l2 = l3 = l4 = 0;
      wait(1);

      l2 = 1;
      l1 = l3 = l4 = 0;
      wait(1);

      l3 = 1;
      l1 = l2 = l4 = 0;
      wait(1);

      l4 = 1;
      l1 = l2 = l3 = 0;
      wait(1);

      l1 = l2 = l3 = l4 = 1;
      wait(1);
      }
      }

      Peccato che oggi non ho tempo per fare altro. Ciao.

      RispondiElimina
    11. Anch'io ho addocchiato questo meraviglioso e potentissimo gingillo, solo che non ho avuto il coraggio di aquistarlo proprio perchè i tool sono esclusivamente on-line.
      Ma poi cosa ti aspetti di fare con un µC così potente fra le mani?? Forse qualche accidente di supercar, cosa che puoi benissimo fare con quei fottutissimi Arduino (che personalmente odio )? Non vorrei deludere le tue aspettative, ma con un merdoso PIC16F819 e il compilatore Hi-tech (in C) sono riuscito ugualmente a racimolare un MPPT (maximum power point tracker) per pannelli solari, con tanto di grafico della potenza su LCD 16x2.
      Piuttosto ti consiglio di guardare l' STM8S Discovery , comunque ti auguro di divertirti con l'LPC1768 :-)

      RispondiElimina
    12. RAGAZZI SONO UN APPASSIONATO DEL FAI DA TE HO VISTO SU INTERNET UN PESCE PARLANTE CHE SI MUOVE CON LA CODA IL DORSO E LA BOCCA DICENDO DELLE FRASI ISTRUITE CON L' IPC1768,E' FORTISSIMO PER ADESSO HO RECEPITO IL PESCE MI INTERESSAVA TUTTO IL RESTO. SE è POSSIBILE VORREI DEI CONSIGLI DA VOI ESPERTI,CHE COSA DEVO COMPERARE E DOVE COMPERARLO.GRAZIE E SCUSATE LA MIA INTRUSIONE.

      RispondiElimina