реклама на сайте
подробности

 
 
> I2C Master/Slave и микроконтроллеры, Реализация Master/Slave, несколько шин.
Iream
сообщение May 21 2012, 09:31
Сообщение #1





Группа: Новичок
Сообщений: 7
Регистрация: 30-04-12
Пользователь №: 71 643



Возможна ли следующая реализация системы:

Микропроцессор задает шину i2c, к шине подключаются микроконтроллеры, которые для МП являются Slave-устройствами. Микроконтроллер далее задает еще одну шину i2c, к которой подключены ЦАП и АЦП, работающие на этой шине. Относительно ЦАП и АЦП микроконтроллер должен быть Master-устройством.
Т.е. цепочка такая. МП->микроконтроллер (на шине, исходящей от процессора)->Остальные устройства (на шине, исходящей от микроконтроллера). Еще раз повторюсь, что микроконтроллер должен являться слэйвом для процессора (а желательно, иногда и мастером в некоторых случаях), но быть мастером для остальных устройств системы, подключенных к шине, идущей от него.

Общий вопрос: Способны ли микроконтроллеры к подобным манипуляциям, если да, то ка.кие (как можно меньшей сложности и количества выводов)?
Работоспособны ли микроконтроллеры серии ATtiny25/V, ATtiny45/V, ATtiny85/V в данных условиях?
Ответы желательны с пояснениями, т.к. я новичек.

Заранее спасибо за ответы.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 13)
KykyryzzZ
сообщение May 21 2012, 11:42
Сообщение #2



***

Группа: Свой
Сообщений: 404
Регистрация: 20-10-05
Пользователь №: 9 885



Структурную схему набросай. На словах запутано как-то.
Go to the top of the page
 
+Quote Post
Iream
сообщение May 21 2012, 11:52
Сообщение #3





Группа: Новичок
Сообщений: 7
Регистрация: 30-04-12
Пользователь №: 71 643



Хорошо, сейчас что-нибудь накидаю в пейнте.

вот, прикрепил структурную схемку примерную
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
KykyryzzZ
сообщение May 21 2012, 12:46
Сообщение #4



***

Группа: Свой
Сообщений: 404
Регистрация: 20-10-05
Пользователь №: 9 885



Вообще такая схема жизнеспособна, но должны быть выполнены следующие условия:
Микроконтроллер должен иметь во-первых два I2C, а во-вторых иметь возможность работать как мастером, так и слейвом.
По поводу серии ATtiny не подскажу, т.к. их не использовал, хотя I2C (у них он называется TWI) в каком-то виде реализован, но нужно разбираться с его функциональными возможностями.

Могу ошибиться, но у ATtiny режим slave отсутствует. Только мастер.
Go to the top of the page
 
+Quote Post
=AK=
сообщение May 21 2012, 12:49
Сообщение #5


pontificator
******

Группа: Свой
Сообщений: 3 055
Регистрация: 8-02-05
Из: страны Оз
Пользователь №: 2 483



Цитата(Iream @ May 21 2012, 19:01) *
Способны ли микроконтроллеры к подобным манипуляциям, если да, то ка.кие (как можно меньшей сложности и количества выводов)?

Мастером шины I2C быть легко. Для этого не требуется аппаратная поддержка, достаточно простого программного управления (bit-bang) любыми двумя ножками порта. Ведь мастер имеет право быть сколь угодно медленным. Поэтому функцию мастера I2C может выполнять любой контроллер.

Слэйвом шины I2C быть трудно. Для того, чтобы слэйв по-честному выполнял все требования и времянки шины, нужна аппаратная поддержка, т.к. там тормозить нельзя. Поэтому слэйва I2C в МК практически невозможно реализовать без аппаратной поддержки.

Из этого следует, что для вторичного мастера вам надо выбрать такой МК, у которого на борту есть апаратный I2C, способный работать в режиме I2C слэйва.
Go to the top of the page
 
+Quote Post
Iream
сообщение May 21 2012, 12:59
Сообщение #6





Группа: Новичок
Сообщений: 7
Регистрация: 30-04-12
Пользователь №: 71 643



KykyryzzZ, спасибо за ответ. Буду пытаться разобраться.

=AK=, не являются ли Атмеловские TWI-линии полным аналогом SDA и SCL i2c? Насколько слышал - это полный аналог, только названный иначе, чтобы не платить за пользование патентов Филипсу. Тем самым, мы имеем в Тайни аппаратный i2c, как понимаю.
Go to the top of the page
 
+Quote Post
=AK=
сообщение May 21 2012, 13:22
Сообщение #7


pontificator
******

Группа: Свой
Сообщений: 3 055
Регистрация: 8-02-05
Из: страны Оз
Пользователь №: 2 483



Цитата(Iream @ May 21 2012, 22:29) *
не являются ли Атмеловские TWI-линии полным аналогом SDA и SCL i2c?

