jak připojit více zařízení se stejnou adresou na I2C

Dobrý den, chtěl jsem se zeptat jestli někdo neví jak na I2C připojit 4 gyroskopy + akcelerometry s čipem MPU6050

odkaz na čip: ebay.com/itm/MPU-6050-6-DOF … :rk:1:pf:0

Ja viem, ja viem, ja viem :slight_smile:

No dobre, nebudem na Nový rok tak machrovať :slight_smile:

Viac zariadení na I2C, 1-wire, SPI, UART, … s rovnakou adresou jednoducho pripojíš tak, že nie všetkým naraz pripojíš nejaký kľúčový signál. Napríklad SCL, CLK, TX a tak podobne.

Pomocou jednoduchého a velice že malého obvodu (napríklad SN74LVC1G139) a ďaľších dvoch pinov mcu, by som prepínal SCL medzi tými štyrmi obvodmi.

Ak by si nechcel/nemohol použiť ďalšie dva piny mcu, záchrana je napríklad v obvode PCA9548A alebo podobnom.

Ak by si sa aj tomuto musel/chcel vyhnúť, dal by som ku každému I2C obvodu samostatný MCU, napríklad ATtiny13/15/25/45/85 a ten by robil “vatu” medzi gyroskopom a zbernicou na základe rozlíšenia adresy na linke. Potom už protokol a adresný dekodér môže byť ľubovoľný.

Šťastný nový rok 2019 :slight_smile:

Některé čipy mají možnost volit svoji adresu externím vstupem. V tom případě se nabízí použít tento vstup jako selektor. Počet pak není prakticky limitován.

Pokud používáš softwarovy I2C, tak prostě každý čip bude mít svoje SCL. Případně HW multiplexer k HW i SW I2C.

Použití více MCU jako expandéru s vlastním protokolem bych se spíš raději vyhnul (dopravní zpoždění, synchronizace čtení dat, výměny fw při vývoji, atd).

Podľa popisu:

store.invensense.com/datasheets … V3%204.pdf

si môžeš ľahko nastaviť jednu z dvoch adries cez pin AD0.

A zdá sa, že signály XDA a XCL by sa pre pripojenie ďalších I2C zariadení dali využiť tiež a takto by sa mohli dať reťaziť gyroskopy do nekonečna a ešte ďalej. Ale konkrétne možnosti použiria AUX-SDA a AUX-SCL som už neštudoval.

Existuje multiplexer i2c
TCA9548A

aliexpress.com/item/1PCS-TCA … 0Egtexl3_5

1 Like