This in-depth analysis of the I2C bifilate serial communication system arises the problem of the connection of multiple peripherals having the same address to a single microcontroller and aims to analyze some procedures that could guarantee correct communication. Specifically, the following methodologies have been developed: 1. Physical modification through welding of the sensor address, with which you change it permanently. Normally the possibility is given to modify from 1 to 3 bit among the 8 available. 2. Access to the sensor registers and remapping the address. Through some instructions you can access the register that contains the address and modify it at will. 3. Use a multi bus communication. In Arduino, through some libraries, it is possible to remap any exit PIN and make it a data or clock line (indispensable for having an I2C bus). The study was conducted using Arduino Mega, microcontroller with a single bus dedicated to I2C communication, and two ICM-20948 Adofruit, IMU sensor with nine degrees of freedom.

Questa analisi approfondita del sistema di comunicazione seriale bifilare I2C si pone il problema del collegamento di più periferiche aventi lo stesso indirizzo ad un singolo microcontrollore e mira ad analizzare alcuni procedimenti che potrebbero garantire una corretta comunicazione. Nello specifico sono state sviluppate le seguenti metodologie: 1. Modifica fisica attraverso saldatura dell'indirizzo del sensore, con cui lo si cambia in maniera permanente. Normalmente viene data la possibilità di modificare da 1 a 3 bit tra gli 8 disponibili. 2. Accesso ai registri del sensore e rimappatura dell'indirizzo. Attraverso alcune istruzioni è possibile accedere al registro che contiene l'indirizzo e modificarlo a piacimento. 3. Utilizzare una comunicazione multi bus. In Arduino, attraverso alcune librerie, è possibile rimappare qualsiasi pin di uscita e renderlo una linea dati o clock (indispensabili per avere un bus I2C). Lo studio è stato condotto utilizzando Arduino Mega, microcontrollore dotato di un singolo bus dedicato alla comunicazione I2C, e due Adafruit ICM-20948, sensore IMU a nove gradi di libertà.

Sviluppo e analisi di metodi per il collegamento di sensori mediante bus I2C in Arduino

CAPPELLARI, ALESSANDRO
2021/2022

Abstract

This in-depth analysis of the I2C bifilate serial communication system arises the problem of the connection of multiple peripherals having the same address to a single microcontroller and aims to analyze some procedures that could guarantee correct communication. Specifically, the following methodologies have been developed: 1. Physical modification through welding of the sensor address, with which you change it permanently. Normally the possibility is given to modify from 1 to 3 bit among the 8 available. 2. Access to the sensor registers and remapping the address. Through some instructions you can access the register that contains the address and modify it at will. 3. Use a multi bus communication. In Arduino, through some libraries, it is possible to remap any exit PIN and make it a data or clock line (indispensable for having an I2C bus). The study was conducted using Arduino Mega, microcontroller with a single bus dedicated to I2C communication, and two ICM-20948 Adofruit, IMU sensor with nine degrees of freedom.
2021
Development and analysis of methods for connecting sensors via I2C bus in Arduino
Questa analisi approfondita del sistema di comunicazione seriale bifilare I2C si pone il problema del collegamento di più periferiche aventi lo stesso indirizzo ad un singolo microcontrollore e mira ad analizzare alcuni procedimenti che potrebbero garantire una corretta comunicazione. Nello specifico sono state sviluppate le seguenti metodologie: 1. Modifica fisica attraverso saldatura dell'indirizzo del sensore, con cui lo si cambia in maniera permanente. Normalmente viene data la possibilità di modificare da 1 a 3 bit tra gli 8 disponibili. 2. Accesso ai registri del sensore e rimappatura dell'indirizzo. Attraverso alcune istruzioni è possibile accedere al registro che contiene l'indirizzo e modificarlo a piacimento. 3. Utilizzare una comunicazione multi bus. In Arduino, attraverso alcune librerie, è possibile rimappare qualsiasi pin di uscita e renderlo una linea dati o clock (indispensabili per avere un bus I2C). Lo studio è stato condotto utilizzando Arduino Mega, microcontrollore dotato di un singolo bus dedicato alla comunicazione I2C, e due Adafruit ICM-20948, sensore IMU a nove gradi di libertà.
bus I2C
Arduino
Sensori
File in questo prodotto:
File Dimensione Formato  
Cappellari_Alessandro.pdf

accesso aperto

Dimensione 1.85 MB
Formato Adobe PDF
1.85 MB Adobe PDF Visualizza/Apri

The text of this website © Università degli studi di Padova. Full Text are published under a non-exclusive license. Metadata are under a CC0 License

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/20.500.12608/32213