Vai al contenuto

Sensori pressione barometrica su bus I2C

Home Forum Controllori SlimLine e Netsyst (LogicLab) Sensori pressione barometrica su bus I2C

Stai visualizzando 3 post - dal 1 a 3 (di 3 totali)
  • Autore
    Post
  • #69064
    Edi Zobec
    Partecipante

    Ho necessità di aggiungere ad un SlimLine Cortex M7 (codice MPS056A120) un modulo di espansione I/O Mixed signal con relativo cavo di collegamento, E fino a qui non ho tanti dubbi.

    Inoltre, dovrei poter leggere due sensori di pressione barometrici: il BMP180 e il BMP388, che ho già utilizzato con successo in altri contesti su sistemi Raspberry. I due sensori si interfacciano su bus I2C con indirizzo di default 0x77: immodificabile per il BMP180, mentre sul BMP388 esiste un ponte che se saldato ne cambia l’indirizzo in 0x76. Così è semplice gestirli dal software.

    La domanda quindi è: visto che il collegamento tra la CPU e l’espansione pare essere di tipo I2C, posso mettere in cascata sullo stesso bus anche i due sensori?

    Però il cavo proposto tra la CPU e l’espansione ha 10 poli, mentre il bus I2C ne ha di solito solo 4 (VCC, GND, SDA, SCL).

    #69113
    Sergio Bertana
    Amministratore del forum

    Collegare dispositivi I2C sul bus di espansione è sicuramente possibile diamo disponibile la funzione SysI2CWrRd proprio per questo scopo. Unico accorgimento è che i dispositivi I2C non si sovrappongano al campo di indirizzamento degli eventuali moduli di estensione (Da 0x20 a 0x2F).

    Connesso il dispositivo al bus di espansione con il comando telnet I2CSts è possibile verificare  se viene riconosciuto dal sistema.

    Per la connessione se fai riferimento al manuale riferimenti hardware modulo CPU OEM troverai degli schemi elettrici di riferimento. In pratica puoi dal connettore 10 poli di estensione ricavare sia l’alimentazione a 5Vdc che i segnali SCL e SDA.

    #69114
    Sergio Bertana
    Amministratore del forum

    Aggiungo al post precedente che utilizzando il FB I2CBusManager è possibile simulare il bus I2C utilizzando gli I/O del modulo CPU.

    Questa soluzione può essere utilizzata se si vuole gestire dispositivi I2C posizionati molto distanti dal modulo CPU, inoltre utilizzando gli I/O si dispone di un bus I2C isolato galvanicamente dal sistema.

    Naturalmente la velocità di gestione dei dispositivi sarà molto rallentata ma come nel tuo caso che devi acquisire sensori la cui velocità di acquisizione può essere relativamente lenta, può essere una soluzione attuabile.

Stai visualizzando 3 post - dal 1 a 3 (di 3 totali)
  • Devi essere connesso per rispondere a questo topic.