BeagleBone ai raggi X, vediamola da vicino

BeagleBone Black

La scorsa volta vi abbiamo accennato brevemente all'esistenza di questa scheda. Oggi, però, da un lato la vostra curiosità dall'altro il nostro interesse per questa scheda ci hanno convinto a proporvela sotto un'altra veste, in particolare nella maniera più essenziale possibile: guardandone lo schematico. Analizziamo la BeagleBone Black per vedere com'è fatta e come funziona. Siete pronti?

La BeagleBone ad oggi è stata sicuramente una delle più interessanti novità disponibili sul mercato. Questo non stupisce anche, e soprattutto, alla luce della sua migliorata dotazione hardware, che vediamo qui sotto in un breve confronto rispetto alla versione precedente:

  • ARM Cortex-A8 AM3358/9 @750 MHz -> ARM Cortex-A8 AM3359 @ 1GHz;
  • RAM: 256 MB DDR2-> 512 MB DDR3;
  • SO Angstrom (Linux) precaricato -> SO Angstrom (Linux) precaricato + supporto per Ubuntu e Android;
  • Nuove uscite micro-HDMI audio/visual;
  • interfacce USB-to-serial e USB-to-JTAG rimosse (disponibili su exp headers);
  • Consumo di potenza: 300-500mA @ 5V -> 210-460 mA @ 5V;

Poiché la scheda si rivolge anche all'utilizzo da parte di professionisti e pertanto ad applicazioni professionali, è possibile installare un header JTAG al connettore P2 sul retro della scheda. P2 è un connettore della Samtec, FTR-110-03-G-D-06, che può essere acquistato direttamente dall'azienda oppure da un distributore.

Una delle novità che interessa maggiormente è l'attività del gruppo che supporta la scheda, la revisiona, la perfeziona ma soprattutto ne corregge i difetti che vengono rilevati. Questa fervida attività ha portato già a diverse nuove release, che l'hanno resa sempre più stabile e completa.
La scheda è, pertanto, arrivata alla revisione A5B dopo aver migliorato il controllo sulle funzioni di wake-up ed aver apportato molte altre modifiche.

Parliamo brevemente di hardware e software. Per entrambi esistono FAQ dedicate grazie alle quali gli utenti, inesperti o meno, potranno da un lato prendere confidenza con la scheda e dall'altro farsi venire nuovi dubbi sul suo utilizzo o sulle sue caratteristiche. Quella dedicata all'hardware la trovate a questo link mentre quella dedicata al software in realtà si articola in diversi riferimenti: prima di tutto il Bootloader, poi il Kernel ed infine il file system.

Detto ciò, entriamo nel vivo dell'articolo ed andiamo…

… dentro la scheda

Abbiamo parlato tanto finora ma è giunto il momento di andare “dentro la scheda” a vedere cosa c'è, come funziona, com'è fatta davvero, anche per capire meglio perchè ci interessa ed iniziamo l'analisi sullo schematico.

La documentazione completa che vi abbiamo proposto, e che viene per intero riportata sul sito, prevede una serie di file tra cui alcuni pdf. In uno di questi, in particolare, ci sono una serie di pagine delle quali ci occupiamo adesso.
Nella prima, più precisamente, vediamo da subito la sezione in cui ci si occupa della gestione dell'alimentazione.
Ecco, dunque, qui per voi, prima di andarla a studiare nel più minuto dettaglio, gli schemi elettrici completi della scheda:

Lo schematico più nel dettaglio

Del processore c'è parecchio di cui parlare ed in particolare lo schematico va analizzato da tre punti di vista distinti: prima di tutto, l'analisi del connettore JTAG, assolutamente imprescindibile per lavorare in maniera professionale. In secondo luogo serve l'analisi delle porte, vedere come sono state dislocate e quali sono i tipi di connessione.
Nella terza immagine che vi proporremo (più avanti), invece, un ulteriore dettaglio alla configurazione.
Eccole, quindi:

Come vedete il connettore è perfettamente configurato e pronto per l'uso. Una soluzione per l'utilizzo di un connettore JTAG opzionale è il pin 20, previsto sulla board per facilitare lo sviluppo del software ed il debug della board per qualsiasi (o quasi) emulatore. L'header non è stadard sulla board e pertanto va comunque effettuata una saldatura.

La figura che vi abbiamo appena mostrato serve a darvi un'idea dell'utilizzo del pinout dell'XAM3359AZCZ100 del quale i pin sono, per la maggior parte, occupati per effettuare le debite connessioni con la RAM, come vedremo tra breve.

