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

 
 
4 страниц V  < 1 2 3 4 >  
Reply to this topicStart new topic
> Шина I2C, отключение питания одного из slave на шине
SasaVitebsk
сообщение Aug 19 2008, 19:41
Сообщение #31


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Кстати на форуме Точки Опоры обсуждали как раз проблему, что "отключенное устр-во благополучно запитывается от шины I2C и прекрасно работает". smile.gif

А это как раз человеку и не надо было. Так что всётаки шину необходимо отключать.
Оно и понятно. Раз мы уже оперируем к разработчикам шины, то давайте вспомним, что её спецификация не допускает подключение устр-в "на горячую". Для этого существуют другие шины. Например DS 1-wire.
Go to the top of the page
 
+Quote Post
ReAl
сообщение Aug 19 2008, 20:15
Сообщение #32


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



Цитата(=GM= @ Aug 19 2008, 19:12) *
Да? Это с какого припрыга?
Посмотрите хотя бы назначение SCK для слейва, скажем, для атмега88 (документ 2545м, таблица 18-1, страница 164). Там чётко показано, что клок является входом.
"Если бы это было да, так нет"
А причём тут таблица 18-1 на странице 164 документа 2545M, если она касается интерфейса SPI, а не I2C ?

Зато вот для I2C прописано в нескольких местах
The SCL line is pulled low until TWINT is cleared.
Для слейва это принципиально, ему надо обработать состояние конца передачи байта, а он может не сразу в прерывание войти и т.д., он вообще в слипе мог быть. Всё это время мастер должен покорно ждать.
Цитата
21.7.3 Slave Receiver Mode
...
In all sleep modes other than Idle mode, the clock system to the TWI is turned off. If the TWEA
bit is set, the interface can still acknowledge its own slave address or the general call address by
using the 2-wire Serial Bus clock as a clock source. The part will then wake up from sleep and
the TWI will hold the SCL clock low during the wake up and until the TWINT Flag is cleared (by
writing it to one). Further data reception will be carried out as normal, with the AVR clocks running
as normal. Observe that if the AVR is set up with a long start-up time, the SCL line may be
held low for a long time, blocking other data transmissions.



Цитата(=GM= @ Aug 19 2008, 21:09) *
По условию задачи плюсовая шина питания слейв-устройства отключена. Покажите путь тока, если сможете.
"пуля дырочку найдёт"
Как это шина питания "отключена" ?
И от внутренностей микроконтроллера?
И от остальных микросхем на плате, своим плюсовым выводом содединённый с плюсовым выводом микроконтроллера?
Скажем, операционник какой-то ширпотребный, который при вольте питания работать, естественно, не будет, но вполне может кушать несколько сот микроампер от шины питания платы, которая "отключена" от блока питания, но подключена к микроконтроллеру и через "верхний" защитный диод - к той линии, к которой подключен вход.
Элементарный тест - плата с мегой168, парой 74hc595 и ЖКИ на 44780, т.е. даже операционников нет.
Подаём 5 вольт через 4.7к на ногу SCL контроллера (подключена только к контроллеру да к площадке от неприпаянных часов DS1338), имеем напряжение около 1,7 вольта. Т.е. нашёлся путь для тока (5-1,7)/4,7 = 0,7мА.
Недозапущенный контроллер вполне может столько кушать.
А был бы на плате ещё какой-нибудь LM358, так ещё что-то сожрал бы.

А вот цитатка из документации на LPC2368
Цитата
7.18.1Features
•I2C0 is a standard I2C compliant bus interface with open-drain pins.
•I2C1 and I2C2 use standard I/O pins and do not support powering off of individual devices connected to the same bus lines.

Т.е. фирма понимает суть проблемы и один канал I2C сделала с "истинно открытым стоком" (и они такие даже если I2C не используется), а не программно включаемым при активации I2C-контроллера, как на остальных двух и как это у AVR сделано. В результате нет не только специальных защитных диодов на питание, но и паразитных от верхнего МОП-транзистора.


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Aug 19 2008, 20:35
Сообщение #33


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(=GM= @ Aug 19 2008, 21:54) *
Ответ тут только минус-один, выкидывать такое устройство однозначно, поскольку защитные диоды создадут такой же ток утечки и при штатной работе, а это не годится.

Куда утечки? Вам схемку с диодами нарисовали - покажите, куда потечет.

Цитата(=GM= @ Aug 19 2008, 22:09) *
По условию задачи плюсовая шина питания слейв-устройства отключена. Покажите путь тока, если сможете.

Напряжение на шине питания отключенного устройства какое? Ток оно способно потреблять, или нет?

Цитата(=GM= @ Aug 19 2008, 22:09) *
("Плюс" и "минус" диода это жаргон)

Подобным жаргоном обычно пользуются люди далекие от электроники.
Go to the top of the page
 