Вам лень самому посмотреть? Атмел прямым текстом пишет (из даташита на Atiny20)
17. TWI – Two Wire Slave Interface
• Phillips I2C compatible
• SMBus compatible (with reservations)
Go to the top of the page
 
+Quote Post
ILYAUL
сообщение May 21 2012, 20:15
Сообщение #8


Профессионал
*****

Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339



Цитата(KykyryzzZ @ May 21 2012, 16:46) *
Вообще такая схема жизнеспособна, но

избыточная. Все устройсва могут "висеть" сразу на одной шине и не мешать друг другу


--------------------
Закон Мерфи:

Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
Go to the top of the page
 
+Quote Post
Iream
сообщение May 22 2012, 04:15
Сообщение #9





Группа: Новичок
Сообщений: 7
Регистрация: 30-04-12
Пользователь №: 71 643



Цитата(ILYAUL @ May 22 2012, 00:15) *
избыточная. Все устройсва могут "висеть" сразу на одной шине и не мешать друг другу


Вообще, такая идея родилась именно из-за наличия большого количества подчиненных устройств, которым просто не хватит адресов, если их все посадить на одну шину. Мастер будет называть адрес, а на него сразу будет откликаться несколько устройств. Будет конфликт.
Go to the top of the page
 
+Quote Post
ibiza11
сообщение May 22 2012, 04:32
Сообщение #10


Участник
*

Группа: Участник
Сообщений: 54
Регистрация: 13-01-09
Пользователь №: 43 304



Недавно столкнулся с подобной проблемой. Схема жизнеспособна. Полностью соглашусь с постом #5 от =АК=.
OFFTOP: Из бюджетных вариантов предлагаю stm8s с аппаратным i2c.
Go to the top of the page
 
+Quote Post
Iream
сообщение May 22 2012, 05:40
Сообщение #11





Группа: Новичок
Сообщений: 7
Регистрация: 30-04-12
Пользователь №: 71 643



Цитата(ibiza11 @ May 22 2012, 08:32) *
Недавно столкнулся с подобной проблемой. Схема жизнеспособна. Полностью соглашусь с постом #5 от =АК=.
OFFTOP: Из бюджетных вариантов предлагаю stm8s с аппаратным i2c.



Спасибо!


Родилась идея отказаться от промежуточных микроконтроллеров, а использовать для увеличения числа шин 4-х канальные i2c мультиплексоры с прерываниями. Мне кажется, что такая идея проще и надежнее. Надеюсь, я на правильном пути.

Сообщение отредактировал Iream - May 22 2012, 05:40
Go to the top of the page
 
+Quote Post
KykyryzzZ
сообщение May 22 2012, 07:02
Сообщение #12



***

Группа: Свой
Сообщений: 404
Регистрация: 20-10-05
Пользователь №: 9 885



На самом деле в распараллеливании системы (как на рисунке) есть свои плюсы. Контроллер независимо работает с преобразователями не мешая обмену на общей шине. Быстродействие всей системы выше, чем с единой общей шиной.

Цитата(Iream @ May 22 2012, 09:40) *
Родилась идея отказаться от промежуточных микроконтроллеров, а использовать для увеличения числа шин 4-х канальные i2c мультиплексоры с прерываниями. Мне кажется, что такая идея проще и надежнее. Надеюсь, я на правильном пути.

При таком подходе все равно не получится скинуть ряд задач на "вспомогательных мастеров" и забыть до выполнения.
Go to the top of the page
 
+Quote Post
ILYAUL
сообщение May 22 2012, 08:05
Сообщение #13


Профессионал
*****

Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339



Цитата(Iream @ May 21 2012, 13:31) *
Т.е. цепочка такая. МП->микроконтроллер (на шине, исходящей от процессора)->Остальные устройства (на шине, исходящей от микроконтроллера). Еще раз повторюсь, что микроконтроллер должен являться слэйвом для процессора (а желательно, иногда и мастером в некоторых случаях), но быть мастером для остальных устройств системы, подключенных к шине, идущей от него.

А что делает ЦП во всём этом процессе? Если только "дёргает" MK с целью получения данных , то ему спокойно подошла бы роль SLAVE , что бы постоянно не "отвлекал" MK от работы .


--------------------
Закон Мерфи:

Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
Go to the top of the page
 
+Quote Post
Sergey_Aleksandr...
сообщение May 31 2012, 09:48
Сообщение #14


Частый гость
**

Группа: Свой
Сообщений: 168
Регистрация: 8-10-08
Из: РФ Смоленск
Пользователь №: 40 764



Цитата(Iream @ May 22 2012, 09:40) *
Родилась идея отказаться от промежуточных микроконтроллеров, а использовать для увеличения числа шин 4-х канальные i2c мультиплексоры с прерываниями.

У Вас родилась правильная идея. Например, PCA9545(A, B, C) от NXP (в их номенклатуре несколько подобныъ ИС). Ещё у TI видал подобное.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 08:38
Рейтинг@Mail.ru


Страница сгенерированна за 0.01537 секунд с 7
ELECTRONIX ©2004-2016