- Messaggi: 29
- Ringraziamenti ricevuti 0
×
MSP430, Microcontrollori 16 bit Ultra Low Power
Domande & (spero) risposte
11 Anni 7 Mesi fa #1
da Blu
Domande & (spero) risposte è stato creato da Blu
Un saluto a tutti.
Sono passati 3 mesi da quando ho conosciuto gli MSP430; 3 mesi di duro lavoro.
Per mia fortuna, quasi tutte le domande che mi venivano in mente hanno trovato risposta (generalmente, "spulciando" l'ottimo forum e2e).
Ad alcune domande però non ho trovato risposta; le elenco qui di seguito, sperando che qualcuno mi dia un aiuto.
Premessa: il MCU che vorrei utilizzare è l' MSP430G2553, in formato TSSOP (quindi, con la sola alimentazione digitale, senza l'analogica), e verrebbe montato su una PCB monostrato.
1) Come specificato nel paragrafo "Connection of Unused Pins", il pin di reset, oltre al resistore di pullup, dovrebbe essere dotato anche di condensatore di pulldown. Sul forum e2e ho letto spesso che in realtà questo condensatore (qualora il pin non venga connesso ad un pulsante) può tranquillamente essere omesso, ed anch'io, nelle prove effettuate sulla breadboard col formato DIP, non ho mai impiegato il condensatore di pulldown: è un errore? rischio qualcosa?
2) Qual'è la procedura per impedire ad estranei di leggere (e copiare) il software che è stato installato nel microcontrollore?
3) Nella mia applicazione, farei ricorso ad un regolatore di tensione (LDO); questi dispositivi, per funzionare correttamente, abbisognano di un condensatore di disaccoppiamento sia all’input (tra Vin e GND) che all’output (tra Vout e GND). Il microntrollore che vorrei usare necessita anch’esso di un condensatore di bypass tra DVCC e DVSS; leggendo sul forum e2e (e su alcuni datasheet) risulta necessario impiegare un solo condensatore, di 0,1µF.
La serie sarebbe quindi: batteria – C in – LDO – C out – C bypass x MCU – MCU, come si può vedere nell’allegato “Disegno1”.
Il valore dei condensatori dell’LDO varia a seconda del modello (e della marca); a volte ho letto che deve essere di 1µF, altre volte ho trovato valori più bassi, come 0,1µF.
Nella mia applicazione, ho necessità di ridurre i componenti al minimo.
La domanda è: considerando che tutti questi condensatori devono essere di tipo ceramico, e con bassa ESR, si può usare, tra l’uscita dell’ LDO e il MCU, un ‘unico condensatore di disaccoppiamento?
Se sì, come sceglierne il valore?
4) Uno dei pin del microcontrollore sarà deputato alla lettura di un segnale ADC. In questi casi (correggetemi se sbaglio), al fine di eliminare il più possibile il “rumore”, si circonda la linea che trasporta il segnale con 2 linee di massa, in modo da eliminare i crosstalk. Inoltre, si adopera un condensatore di bypass, posto in prossimità del pin, connesso da un lato alla linea che trasporta il segnale, dall’altro a massa.
Nel mio progetto, i 2 pin adiacenti al pin ADC saranno inutilizzati. Può essere utile far passare sotto di essi (lasciati come input) le 2 linee di massa, come illustrato nel disegno qui sotto (Disegno2)?
Avendo l’accortezza di evitare i “ground loop”, e non potendo usare un piano di massa (ripeto: ho a disposizione un solo layer), quali altri accorgimenti impiegare per migliorare il più possibile la qualità del segnale ADC?
Grazie a chiunque avrà la pazienza di rispondermi.
Sono passati 3 mesi da quando ho conosciuto gli MSP430; 3 mesi di duro lavoro.
Per mia fortuna, quasi tutte le domande che mi venivano in mente hanno trovato risposta (generalmente, "spulciando" l'ottimo forum e2e).
Ad alcune domande però non ho trovato risposta; le elenco qui di seguito, sperando che qualcuno mi dia un aiuto.
Premessa: il MCU che vorrei utilizzare è l' MSP430G2553, in formato TSSOP (quindi, con la sola alimentazione digitale, senza l'analogica), e verrebbe montato su una PCB monostrato.
1) Come specificato nel paragrafo "Connection of Unused Pins", il pin di reset, oltre al resistore di pullup, dovrebbe essere dotato anche di condensatore di pulldown. Sul forum e2e ho letto spesso che in realtà questo condensatore (qualora il pin non venga connesso ad un pulsante) può tranquillamente essere omesso, ed anch'io, nelle prove effettuate sulla breadboard col formato DIP, non ho mai impiegato il condensatore di pulldown: è un errore? rischio qualcosa?
2) Qual'è la procedura per impedire ad estranei di leggere (e copiare) il software che è stato installato nel microcontrollore?
3) Nella mia applicazione, farei ricorso ad un regolatore di tensione (LDO); questi dispositivi, per funzionare correttamente, abbisognano di un condensatore di disaccoppiamento sia all’input (tra Vin e GND) che all’output (tra Vout e GND). Il microntrollore che vorrei usare necessita anch’esso di un condensatore di bypass tra DVCC e DVSS; leggendo sul forum e2e (e su alcuni datasheet) risulta necessario impiegare un solo condensatore, di 0,1µF.
La serie sarebbe quindi: batteria – C in – LDO – C out – C bypass x MCU – MCU, come si può vedere nell’allegato “Disegno1”.
Il valore dei condensatori dell’LDO varia a seconda del modello (e della marca); a volte ho letto che deve essere di 1µF, altre volte ho trovato valori più bassi, come 0,1µF.
Nella mia applicazione, ho necessità di ridurre i componenti al minimo.
La domanda è: considerando che tutti questi condensatori devono essere di tipo ceramico, e con bassa ESR, si può usare, tra l’uscita dell’ LDO e il MCU, un ‘unico condensatore di disaccoppiamento?
Se sì, come sceglierne il valore?
4) Uno dei pin del microcontrollore sarà deputato alla lettura di un segnale ADC. In questi casi (correggetemi se sbaglio), al fine di eliminare il più possibile il “rumore”, si circonda la linea che trasporta il segnale con 2 linee di massa, in modo da eliminare i crosstalk. Inoltre, si adopera un condensatore di bypass, posto in prossimità del pin, connesso da un lato alla linea che trasporta il segnale, dall’altro a massa.
Nel mio progetto, i 2 pin adiacenti al pin ADC saranno inutilizzati. Può essere utile far passare sotto di essi (lasciati come input) le 2 linee di massa, come illustrato nel disegno qui sotto (Disegno2)?
Avendo l’accortezza di evitare i “ground loop”, e non potendo usare un piano di massa (ripeto: ho a disposizione un solo layer), quali altri accorgimenti impiegare per migliorare il più possibile la qualità del segnale ADC?
Grazie a chiunque avrà la pazienza di rispondermi.
Si prega Accedi o Crea un account a partecipare alla conversazione.
- Blu
- Autore della discussione
- Junior Member
Riduci
Di più
11 Anni 7 Mesi fa #2
da Mauro Laurenti
Risposta da Mauro Laurenti al topic Domande & (spero) risposte
Ciao,
un punto alla volta:
1) Il pin di reset ha anche altre funzioni che potrebbero essere attivate. Il condensatore serve per garantire l'impulso di reset, visto che RST e' attivo basso. NMI e' attivo alto, ma...
When configured in the NMI mode, a signal generating an NMI event should not hold the
RST/NMI pin low. If a PUC occurs from a different source while the NMI signal is low, the
device will be held in the reset state because a PUC changes the RST/NMI pin to the reset
function.
2) Quando hai finito tutto, usa il programma gratuito di elprotronic (che trovi nella guida che sto scrivendo). Tra le opzioni di programmazione hai quelle di bruciare i fusibili interni, che bloccano la comunicazione JTAG/SpyBiWire.
3) C2 garantisce che LDO sia stabile ovvero il sistema di reazione abbia un margine di fase elevato e non ci sia "ringing". C3 servirebbe come bypass per l'MSP430. Uno basterebbe ma potresti necessitare un valore piu' grande. Dovresti fare delle misure con oscilloscopio e vedere come si comporta la tensione. Se si abbassa rischi di attivare la circuiteria interna BOR. Personalmente userei il parallelo tra due capacita' al fine di avere una risposta in frequenza migliore (ESR piu' basso) piuttosto che una capacita' piu' grande.
4) E' lecito. Di default i pin sono impostati come ingressi per cui potresti avere un valore fisso collegato a quest'ultimi. Nella configurazione per sicurezza imposta nuovamente il tutto come ingresso.
Il problema si potrebbe avere se per qualche errore o problema P1DIR dovesse cambiare da IN a OUT...e avresti un bel cortocircuito! Quindi potresti avere degli effetti collaterali.
Saluti,
Mauro
un punto alla volta:
1) Il pin di reset ha anche altre funzioni che potrebbero essere attivate. Il condensatore serve per garantire l'impulso di reset, visto che RST e' attivo basso. NMI e' attivo alto, ma...
When configured in the NMI mode, a signal generating an NMI event should not hold the
RST/NMI pin low. If a PUC occurs from a different source while the NMI signal is low, the
device will be held in the reset state because a PUC changes the RST/NMI pin to the reset
function.
2) Quando hai finito tutto, usa il programma gratuito di elprotronic (che trovi nella guida che sto scrivendo). Tra le opzioni di programmazione hai quelle di bruciare i fusibili interni, che bloccano la comunicazione JTAG/SpyBiWire.
3) C2 garantisce che LDO sia stabile ovvero il sistema di reazione abbia un margine di fase elevato e non ci sia "ringing". C3 servirebbe come bypass per l'MSP430. Uno basterebbe ma potresti necessitare un valore piu' grande. Dovresti fare delle misure con oscilloscopio e vedere come si comporta la tensione. Se si abbassa rischi di attivare la circuiteria interna BOR. Personalmente userei il parallelo tra due capacita' al fine di avere una risposta in frequenza migliore (ESR piu' basso) piuttosto che una capacita' piu' grande.
4) E' lecito. Di default i pin sono impostati come ingressi per cui potresti avere un valore fisso collegato a quest'ultimi. Nella configurazione per sicurezza imposta nuovamente il tutto come ingresso.
Il problema si potrebbe avere se per qualche errore o problema P1DIR dovesse cambiare da IN a OUT...e avresti un bel cortocircuito! Quindi potresti avere degli effetti collaterali.
Saluti,
Mauro
Si prega Accedi o Crea un account a partecipare alla conversazione.
11 Anni 7 Mesi fa #3
da Blu
Risposta da Blu al topic Domande & (spero) risposte
Ciao Mauro, e grazie per tutte le risposte.
Mi ha preoccupato la risposta al punto 4, sull'eventualità che si venga a creare un cortocircuito.
Assicurandomi di lavorare sempre per OR, in modo da preservare il valore di input di quei pin, e pre-caricandoli LOW (pur lasciandoli come input), pensi che potrei sentirmi al sicuro?
Oppure è il caso che ricopra con il cover lay le piste anche nel punto in cui passano sotto quei pin?
L'eventualità che possa verificarsi lo scenario da te descritto non è affatto allettante, e non me la sento di rischiare.
Posso fare del mio meglio per assicurarmi che il codice funzioni bene, ma pensi che ci sia comunque un rischio?
Grazie ancora,
Blu
Mi ha preoccupato la risposta al punto 4, sull'eventualità che si venga a creare un cortocircuito.
Assicurandomi di lavorare sempre per OR, in modo da preservare il valore di input di quei pin, e pre-caricandoli LOW (pur lasciandoli come input), pensi che potrei sentirmi al sicuro?
Oppure è il caso che ricopra con il cover lay le piste anche nel punto in cui passano sotto quei pin?
L'eventualità che possa verificarsi lo scenario da te descritto non è affatto allettante, e non me la sento di rischiare.
Posso fare del mio meglio per assicurarmi che il codice funzioni bene, ma pensi che ci sia comunque un rischio?
Grazie ancora,
Blu
Si prega Accedi o Crea un account a partecipare alla conversazione.
- Blu
- Autore della discussione
- Junior Member
Riduci
Di più
- Messaggi: 29
- Ringraziamenti ricevuti 0
11 Anni 7 Mesi fa #4
da Mauro Laurenti
Risposta da Mauro Laurenti al topic Domande & (spero) risposte
Ciao,
il rischio c'e' sempre. I registri interni sono in memoria RAM e non e' impossibile che a causa di un cellulare nelle vicinanze un bit sia cambiato...
...secondo la legge di Murphy se qualcosa puo' adare storta andra' storta!
Mi sembri accurato nel progetto, ma non capisco perche' non vuoi usare un PCB con doppia faccia.
Se il progetto e' per hobby puoi tagliare semplicemente i pin non usati.
Saluti,
Mauro
il rischio c'e' sempre. I registri interni sono in memoria RAM e non e' impossibile che a causa di un cellulare nelle vicinanze un bit sia cambiato...
...secondo la legge di Murphy se qualcosa puo' adare storta andra' storta!
Mi sembri accurato nel progetto, ma non capisco perche' non vuoi usare un PCB con doppia faccia.
Se il progetto e' per hobby puoi tagliare semplicemente i pin non usati.
Saluti,
Mauro
Si prega Accedi o Crea un account a partecipare alla conversazione.
11 Anni 7 Mesi fa - 11 Anni 7 Mesi fa #5
da Blu
Risposta da Blu al topic Domande & (spero) risposte
Nella fattispecie specifica del punto 4, e ti prego di correggermi se sbaglio, l'utilizzo di un doppia faccia inciderebbe poco; le 2 tracce devono infatti circondare la traccia che trasporta il segnale da "schermare", la quale a sua volta deve trovarsi necessariamente sul layer superiore, a contatto col pin del microcontrollore; per questo pensavo di NON scoprire le due tracce connesse a massa nel momento in cui passano sotto i rispettivi pin inutilizzati; venendo coperte dalla solder mask, impedisco il passaggio accidentale di corrente.
A meno che non ci siano controindicazione nell'utilizzare tale soluzione, credo che farò così.
Alla prossima,
Blu
A meno che non ci siano controindicazione nell'utilizzare tale soluzione, credo che farò così.
Alla prossima,
Blu
Ultima Modifica 11 Anni 7 Mesi fa da Blu.
Si prega Accedi o Crea un account a partecipare alla conversazione.
- Blu
- Autore della discussione
- Junior Member
Riduci
Di più
- Messaggi: 29
- Ringraziamenti ricevuti 0
Moderatori: Mauro Laurenti, Matteo Garia
Registrati al sito
Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.