Как мы можем использовать линии SDA или SCL для адресов I2 C? - PullRequest
0 голосов
/ 18 февраля 2020
Чип

TMP102 (http://www.ti.com/lit/ds/symlink/tmp102.pdf) может иметь несколько подчиненных адресов I2 c. Он имеет адресный контакт ADD0 ( Раздел 5 ), который можно использовать для выбора нескольких адресов ( Раздел 7.3.4 ). Уровень logi c на этом выводе может использоваться для выбора конкретного подчиненного устройства TMP102. Согласно таблице 4 возможно 4 адреса. Я понимаю, что подключение контакта к высокому или низкому напряжению даст два разных адреса. Но в таблице упоминается, что мы можем использовать выводы SDA и SCL для двух разных адресов. Я не уверен, как это работает. Может кто-нибудь объяснить, как это можно использовать и как мы можем использовать несколько устройств TMP102 на основе выводов SDA и SCL.

Ответы [ 2 ]

2 голосов
/ 18 февраля 2020

Уровень logi c на этом выводе можно использовать для выбора определенного подчиненного устройства TMP102

Это не цель ADD0 - это конфигурационный вывод, а не выберите пин. Он не используется для выбора устройства; I 2 C адреса являются частью потока данных на SDA, отсутствует вывод " select ", как, например, на SPI.

Скорее, ADD0 используется для определения адреса каждого устройства для одного из четырех, определенных в таблице 4. Эти адреса являются одним из 0x48, 0x49, 0x4A или 0x4B в зависимости от подключения ADD0 к GND, V +, SDA или SDL соответственно. Вот так:

enter image description here

Как устройство определяет адрес, не указывается в таблице данных, и вам не нужно знать, но дано:

enter image description here Publi c доменное изображение Марцина Флориана из https://en.wikipedia.org/wiki/I%C2%B2C

в условие запуска на заднем фронте SDA происходит следующее:

ADDR ADD0 SDA SCL
0x48   0   v   1
0x49   1   v   1
0x4A   v   v   1   
0x4B   1   v   1

Затем на следующем заднем фронте SCL

ADDR ADD0 SDA SCL
0x48   0   0   v
0x49   1   0   v
0x4A   0   0   v   
0x4B   v   0   v

Так что это возможно с подходящими последовательными логами c для фиксации адреса к концу фазы S и до B1, что является достаточным, поскольку совпадение адресов не происходит до B7, и все устройства на шине должны прослушивать адрес.

0 голосов
/ 18 февраля 2020

Вы подключаете ADD0 к SDA / SCL, чтобы получить эти другие адреса. В таблице показан адрес, который вы получаете в зависимости от того, к чему подключен ADD0.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...