roboforum.ru

Технический форум по робототехнике.
Текущее время: 23 ноя 2024, 11:13

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 10 ] 
Автор Сообщение
 Заголовок сообщения: Вопросы по I2C
СообщениеДобавлено: 15 ноя 2009, 22:40 
Не в сети

Зарегистрирован: 09 ноя 2009, 14:51
Сообщения: 42
Подскажите пожалуйста каким образом в I2C идет процесс установки адресов устройств? Ведь если на шине висят четыре одинаковых устройства, то получается их никак не возможно идентифицировать? Т.е. для датчиков температуры TMP100 надо подключить линии ADD0 и ADD1 (причем на каждый датчик по сути свою пару, ну или 3 линии на два датчика минимум), выдав на эти линии 1 или 0 сконфигурировать адресс, затем сделать General Call, чтобы устройства запомнили настроенные адреса и только потом можно не думая о линиях ADD0 и ADD1 адресовать устройства согласно настроенным адресам. Я прав или нет?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопросы по I2C
СообщениеДобавлено: 15 ноя 2009, 22:45 
Не в сети
Аватара пользователя

Зарегистрирован: 07 окт 2009, 00:29
Сообщения: 6028
Откуда: СПб
Нет.
Эти ноги на TMP нужно по разному закоротить на землю или плюс.
Тогда у TMP-шек будут разные ареса (будут различаться младшими битами A0 и A1, соответственно)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопросы по I2C
СообщениеДобавлено: 15 ноя 2009, 22:49 
Не в сети
Аватара пользователя

Зарегистрирован: 29 окт 2007, 18:11
Сообщения: 1866
Откуда: Пермь
прог. языки: Brainfuck/Basic/Delphi/C++/Lisp/x86asm/JavaScript
и никакого gencall'a делать не нужно

_________________
Tomorrow will be. Better


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопросы по I2C
СообщениеДобавлено: 16 ноя 2009, 00:40 
Не в сети

Зарегистрирован: 09 ноя 2009, 14:51
Сообщения: 42
А зачем тогда нужен General Call? Чтобы перезагрузить устройства если нам вдруг показалось, что они начали выдавать косые данные?

Добавлено спустя 6 минут 11 секунд:
И меня немного смущает вот этот кусок из даташита на тмп100:
The state of pins ADD0 and ADD1 is sampled on the first I2C bus communication and should be set prior to any
activity on the interface.
Либо я неправильно перевожу, либо все-таки их надо устанавливать... хотя... получается можно их не жестко подтягивать к земле или нулю, а управлять их адресами...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопросы по I2C
СообщениеДобавлено: 16 ноя 2009, 01:06 
Не в сети
Аватара пользователя

Зарегистрирован: 07 окт 2009, 00:29
Сообщения: 6028
Откуда: СПб
"Состояния ножек считываются TMP-шкой при первом обмене по шине и должны быть установлены перед
любыми дрыганиями на шине."

Что это значит? Значит они должны стоять перед тем как обмен пойдет, а потом, сколько ты их не меняй она их уже считывать не будет. Их надо просто притягивать, чтобы установить адрес конкретной TMP-шки, они предназначены для этого. Можно заставить TMP-шку генерал коллом еще раз считать эти ноги, только зачем?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопросы по I2C
СообщениеДобавлено: 16 ноя 2009, 14:21 
Не в сети

Зарегистрирован: 09 ноя 2009, 14:51
Сообщения: 42
Кстати еще вопрос - а как TMP понимает, что ее нога ADD0 или ADD1 висит в воздухе? Просто в возможных адресах присутствуют комбинации, когда одна из ног оставлена не подключенной...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопросы по I2C
СообщениеДобавлено: 16 ноя 2009, 14:57 
Не в сети
Аватара пользователя

Зарегистрирован: 29 окт 2007, 18:11
Сообщения: 1866
Откуда: Пермь
прог. языки: Brainfuck/Basic/Delphi/C++/Lisp/x86asm/JavaScript
мб хитрая внутренняя подтяжка вкупе с ногой о трех состояниях (0%, 50%, 70% от напряжения питания) :unknown:

_________________
Tomorrow will be. Better


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопросы по I2C
СообщениеДобавлено: 16 ноя 2009, 15:47 
Не в сети
Аватара пользователя

Зарегистрирован: 29 апр 2008, 21:15
Сообщения: 4130
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич
Примерно вот так. Используя 3 ноги можно задать 27 конфигураций, при этом сохраняется возможность использовать ноги как выходы (при достаточно большом сопротивлении нагрузки)


Вложения:
config.png
config.png [ 4.69 КиБ | Просмотров: 2395 ]

_________________
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопросы по I2C
СообщениеДобавлено: 16 ноя 2009, 15:57 
Не в сети

Зарегистрирован: 09 ноя 2009, 14:51
Сообщения: 42
2 blindman
Ясненько. Подскажите еще один вопрос - а в чем вы нарисовали эту схему?
Я вот использую протеус, проект у меня не сложный в плане кол-ва элементов и разводки - пойдет ли она? или надо что-то другое использовать?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопросы по I2C
СообщениеДобавлено: 16 ноя 2009, 15:59 
Не в сети
Аватара пользователя

Зарегистрирован: 04 дек 2008, 22:44
Сообщения: 4363
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович
Похоже что в Eagle

_________________
if(!Operate) Read(pDatasheet);


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 10 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO