Spezial Electronic

Bluetooth I²C - poznámky ke komunikaci a adresování Slave

Bluetooth I²C


Bluetooth moduly OEMSPA311, OEMSPA331 a OBS411 mohou být, po nahrání speciálního firmware, použity jako I²C (TWI) master.
V praxi to umožní bezdrátově řídit nebo číst jakékoli I²C zařízení. Pro komunikaci s I²C sběrnicí je použit jednoduchý protokol. Protokolem jsou definovány celkem 4 události:

- Zápis na I²C
- Čtení z I²C
- Tag request
- Time request

Tag a Time request nevykonávají na sběrnici I²C žádné operace. Obvykle se umisťují za příkaz Čtení nebo Zápis a využívají se jako možnost ověření, že příslušný povel v pořádku dorazil na vzdálený Bluetooth modul, případně Time request může vracet počet milisekund od zapnuttí Bluetooth modulu, podrobnosti viz Manuál k I²C firmware (odkaz na konci článku).

Syntaxe povelů Zápis a Čtení je následující (vše v hexadecimální podobě):

Zápis na I²C:

MSB
A1 Adresa I²C Slave Délka dat Data A3

Čtení z I²C:

MSB
A2 Adresa I²C Slave Data A3

Adresování I²C Slave

Adresy I²C zařízení jsou 7-bitové s tím, že se většinou přidává 8. bit jako příznak pro zápis nebo čtení. Při definici adresy odesílané přes Bluetooth se však tento poslední bit nezadává, I²C adresa příslušného Slave se odešle jako 7-bitová v příslušném povelu Zápis nebo Čtení.

Příklad

I²C zařízení s adresou uvedenou v data sheetu (např. pro obvod reálného času Epson RX-8025):

  Transfer data Slave address R/W bit
bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
Read 0x65 0 1 1 0 0 1 0 1 (=read)
Write 0x64 0 (=write)

Hodnota 0x64 pro zápis však bude do I²C Bluetooth adapteru zadaná jako 0x32 v povelu pro Zápis.
Hexadecimální 0x32 odpovídá 7-bitové adrese 0110010.

Např. pro nastavení ukazatele v RTC obvodu na registr 0 se do Bluetooth I²C modulu odešle tato hexadecimální sekvence:

A1 32 01 00 A3

A1 ... příznak pro zápis
32 ... adresa I²C slave
01 ... počet datových byte
00 ... data (adresa registru 0)
A3 ... stop

Z příkladu je patrné, že adresa I²C slave pro čtení i zápis bude vždy stejná (v případě RX-8025 to bude 0x32) a jde-li o zápis nebo čtení je definováno tím, je-li příkaz odeslán jako Zápis nebo Čtení.



Ke stažení:

pdf   User manual k I²C firmware:  Bluetooth I²C Bus Adapter™

Produkty |  Novinky |  Aplikační poznámky |  Technická podpora |  Obchodní podmínky |  Kontakt |  Home