Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
18.11.2012, 12:46
|
#1
|
Прописка
Регистрация: 14.02.2010
Адрес: СССР
Сообщений: 286
Сказал спасибо: 141
Сказали Спасибо 51 раз(а) в 43 сообщении(ях)
|
2 i2c с одинаковым адресом
Доброго времени суток.
Надо по одной шине I2C управлять двумя(или более) устройствами с ОДИНАКОВЫМ адресом. Ногу контроллера под переключение выделить можно. Какие есть решения?
Vdd=5v, устройства конкретно - MCP4017.
С полевиками что-то не выходит..
|
|
|
|
18.11.2012, 14:21
|
#2
|
Почётный гражданин KAZUS.RU
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 8,003
Сказал спасибо: 0
Сказали Спасибо 4,946 раз(а) в 2,374 сообщении(ях)
|
Re: 2 i2c с одинаковым адресом
Сообщение от Old_Monster
|
Надо по одной шине I2C управлять двумя(или более) устройствами с ОДИНАКОВЫМ адресом. Ногу контроллера под переключение выделить можно
|
ну так сделайте софт-I2C, трех ног хватит (одна - данные и две - такт)
|
|
|
|
18.11.2012, 17:07
|
#3
|
Почётный гражданин KAZUS.RU
Регистрация: 20.08.2010
Адрес: Днепр
Сообщений: 8,565
Сказал спасибо: 5,041
Сказали Спасибо 10,615 раз(а) в 3,604 сообщении(ях)
|
Re: 2 i2c с одинаковым адресом
Можно поиграть дительностью одного или нескольких битов в запрашиваемом адресе.
Ведь I2C регламентирует только минимальные значения длительностей импульсов. А максимальные могут быть какими угодно. Вот и можно при запросе варьировать длительность какого-нибудь бита, в довольно широких пределах, кодируя тем самым расширенную часть адреса. Пожалуй, лучше всего это делать с самым первым импульсом, который входит в состав стартовой последовательности. Главный контроллер посылает стартовую последовательность, длительность которой зависит от адреса. А к каждому устройству присобачить маленький процессор, который будет перехватывать данные с линии, и слушать. Если длительность старта чужая - продолжать держать линию в отключке от своего устройства. А если длительность старта своя - то быстренько сформировать стартовую последовательность на вход своего устройства, после чего подключить это устройство к линии I2C. А главный контроллер должен после передачи стартовой последовательности сделать небольшую паузу, за время которой эти маленькие процы должны успеть втиснуть свою стартовую. И уже после этого главный начинает передавать информационные биты.
|
|
|
|
18.11.2012, 17:40
|
#4
|
Почётный гражданин KAZUS.RU
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
|
Re: 2 i2c с одинаковым адресом
А разве эмиттерные повторители уже отменили? При нуле на коллекторе он пропускает импульсы на микросхему, при единице - на ноге микросхемы всегда единица
|
|
|
|
18.11.2012, 19:04
|
#5
|
Почётный гражданин KAZUS.RU
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
|
Re: 2 i2c с одинаковым адресом
Я в таких случаях применял внешнюю HC138, стробируемую клоком. Три входных адреса давали выбор одного из восьми нужных мне клоков. Да и наращивание элементарное, добавляем один разряд на прямой и инверсный входы енэйблов. Инверсия клока не страшна, заносит все равно по фронту клока, его состояние не имеет значения. Пурква бы и не па?
__________________
С уважением,
Vic / ut1wpr
|
|
|
|
18.11.2012, 19:08
|
#6
|
Почётный гражданин KAZUS.RU
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
|
Re: 2 i2c с одинаковым адресом
и2с это не совсем последовательный интерфейс
Есть нюансы
|
|
|
|
18.11.2012, 19:25
|
#7
|
Почётный гражданин KAZUS.RU
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
|
Re: 2 i2c с одинаковым адресом
Вообще-то да. В i2c состояние пары клок-дата уже само по себе информационно. Забыл про это.
__________________
С уважением,
Vic / ut1wpr
|
|
|
|
18.11.2012, 21:24
|
#8
|
Прописка
Регистрация: 14.02.2010
Адрес: СССР
Сообщений: 286
Сказал спасибо: 141
Сказали Спасибо 51 раз(а) в 43 сообщении(ях)
|
Re: 2 i2c с одинаковым адресом
niXto, Спасибо. Что-то такое и хотел, но сразу неправильно включил и затупил. bc847 работает.
|
|
|
|
18.11.2012, 22:06
|
#9
|
Почётный гражданин KAZUS.RU
Регистрация: 08.06.2008
Сообщений: 1,394
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
|
Re: 2 i2c с одинаковым адресом
Зачем такие сложности? Может матчасть чуток посмотреть?
Оно ж по протоколу Philipsа работает.
Там вроде все программируется и адреса задаются.
http://www.nxp.com/documents/other/39340011.pdf
|
|
|
Сказали "Спасибо" Boba_spb
|
|
|
19.11.2012, 06:05
|
#10
|
Прописка
Регистрация: 09.05.2005
Сообщений: 98
Сказал спасибо: 2
Сказали Спасибо 21 раз(а) в 13 сообщении(ях)
|
Re: 2 i2c с одинаковым адресом
Если говорите что можно лишние ножки мастера использовать. тогда ножками включайте питание slave устройств.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
i2c
|
vsalomasov |
TTL и CMOS логика |
4 |
06.12.2010 14:14 |
Гироскоп на I2C
|
caffy |
Электроника - это просто |
0 |
01.12.2009 17:03 |
Помогите с е-mail адресом.
|
didik-dog |
Информация по радиокомпонентам |
1 |
15.08.2007 00:15 |
I2C
|
chipic128 |
Микроконтроллеры, АЦП, память и т.д |
4 |
23.02.2005 02:19 |
I2C
|
zevs |
Микроконтроллеры, АЦП, память и т.д |
0 |
11.01.2005 16:11 |
Часовой пояс GMT +4, время: 02:51.
|
|