[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
|