+Quote Post
rezident
сообщение Aug 19 2008, 20:47
Сообщение #34


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(=GM= @ Aug 19 2008, 23:54) *
Ответ тут только минус-один, выкидывать такое устройство однозначно, поскольку защитные диоды создадут такой же ток утечки и при штатной работе, а это не годится.
Какой может быть ток утечки при штатной работе, если к "верхнему" защитному диоду прикладывается либо напряжение обратной полярности (лог.0 на шине) , либо напряжение близкое к нулю (лог.1 на шине). "Нижний" диод вообще всегда смещен в обратном направлении, т.к. отрицательных напряжений на шине быть не должно. А вот когда напряжение питания будет отсутствовать, то через "верхний" защитный диод ток и потечет. Причем этого тока может хватить, чтобы запитать малопотребляющие MCU. Например, в случае с MSP430 сам такое наблюдал неоднократно. Когда через внешний делитель, на который подается напряжение, MSP430 получает питание и при отсутствии супервизора работает. Ему ведь всего минимум 1,8В для работы достаточно.
Кстати, это довольно старая "шутка" с паразитным питанием. На нее напоролись еще в те времена, когда только появились КМОП-микросхемы из серии К176. КМОП-микросхемы работали даже если у них забывали подать питание на соответствующий вывод. А выяснялось это только под нагрузкой какого-либо выхода или на высоких частотах.
Go to the top of the page
 
+Quote Post
zhevak
сообщение Aug 19 2008, 21:20
Сообщение #35


Знающий
****

Группа: Свой
Сообщений: 723
Регистрация: 29-08-05
Из: Березовский
Пользователь №: 8 065



Всем здесь присутствующим предлагаю провести маленький тест.

Я на этот наткунлся года два назад, и оно меня очень сильно поразило. Не смотря на то, что я об этом явлении знал теоретически (практически как-то не удавалось сталкиваться, может просто везло?), я все же был крайне удивлен увиденному. Теперь позвольте поделиться этим с вами.

На семинаре Texas Instruments раздали eZ430 (в простонародии -- "ёжик"). Многие из вас тоже ходили на такие семинары и тоже получили такого же ежика. Теперь откройте ежика и достаньте платку с F2013. Возьмите любой цифровой тестер (у меня китайский M-838), и померяйте сопротивление питающей цепи на диапазоне 200 Ом или 2 кОм. Ничего не заметили? -- Устройство заработало от тестера!

Идем дальше. Гасим свет, делаем в комнате интим (девок в шею. У нас свои игрушки!) и вновь подцепляемся к плате тестером только на этт раз к земле и к ллюбой свободной ноге. Притушенный свет позволяет увидеть еле-еле мерцающий светодиодик. Устройство работает!

Те же самое можно проделать и с другой Тексавской демо-платкой с тех же семинаров. Я говорю о плате Touch Demo -- красная такая, с четырьмя квадратиками. Пороговое напряжение у красного ЛЭДа ниже, чем у зеленого, поэтому эффект питания микросхемы через входа более заметен.

Мы видим не только то, что через входы "выключенной" микросхемы утекают токи, способные зажечь ЛЭД, но также видим, что MSP430F20xx способна работать при низком напряжении питания. Нижний предел работоспособности у MSP430 я не проверял, а вот у TINY2313 -- проверял. Тайни сохраняет работоспособность до 1.2 В.

Еще вопросы есть?


--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Aug 20 2008, 08:47
Сообщение #36


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(DVR @ Aug 19 2008, 18:07) *
А если неизвестна схемотехника слейва и из даташита про неё ничего не ясно?
В даташите обычно приводят максимально допустимые напряжения на выводах. Если там для выводов I2C указано Vdd+0.3v, то диод есть. Если там абсолютное значение напряжения - скорее всего нет.


Цитата(rezident @ Aug 19 2008, 23:47) *
КМОП-микросхемы работали даже если у них забывали подать питание на соответствующий вывод. А выяснялось это только под нагрузкой какого-либо выхода или на высоких частотах.
Угу. Или странно сбоили даже в статике. Расследование показало, что пока хоть на одном входе была единица - 561ЛА7 работала. Но вот когда в схеме возникало состояние, когда на все входы всех элементов подавались нули - на выходах "почему-то" единицы исчезали.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
=GM=
сообщение Aug 20 2008, 11:55
Сообщение #37


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Поисследовал входные сопротивления обесточенных I2C устройств. Скажу следующее.

1) Если выводы SCK и SDA ведомого (слейв) устройства выполнены в виде открытых стоков, как например в AT24C512, то вполне можно снимать с них питание.

2) Если на выводах SCK и SDA ведомого (слейв) устройства присутствуют защитные диоды, как например в Atmega8515, то снятие с них питания может привести к блокировке SCK и SDA линий, так что я поторопился сказать, что шина I2C всегда будет работать при снятии питания с одного из слейвов.

3) Правильный ответ дал aaarrr в посте #5: работоспособность зависит от схемотехники I2C слейва.

4) To aaarrr насчёт проводного И. Проводное И или ИЛИ, зависит от точки зрения на предмет, поскольку функции в некотором смысле дуальны, но вот цитата из дейташита на AT24C512 "The SDA pin is bidirectional for serial data transfer. This pin is open-drain driven and may be wire-ORed with any number of other open-drain or open collector devices" (doc1116o, c.3). Насколько помню, раньше это называлось Монтажное ИЛИ.

