linux user group brescia

immagine del castello

Archivio della mailing list

[LugBS] Embedded Linux

Silvano Bettinzana silvano.bettinzana a sircomtech.com
Ven 5 Feb 2016 15:12:39 UTC
Cerco di rispondere a tutti:

una tastiera musicale (parliamo della (elettro)meccanica) può essere 
schematizzata nel seguente modo: ogni tasto (e sono 88) ha due 
interruttori che vengono chiusi/aperti in sequenza mentre il tasto sta 
scendendo. Se si misura la distanza temporale fra i due avvenimenti, è 
possibile calcolare la velocità con la quale il tasto si muove. 
Musicalmente parlando questo è in assoluto uno dei parametri più 
importanti durante un'esecuzione pianistica e non. In termini di MIDI, 
questo parametro si chiama "velocity".

Dunque, in una tastiera abbiamo 88x2=176 interruttori di cui dovremmo 
monitorare lo stato. In genere per limitare il numero di 
interconnessioni, i produttori di meccaniche per tastiere organizzano i 
176 interruttori in una matrice di diodi (concetto simile a quanto si fa 
in una tastiera QWERTY) per cui il numero di I/O necessari scende a 
circa 20+20=40 (questo per rispondere ad Alessandro). Questo schema 
elettrico complica leggermente la macchina a stati: non si tratta solo 
di attendere un interrupt da un input fisico, ma si deve progettare una 
macchinetta che fa lo scan righe/colonne ed eventualmente genera un 
interrupt ...

Mi ha fatto piacere leggere delle possibilità real-time di Linux nelle 
sue incarnazioni embedded. E' un discorso che mi piacerebbe approfondire.
Purtroppo, le board economiche in commercio soffrono del numero limitato 
di I/O.
Da parte mia ho la possibilità di progettare con FPGA (Xilinx) dove i 
pin abbondano. Progettare le periferiche che gestiscono gli I/O per 
questa applicazione è quasi banale. Purtroppo i soft-core CPU 
"embeddabili" nelle FPGA di fascia molto bassa non possono certamente 
gestire un Linux con web-server, etc ...

Comunque, investirò un po di tempo a valutare i microcontrollori che mi 
avete suggerito.

PS: forse stiamo annoiando qualche system administrator che ci legge e 
per questo potremmo proseguire la discussione in privato.
Comunque, mi piace far notare che Linux ha avuto un impatto incredibile 
nel quasi sconosciuto mondo embedded e real-time. Qualche anno addietro 
avevamo VxWorx, QNX, OSE, Integrity e decine di altri OS con costi dei 
sistemi di sviluppo di decine di migliaia di Euro per seat e royalties 
run-time.
Con l'avvento di Linux e le aumentate capacità dell'HW, tutto questo è 
cambiato drasticamente. Senza dubbio Linux ha una footprint ben più 
grande degli OS che ho citato precedentemente (Moore comunque aiuta), ma 
le possibilità che offre allo sviluppatore sono infinitamente superiori.
E' un mondo molto sommerso e sconosciuto, ma di piccoli pinguini per 
casa siamo destinati ad averne sempre di più, senza neppure accorgercene.

Silvano


Il 05/02/2016 14:06, Alexjan Carraturo ha scritto:
>
>
> Il 05 feb 2016 1:03 PM, "Giuseppe Corbelli" <cowo78 a gmail.com 
> <mailto:cowo78 a gmail.com>> ha scritto:
> >
> > On 05/02/2016 10:54, Alexjan Carraturo wrote:
> >>
> >> Mi sembra, ma non ci metterei la mano sul fuoco, che esistono anche 
> dei SoC
> >> con al'interno un Micro (di solito utilizzato per gestione power) 
> con un suo
> >> firmware indipende, che comunicano (cosa molto comoda) attaverso 
> una piccola
> >> ma bastevole quantità di shared memory, solo che in questo caso i 
> collegamenti
> >> esterni sono assai ridotti, e quindi bisogna passare da un bus 
> comodo (un I2c
> >> di solito)
> >
> >
> > TI Sitara AM335X ad esempio. Li trovi sulle BeagleBone, hanno on die 
> due PRU (Programmable Realtime Unit) programmabili in C con toolchain TI.
> >
>
> Mi riferivo proprio a quello ;).
> > --
> >     Giuseppe "Cowo" Corbelli ~\/~ My software: http://cowo.yoda2000.net
> > -<! Non c'e' niente da dire in proposito. Tutto quello che uno deve 
> fare e'
> >    colpire i tasti giusti al momento giusto, e lo strumento suona da 
> solo. !>-
> >                                  J.S. Bach
> >
> > --
> > Info/Lamentele/Segnalazioni: andrea.gelmini a gmail.com 
> <mailto:andrea.gelmini a gmail.com>
>
>
>



-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lugbs.linux.it/pipermail/lug/attachments/20160205/2b2d2e18/attachment.html>


Maggiori informazioni sulla lista Lug