Ma non solo, ed infatti, ecco un'altra irrinunciabile feature della quale la scheda è dotata:

Assolutamente notevole, anche rispetto ad analoghe considerazioni che mi trovai a fare parlando di Raspberry Pi, è il fatto che sia stato previsto il pulsante di reset. Ritengo che sia una funzionalità davvero utile perché permette un controllo migliore ed è, ammettiamolo, assolutamente imprescindibile.

Non avevamo parlato del clock HDMI, giusto? Bene, eccolo qui. La scheda prevede l'HDMI clock a 24 MHz.

USB

Ed ora veniamo all'USB. Ci sono due sezioni USB di nostro interesse; la prima è USB PC:

la seconda è l'USB Host:

Sulla scheda c'è un connettore USB Femmina tipo A che permette supporto HOST completo di tipo LS/FS/HS alla connessione tra USB1 ed il processore. La porta può fornire una tensione di 5 V ed un valore massimo di corrente pari a 500 mA.
In condizioni di alimentazione tramite USB, la porta non sarà in grado di fornire, però, esattamente quel valore, il che significa che potrebbe essere necessario collegare soltanto dei dispositivi che siano meno "demanding", come ad esempio mouse o tastiere, ancorché senza fili.

UART

Nella prossima immagine, la porta seriale UART0, accessibile dall'Header J1 e configurata grazie all'uso di un SN74LVC2G241. Di che cosa stiamo parlando? Semplice: di un driver dual buffer progettato per lavorare con una VCC compresa tra 1.65 e 5.5 V. Il suo scopo è quello di migliorare sia le prestazioni sia la densità di memorie a 3 stati, oltre che clock drivers ed anche ricevitori e trasmettitori bus-oriented.
È "organizzato" come una coppia driver di "linea" ad 1 bit con input output-enable separati (10E, 20E). Quando il primo dei due è basso, ed il secondo alto, il dispositivo permette il passaggio dei dati dagli ingressi A alle uscite Y. In caso contrario, le uscite sono nello stato ad alta impedenza.
Al fine di garantire questo stato di funzionamento durante le commutazioni, OE deve essere portato a VCC ed a GND tramite l'utilizzo dei resistori delle due reti, rispettivamente, di pull-up e pull-down. Il più piccolo valore accettabile della resistenza viene determinata dalla capacità del driver nelle modalità current-sinking o current-sourcing.
Uno dei vantaggi dell'utilizzo di questo dispositivo è la sua ottima funzionalità nel controllo della corrente Ioff in condizioni di partial-power-down. Tale valore dà stabilità le uscite, evitando la possibilità di correnti inverse che possano creare danni.

Tra le caratteristiche di questo integrato ci sono:

  • tensioni di input accettate fino a 5.5 V;
  • tpd MAX = 4.1 ns @ 3.3V;
  • ICC (in condizioni di basso consumo): 10 µA;
  • Output drive @ 3.3V: ±24 mA;
  • La protezione ESD supera JESD 22 (2 kV – A114-A; 200 V – A115-A; 1 kV – C101).

Alimentazione

Vediamo ora un altra sezione che riguarda le connessioni al TPS65217. Sono le seguenti:

Che vuol dire questa porzione dello schematico? Di che parla? Stiamo analizzando la sezione di alimentazione a tensione fissa e di valore pari a 5V. L'alimentazione in corrente dipende da quanti e quali tipi di schede aggiuntive sono state connesse alla scheda mentre viene utilizzata, ovviamente. Per riferirci ad un caso tipico, tanto per rimanere sul pratico, un'alimentazione 5VDC che preveda una corrente pari ad 1A dovrebbe certamente essere sufficiente; nel caso in cui, però, non dovesse bastare, sarà necessario aumentare proprio il valore di corrente. Il connettore utilizzato è di tipo 2.1mm x 5.5 mm (inner positive). Il rail 5V è connesso all'header di espansione ed è possibile alimentare la scheda tramite questi direttamente da una add-on.

Ecco alcune specifiche del TL5209:

  • tensione di uscita regolabile;
  • accuracy 1/2% (25°C/Full Range);
  • figura di rumore: 300 nV/Hz (Typ);
  • corrente di shutdown MAX: 3 µA;
  • basso coefficiente di temperatura;
  • Dropout MAX 500 mV a pieno carico (500 mA).