5) To aaarrr насчёт детского сада. Я не обижаюсь, но и не приветствую, поскольку атмосферу форума это не улучшает, да и вас не красит, прошу впредь держать себя в рамках приличия.


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Aug 20 2008, 16:07
Сообщение #38


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(=GM= @ Aug 20 2008, 15:55) *
4) To aaarrr насчёт проводного И. Проводное И или ИЛИ, зависит от точки зрения на предмет, поскольку функции в некотором смысле дуальны, но вот цитата из дейташита на AT24C512 "The SDA pin is bidirectional for serial data transfer. This pin is open-drain driven and may be wire-ORed with any number of other open-drain or open collector devices" (doc1116o, c.3). Насколько помню, раньше это называлось Монтажное ИЛИ.


Цитата из The I2C-bus specification:
Цитата
5 GENERAL CHARACTERISTICS

...The output stages of devices connected to the bus
must have an open-drain or open-collector to perform the
wired-AND function.


Еще раз повторю, что Атмел к стандарту I2C отношения не имеет никакого, и ссылаться на их документы не стоит.
Go to the top of the page
 
+Quote Post
zhevak
сообщение Aug 20 2008, 16:31
Сообщение #39


Знающий
****

Группа: Свой
Сообщений: 723
Регистрация: 29-08-05
Из: Березовский
Пользователь №: 8 065



[code]
Цитата(aaarrr @ Aug 20 2008, 22:07) *
Еще раз повторю, что Атмел к стандарту I2C отношения не имеет никакого, и ссылаться на их документы не стоит.


Замечу так же, что АТМЕЛ официально нигде не называет свои модули по имени "I2C", только как "TWI". А значит, что АТМЕЛ не обязан соблюдать стандард I2C.


--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
Go to the top of the page
 
+Quote Post
rezident
сообщение Aug 20 2008, 16:46
Сообщение #40


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(zhevak @ Aug 20 2008, 22:31) *
Замечу так же, что АТМЕЛ официально нигде не называет свои модули по имени "I2C", только как "TWI". А значит, что АТМЕЛ не обязан соблюдать стандард I2C.
Дык Atmel не пожелал платить роялти (royalty) за использование trademark I2C, вот и извернулся с названием TWI.
Go to the top of the page
 
+Quote Post
zhevak
сообщение Aug 20 2008, 17:34
Сообщение #41


Знающий
****

Группа: Свой
Сообщений: 723
Регистрация: 29-08-05
Из: Березовский
Пользователь №: 8 065



Цитата(rezident @ Aug 20 2008, 22:46) *
Дык Atmel не пожелал платить роялти (royalty) за использование trademark I2C, вот и извернулся с названием TWI.


ага, и это освободило АТМЕЛ от четкого следования стандарту. Т.е. АТМЕЛ однозначно объявил свой TWI вне стандарта I2C. Другое дело, что TWI получился очень похожим на I2C, так это случайность. Поэтому, в жарких спорах об I2C, на АТМЕЛ никак нельзя ссылаться. У него свой стандарт -- twi.


--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
Go to the top of the page
 
+Quote Post
Syberian
сообщение Aug 22 2008, 03:06
Сообщение #42


Участник
*

Группа: Свой
Сообщений: 68
Регистрация: 29-12-06
Из: Омск
Пользователь №: 23 999



Порты AVR многофункциональные, и на всех стоят неотключаемые диоды на питание и землю. Поэтому, отключенный AVR (и всё, что подключено снаружи к выводу Vcc меги) будет "питаться" от шины I2C, и ничего хорошего из этого не выйдет.
Go to the top of the page
 
+Quote Post
sseett
сообщение Aug 22 2008, 06:20
Сообщение #43


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

Группа: Участник
Сообщений: 165
Регистрация: 14-01-05
Из: РФ Приморский край (рег.25)
Пользователь №: 1 939



Цитата(zhevak @ Aug 21 2008, 01:31) *
[code]

Замечу так же, что АТМЕЛ официально нигде не называет свои модули по имени "I2C", только как "TWI". А значит, что АТМЕЛ не обязан соблюдать стандард I2C.


Сейчас не называет. А ранее называл (в старых аппликухах попадалось).
Go to the top of the page
 
+Quote Post
ReAl
сообщение Aug 22 2008, 06:52
Сообщение #44


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



ага, а ещё они гнутся и сваливаются
ага, а вот с SPI у ATMEL всё путём, потому что они его так SPI и называют Моторола в своё время не запатентовала это слово и заодно логотип, как филипс сделал с I2C.


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post
defunct
сообщение Aug 22 2008, 10:33
Сообщение #45


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(ReAl @ Aug 22 2008, 09:52) *
ага, а вот с SPI у ATMEL всё путём, потому что они его так SPI и называют Моторола в своё время не запатентовала это слово и заодно логотип, как филипс сделал с I2C.

В SPI нечего патентовать. Любой студент в состоянии придумать такой интерфейс самостоятельно.
I2C все же гораздо сложнее.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 19th July 2025 - 23:56
Рейтинг@Mail.ru


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