Microcontrollori – Ambiente di sviluppo per MCU ad alta scala di integrazione

microcontrollore freescale zigbee wireless

Il mio nome è Rich e sono uno sviluppatore Freescale nel mio tempo libero. Se sei nuovo come me, probabilmente ti sei davvero emozionato la prima volta che hai sentito parlare di un computer su un chip. Voglio dire che una grande idea, un intero computer su un unico chip! E forse hai il telefono in mano e allora lo si sta ordinando da Keynes Electronics o Digikey o simili, si presentò per posta pochi giorni dopo, questo è grande. So che sei super eccitato. Sai che cosa questa cosa sembra ancor prima di aprire la scatola. Ha 40 pin. Ha un pacchetto doppio, ed la finestra classica degli EPROM. Voglio dire una volta che hai aperto si rimane un po’ sorpresi. Voglio dire mi aspettavo il connettore Db25 sul retro di questa cosa. Voglio dire questo è un computer su un chip. Ho avuto modo di essere in effettuare un login. Ho avuto modo di programmarlo. Ho avuto modo di essere in grado di fare ogni sorta di cose. È interattivo. È un computer. Comunque, devi entrare un po’ di più e imparerai che non è davvero quel tipo di computer su un chip. Questo è più di un chip programmabile rispetto ad un computer su un chip. Yeah l’ambiente di sviluppo software di qui, si esegue sul computer reale. È possibile scrivere il programma e compilarlo e dopo scaricarlo sul chip programmabile. Potresti vedere cosa funziona cosa e cosa no e quindi cambiare il programma. Alla fine, si ottiene il programma per l’esecuzione. Ma quando sono stati fatti, c’era solo una specie di smart chip programmabile. Non è veramente un computer su un chip. Non è tutto quello che ti aspettavi.

Un altro problema con questo. Voglio dire che hai comprato questo computer su un chip perché ha tutte queste periferiche. Aveva convertitori analogico-digitali, modulatori di larghezza di impulso. Aveva timer, memoria flash, EPROM o qualcosa di simile. Inoltre è una grande periferica che si desidera sfruttare e si desidera connettere al vostro sistema integrato.

Comunque, quando si arriva qui all’ambiente di sviluppo software si ottiene questo manuale da 500 pagine che dice fondamentalmente dei registri e di dettagli veramente innovativi che magari non sei molto contento di sapere. Fondamentalmente, è emerso che per un byte di memoria flash non devi passare attraverso tutti questi algoritmi. Si doveva leggere ogni sorta di cose e sai che era un sacco di lavoro e tutto quello che volevo fare era usare una memoria flash. Tutto quello che volevi fare era prendere queste periferiche davvero cool e collegarle insieme ad un livello elevato. Vuoi prendere qualcosa dal convertitore analogico-digitale, e sapete qualcosa sui pin I/O e cose del genere. Ma non vuoi imparare a parlare con un programma per il convertitore analogico-digitale.

Vuoi solo usarlo.
Comunque, uno dei miei obiettivi nella vita è quello di produrre sistemi di sviluppo integrati per le masse. Penso che ci siano un sacco di persone là fuori che non utilizzano sistemi integrati. Sono davvero impressionanti i microcontrollori che potrebbero essere utilizzati. Si tratta di persone nel campo dell’istruzione o ricercatori che svolgono un lavoro a basso volume. Sai che loro intendono collegare il materiale nei loro laboratori o quant’altro. Voglio portare queste cose in tutta la mia casa, in tutto il mio giardino, in tutto il mondo, e farne parlare. Non è necessario, ma lo faccio. Ma non tutti vogliono necessariamente avere intimità con le loro MCU per farlo. Vorrebbero solo essere in grado di individuare un’MCU che ha tutte le caratteristiche che vogliono, collegare le cose insieme a un elevato livello e poi fare con essa e qualcosa che possono mostrare alle persone o cose che saranno utili nei loro laboratori o dovunque.

Comunque, vediamo come la scheda badge potrebbe essere in grado di aiutarci a farlo.
Okay. Ecco la mia scheda badge. Stiamo facendo un piccolo gioco. Non un gioco molto emozionante il pong o paddle o come volete chiamarlo. È un po’ diverso. Esso utilizza un accelerometro per spostare il pedale e fare gli effetti sonori. Vediamo come faccio sotto pressione. Si può vedere abbiamo mosso il pedale. Comunque, andiamo. Ho balzato una volta e ho rimbalzato nuovamente. Ho balzato di nuovo. Oh questo è molto meglio di quanto faccio di solito. Comunque andiamo. Ho perso. Okay. Quello che ho fatto per questo programma è ho iniziato con un terminale stupido.