A che serve? Non è altro che un regolatore di tensione, un eccellente LDO PNP che ben si adatta ad applicazioni portatili ed alimentate a batteria. Proprio la corrente di quiescenza, col suo valore incredibilmente contenuto, è uno dei parametri che lo rendono ottimo in diversi campi applicativi. Permette di allungare la durata della batteria ed un controllo ottimale sull'isolamento da correnti inverse.

Il TS5209 ha anche ottime caratteristiche di tensione di dropout e richiede 600 mV in condizioni di lavoro "leggere" e 500 mV a pieno carico.

Inoltre, tra le caratteristiche che più ci interessano, c'è la "accuracy", che si attesta ad un valore dell'1% della tensione d'uscita.
Come accennato, per tutti coloro che hanno necessità di sviluppare applicazioni "noise-sensitive", il regolatore prevede l'utilizzo di condensatori di bypass dedicati connessi al pin BYP; questo riduce il rumore all'uscita del regolatore.
Altre caratteristiche interessanti sono la riduzione e la limitazione della corrente, il cosiddetto thermal shutdown, la protezione reverse-battery ed in ultimo il basso coefficiente di temperatura. Peraltro, il dispositivo, in sé, è impiegabile in una grande varietà di progetti, dal momento che ho lavorare tra -40 e 125 °C.

I LED

Ma andiamo avanti ed occupiamoci brevemente della sezione dedicata ai LED. Essi sono inseriti in una semplice rete di polatizzazione e fungono da carico per dei DMC56404, transistor NPN con resistore (tra base ed emettitore) built-in, ovvero realizzato tecnologicamente al suo interno. Il vantaggio dell'utilizzo di questo dispositivo è il basso valore di tensione di saturazione Vce, che lascia, sostanzialmente, la dinamica "libera" per fornire corrente ai diodi.

Parlavamo di memoria e della dotazione che la scheda. Dicevamo, in proposito, che di memorie ne esistono di due tipi sulla scheda, le prime mentre il secondo tipo è Flash eMMC.

RAM

Questa porzione dello schema elettrico dimostra le interconnessioni del banco di memoria. Queste non sono particolarmente "interessanti" o difficili da comprendere, dal momento che si tratta di configurare in maniera opportuna collegamenti che fungono prevalentemente da polarizzazione e che servono a fissare i rails, ovvero VDD e GND.

Fatta eccezione, infatti, per la funzione di reset, che viene comandata grazie ad uno specifico livello di tensione, l'unica altra particolarità è costituita dai livelli di tensione di riferimento che vengono soprannominati VREF_CA e VREF_DQ. Di questi, il primo prevede l'implementazione di una rete che realizzò un semplice partitore di tensione, che divide il valore in due, e l'implementazione di una capacità, C123, che svolge la funzione di bypass.

Ethernet

Il prossimo estratto mostra la connessione della porta Ethernet:

Sull'LPJ0011BBNL c'è poco da dire, in realtà, nulla che non sappiate già: si tratta di un connettore RJ45 che rappresenta un'ottima soluzione per cavi Ethernet CAT 5 e 6 e che potrete trovare facilmente con o senza LED. Importante è far notare che nella produzione di questa scheda è stato previsto il connettore con parti magnetiche, a differenza di quanto accaduto per altri, che hanno poi dovuto correre ai ripari.

MicroSD

Inoltre, vi avevamo accennato che era possibile dotare la scheda di memoria eMMC, giusto? Ecco, allora, la sezione di connessione per la uSD con un dettaglio sulla configurazione del connettore SCHA5B0200:

Boot section

Quella che segue è un'immagine del dettaglio dello schematico relativo alla circuiteria coinvolta nel boot:

Qui, invece, una rete composta da una serie di condensatori di by-pass:

Pinout

E, come da migliore tradizione, "il divertimento non finisce qui" dal momento che abbiamo una coppia di header di espansione disponibile. Eccone un "ritratto":

Probabilmente questa immagine non vi basta e partanto, per essere più chiari ed esaustivi, riportiamo qui di seguito il pinout completo per l'Header 8 (fate click per ingrandire)

e per il 9 (fate click per ingrandire)

Part List

Ecco, infine, nel breve estratto che segue, alcuni degli integrati e dei dispositivi che sono riportati nella BOM (Bill Of Materials) che ci interessano (quindi a meno di resistenze e condenstori) sia per posizionamento sia per connessioni annesse e di cui abbiamo parlato:

