Devo codificare le informazioni sulla versione o sulla configurazione sulla scheda / elettricamente, in modo che il firmware possa rilevare il layout della scheda utilizzato.
Quali opzioni sono possibili e quali sono i loro pro / contro?
Devo codificare le informazioni sulla versione o sulla configurazione sulla scheda / elettricamente, in modo che il firmware possa rilevare il layout della scheda utilizzato.
Quali opzioni sono possibili e quali sono i loro pro / contro?
Risposte:
Dall'alto della mia testa, mi vengono in mente due semplici soluzioni.
Entrambi questi suggerimenti hanno un punto debole in quanto l'utente finale potrebbe facilmente modificarli, diciamo per aprire funzionalità "bloccate". Questo potrebbe non essere un problema per te, ma qualcosa da tenere a mente.
Ho usato un registro a scorrimento con pin legati in alto e in basso per codificare la revisione della scheda prima, se stai già usando SPI per qualcosa sulla tua scheda è banale leggerlo.
Se devi essere in grado di modificare l'ID in fase di esecuzione, allora sarebbe una buona idea usare i jumper anziché legare gli input con le tracce.
Alcune opzioni che mi vengono in mente: -
Collegamenti resistori SMD PADS / O OHM. Utilizzare un sistema binario per la configurazione hardware per ridurre il numero di pin del processore.
Ponticelli. La scheda avrebbe pin del connettore 2xN che aggiungevano un ponticello al pin destro per consentire di selezionare la configurazione. Un errore è più facile da risolvere. Questo forse è un po 'costoso e usa più spazio sulla tavola a seconda del jumper.
Se si dispone di EEPROM sulla scheda, potrebbe essere possibile incorporare la configurazione in memoria.
È possibile cambiare il firmware stesso usando un #define o simile? Quindi non hai bisogno di spazio sulla scheda e pin extra per il rilevamento della versione.
Le EEPROM a un filo sono una buona soluzione perché richiedono solo un GPIO ma possono memorizzare una grande quantità di informazioni di configurazione. Consentono inoltre al microcontrollore di scrivere tali informazioni durante il test della scheda (ad es. Dati di calibrazione). Molti hanno un pin di protezione dalla scrittura o un bit programmabile una tantum per impedire ulteriori modifiche.
Altri vantaggi includono funzioni utili come numeri di serie univoci garantiti.
Questa opzione è utilizzata in molti sistemi, come le sonde e le batterie dell'oscilloscopio, a causa della necessità di una sola linea dati. La EEPROM può anche essere alimentata dalla linea dati stessa.
Lo svantaggio principale è il costo. Il costo non è elevato, ma sui prodotti fabbricati in serie possono importare pochi centesimi.
Un esempio di tale EEPROM è il DS2431, che memorizza 1kb.