Il terminale è in esecuzione sul mio PC e che è collegato all’USB sulla scheda badge e ho parlato correttamente con il computer sul chip. Il computer sul chip sta eseguendo un intero sistema operativo.
Espone una porta virtuale COM fuori dalla USB e ti da un editor, una compilatore trasparente linea per linea. Come si inserisce il programma, è automaticamente compilato. Un debugger interattivo, un file system flash in cui è possibile memorizzare più programmi, il tutto in esecuzione proprio qui sul computer su un chip. Okay. Questo è quello che ho sognato. Questo è il connettore DB 25 messo sul retro del chip e se questo chip ha l’USB come un 51JM128 o 5521, è possibile collegare l’USB. Se è Ethernet, compra il 52.233 un connettore Ethernet, se ha un wireless Zigbee, ricetrasmettitori messi proprio accanto ad esso come l’a132OX, ci si può collegare ad esso tramite Zigbee. Non è necessario alcun filo. Nessuna porta USB o Ethernet e si può accedere, scrivere il programma, modificare il programma, eseguire il debug del programma, ottenere il vostro programma in esecuzione e quindi si può anche farlo eseguire automaticamente quando si accende l’interruttore di alimentazione. Noi stiamo eseguendo il programma di base qui per giocare a pong o a paddle a prescindere. Si tratta di 93 righe di codice e che include i commenti. Okay, probabilmente più commenti di quello che avrebbe dovuto fuori che dentro ogni modo, così le 93 linee di base e stiamo giocando bene al pong. In sostanza, il sistema operativo comprende tutte le periferiche costruite nel chip.

Egli comprende convertitori analogico-digitali, modulazioni a larghezza d’impulso. Egli comprende gli I/O digitali. Quindi una riga di codice in basic legge il convertitore analogico-digitale. Fondamentalmente è possibile associare una variabile come tilt, è una variabile che io uso per la conversione analogico-digitale su un pin e poi da quel momento in poi, quando si legge che variabile, istantaneamente, in tempo reale avete il numero di millivolt su tale pin. Si può semplicemente fare riferimento ad essa nel programma basic. Allo stesso modo, quando noi stiamo generando dei segnali audio, possiamo associare un’altra variabile, forse una chiamata audio a un pin di uscita di frequenza che è collegata a questo cicalino. Posso dire di lasciare l’audio pari a 1000 e boom ho ottenuto un segnale di 1000 hertz utilizzando a modulazione a larghezza di impulso del timer. Fondamentalmente, nel basic tutto diventa facile. Non si deve leggere il manuale di riferimento di 500 pagine. Non si deve sapere il funzionamento dei registri di I/O o di simile. Si possono fare timer, interrupt, è possibile effettuare ogni tipo di cosa. Si può avere punti di visione, punti di interruzione e ogni genere di cose in una linea di basic senza alcun manuale di riferimento. Poi in basic è possibile collegare insieme tutte queste periferiche che si hanno con le dichiarazioni di alto livello. Si può prendere un segnale analogico e trasformarlo in digitale. Fondamentalmente, è possibile legare insieme le periferiche con semplici dichiarazioni di basic e il sistema operativo le gestirà. E il sistema operativo sa come gestirli per i diversi chip e allo stesso tempo, indipendentemente da quale chip hai.

Una cosa prima di entrare nella demo vera e propria. Stiamo per entrare nel codice. C’è un’altra cosa che manca qui. Okay. Ricordo come ho parlato del wireless Zigbee. Freescale ha questa scheda, la 1320XRFC che è davvero cool e sarà inserita nella scheda di badge.

Si deve sollevare un pin dell’MPR084 dal suo pad perché il punto di IRQ non è aperto come dovrebbe essere. Quindi fondamentalmente, per poter pilotare il pin IRQ, è necessario rimuovere il suo pin IRQ, altrimenti essi hanno un contrasto quando non si sta eseguendo e si interrompe e questo si esegue e si interrompe, non vince la maggior parte del tempo. Comunque, in modo diverso da quello a cui ci atterremo, è possibile collegare la scheda wireless alla scheda badge ed ora la scheda badge ha il wireless. I programmi in basic non possono solo controllare il log in, la pausa di un programma e il debug del programma su reti wireless. I Programmi in basic possono parlare tra loro via wireless. Così, per esempio, un programma in basic in esecuzione su questa scheda badge può effettivamente parlare con un programma in basic in esecuzione su un’altra scheda distinta e si possono modificare le variabili relative alla scheda e le altre Oppure si potrebbe avere questo tipo collegato ad un interruttore della luce e l’altro collegato alla luce e si può rendere il lavoro più leggero.

Comunque andiamo a guardare l’anatomia del programma in basic. Ecco la scheda badge. L’accendo e vedrai che è in esecuzione il nostro programma in basic collego all’emulatore del terminale e il programma parte. E possiamo interrompere premendo il controllo C [entriamo in una sessione interattiva di debug]. E così, fermato il programma, ho premuto il controllo C. esce “stop a D50 line”. Ci siamo fermati nel bel mezzo di una sequenza audio, e così uno dei pin di uscita del MCU stava generando ciò che era di 500 o quello che era e quindi abbiamo una variabile legata al pin di uscita. Quindi quello che ho fatto è solo impostare a zero per disattivare il tono in modo da poter parlare.

E’ molto più facile quando qualcun altro lavora per te! Dev.Emcelettronica CPUStick – Compralo ora! (24/48h delivery)

Leggi anche: CPUStick

STAMPA

Leave a Reply