QTY Riferimento Definzione Prod. PART NUMBER
         
5 D1,D2,D3,D4,D5 LED BLUE CLEAR THIN 0603 SMD Lite-On LTST-C191TBKT
2 D6,D7 DIODE ESD PROT HDMI TSSOP-10 NXP IP4283CZ10-TT,118
1 D8 DIODE SCHOTTKY 40V 120MA SOD-323 NXP RB751V40,115
6 FB1,FB2,FB3,FB4,FB5,FB7 Ferrite Bead 150 Ohm 800mA Laird-Signal Integrity LI0805H151R-10
3 S1,S2,S3 SWITCH TACTILE SPST-NO 0.05A 32V C&K KMR231GLFS
2 Q1,Q2 TRANS NPN/NPN W/RES 50V SMINI6 Panasonic DMC564040R
1 RT1 POLYSWITCH RXE SERIES 0.10A HOLD TE Connectivity RXEF010
3 L1,L2,L3 INDUCTOR 2.2UH 20% 1300MA 1008 Murata LQM2HPN2R2MG0L
1 J1 CONN HEADER 6POS, VERTICAL, .100 STR TIN FCI 68000-406HLF
2 P8,P9 NN HEADER FMAL 46PS.1" DL GOLD MLE SSHS-123-D-02-GT-LF    
1 P1 CONN POWER JACK 2.1MM CUI PJ-002A
CUI PJ-002AH
1 P4 CONN RCPT USB MINI B R/A SMD Hirose UX60SC-MB-5ST(80)
1 P5 RJ-45 10/100 W/Magnetics Link PP LPJ0011BBNL
1 P3 CONN RCPT USB TYPE A R/A PCB FCI 87520-0010BLF
1 P10 Connector SD/MMC ALPS SCHA5B0200
1 P6 HDMI / Displayport / DVI Connectors MICRO HDMI RCPT SMT DIP+ SMT LEG TYPE D FCI 10118241-001RLF
1 U2 Integrated Power Management Unit TI TPS65217C
1 U5 SubArctic Cortex A8 Processor 15×15,1GHz,ES2.0 TI XAM3359AZCZ100
2 U9,U10 IC 4CH ESD SOLUTION W/CLAMP 6SON TI TPD4S012DRY
1 U4 IC LDO VOLT REG 500MA 8-SOIC TI TL5209D
1 U8 IC 1.5A PWR DIST SWITCH 8-SOIC TI TPS2051BDGN
1 U6 IC SGL POS EDG TRIG D F-F SM8 TI SN74LVC1G74DCT
1 U15 IC BUFF/DVR TRI-ST DL 8VSSOP TI SN74LVC2G241DCU
1 U3 IC INVERTER SINGLE 1INPUT SC705 TI SN74LVC1G06DCK
1 U12 DDR3 Memory 4Gb,256Mx16 Micron MT41K256M16HA-125:E
1 U13 IC MEMORY, 2GB eMMC Micron MTFC2GMVEA-0M WT
1 U7 IC EEPROM 32KBIT 400KHZ SOT23-5 MicroChip 24LC32AT-I/OT
1 U14 ETHERNET PHY SMSC LAN8710A-EZC-TR
1 U11 IC HDMI INTERFACE HVQFN64 NXP TDA19988BHN/C1,557

Salutandovi

In conclusione possiamo sicuramente affermare che la scheda, anche dal punto di vista della realizzazione, propone alcune caratteristiche davvero interessanti e che possono essere utili soprattutto per chi comincia a studiare gli schematici, ad affacciarsi al mondo dei microcontrollori, per chiarirsi le idee su come può essere realizzata una scheda che implementi diverse interfacce e come si possa arrivare a programmarla per sfruttarle al meglio.
Per tutti coloro che, invece, questo livello di confidenza con l'elettronica hanno già maturato e sono pronti per effettuare la loro serie di elementi, la scheda propone di regalare diverse ore di "intrattenimento".
E siccome l'interesse per questa scheda è tanto sia da parte vostra sia da parte nostra, come vi abbiamo accennato, torneremo ad occuparcene molto presto. Alla prossima.

La Beagle Bone Black è in vendita a questo link con spedizione rapida

STAMPA     Tags:

2 Comments

  1. Giorgio B. Giorgio B. 10 novembre 2013
  2. Piero Boccadoro Piero Boccadoro 10 novembre 2013

Leave a Reply