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

 
 
> Шина I2C, отключение питания одного из slave на шине
DVR
сообщение Aug 19 2008, 14:18
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 23
Регистрация: 11-04-07
Пользователь №: 26 949



Всем добрый день!

Вопрос такой: будет ли работать шина I2C, если отключить питание одного из нескольких I2C-Slave ? При этом физически подключение к шине незапитанной микросхемы остаётся. Мастером является AVR с аппаратной поддержкой I2C.
Go to the top of the page
 
+Quote Post
4 страниц V  « < 2 3 4  
Start new topic
Ответов (45 - 58)
aaarrr
сообщение Aug 22 2008, 10:38
Сообщение #46


Гуру
******

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



Цитата(defunct @ Aug 22 2008, 14:33) *
Любой студент в состоянии придумать такой интерфейс самостоятельно.

Дык для патента это даже лучше smile.gif
Go to the top of the page
 
+Quote Post
=GM=
сообщение Aug 22 2008, 10:51
Сообщение #47


Ambidexter
*****

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



А вот интересно, почему в качестве протокола для обмена в МК (и ПК) не используется код манчестер-2? Всего-то, договориться, что перепад 1-0 даёт 1, перепад 0-1 даёт 0, в начале байта посылать 0 в течение 3То/2.


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


Гуру
******

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



Во-первых, он на порядок сложнее. Во-вторых, какой смысл использовать самосинхронизирующийся сигнал там, где можно спокойно подать тактовый?
Go to the top of the page
 
+Quote Post
zhevak
сообщение Aug 22 2008, 11:30
Сообщение #49


Знающий
****

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



Цитата(=GM= @ Aug 22 2008, 16:51) *
А вот интересно, почему в качестве протокола для обмена в МК (и ПК) не используется код манчестер-2? Всего-то, договориться, что перепад 1-0 даёт 1, перепад 0-1 даёт 0, в начале байта посылать 0 в течение 3То/2.

Манчестер-2 -- отличный протокол. Его достоинство -- работать там, где нет возможности передавать постоянную составляющую, для связи МК-ПК не даст ему преимущества. А учитывая повышенную сложность его реализации, приходишь к выводу, что есть более простые решения.


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


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

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



Цитата(defunct @ Aug 22 2008, 13:33) *
В SPI нечего патентовать. Любой студент в состоянии придумать такой интерфейс самостоятельно.
I2C все же гораздо сложнее.
Что-то мне кажется, что если бы дело было в патенте, то в AVR не было бы I2C вообще без покупки права использования, а с покупкой было бы и название (на ARM7 лиценизию купили и называют его ARM7). А так, как мне кажется, дело только в использовании "зарегистрированной торговой марки".
Если бы Моторола зарегистрировала на себя слово SPI, то пришлось бы Атмелу независимо от простоты этого интерфейса или выдумывать другое слово (как выдумано для I2C), или покупать право использования слова.
Может, раньше дело и в патенте было, да только срок действия истёк. Долго довольно если где-то было I2C - то но так и называлось, видать тогда без покупки права вообще нельзя было использовать, а с покупкой - можно и назвать "честно". А потом срок патента истёк и начали делать все, кому не лень, но называть по-другому.

Цитата(zhevak @ Aug 22 2008, 14:30) *
Манчестер-2 -- отличный протокол. Его достоинство -- работать там, где нет возможности передавать постоянную составляющую, для связи МК-ПК не даст ему преимущества. А учитывая повышенную сложность его реализации, приходишь к выводу, что есть более простые решения.
У микрочиповских однопроводных EEPROM разве не манчестер-2?


http://www.microchip.com/wwwproducts/Devic...ocName=en535099

Кстати, обратите внимание - на этой страничке Микрочип возле слова I2C прикручивает ™, возле microwire и spi - нет.
Возле слова manchester - тоже нет. Но возле своего слова UNI/O - прикручивает, теперь кто бы не сделал такое же - или должен купить у микрочипа право на применение слова, или придумывать другое.


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


Гуру
******

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



Цитата(ReAl @ Aug 22 2008, 16:54) *
У микрочиповских однопроводных EEPROM разве не манчестер-2?

Чума. Для шестиногих PIC'ов самое то smile.gif
Go to the top of the page
 
+Quote Post
=GM=
сообщение Aug 22 2008, 14:03
Сообщение #52


Ambidexter
*****

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



Цитата(zhevak @ Aug 22 2008, 10:30) *
Его достоинство -- работать там, где нет возможности передавать постоянную составляющую, для связи МК-ПК не даст ему преимущества. А учитывая повышенную сложность его реализации, приходишь к выводу, что есть более простые решения

Ну, положим, сложность манчестера вы преувеличиваете, он сопоставим по сложности с rs232, и на порядок проще, чем тот же I2C. Преимущества очевидны, один провод, нет постоянки, посылай хоть по радио. Но самое главное преимущество - СУЩЕСТВЕННОЕ ослабление требований к стабильности клоков приёмника и передатчика. Допустима общая нестабильность 25% на ОДИН бит, в то же время в rs232 всего 5% на ДЕСЯТЬ бит, что позволяет работать на МК с внутренним генератором без калибровки.

Цитата(ReAl @ Aug 22 2008, 11:54) *
У микрочиповских однопроводных EEPROM разве не манчестер-2?

Да, он самый. Спасибо за ссылку, не знал, с удовольствием почитал. Много чего надстроили над физуровнем(:-)


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


Гуру
******

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



Цитата(=GM= @ Aug 22 2008, 18:03) *
Ну, положим, сложность манчестера вы преувеличиваете, он сопоставим по сложности с rs232, и на порядок проще, чем тот же I2C.

Нет, это вы преуменьшаете. RS232 проще хотя бы потому, что приемнику не нужно восстанавливать тактовую частоту. I2C - вообще синхронная шина.

Попробуйте на МК написать слейв, работающий как микрочиповский EEPROM - в диапазоне 10-100kHz.
Go to the top of the page
 
+Quote Post
=GM=
сообщение Aug 22 2008, 15:03
Сообщение #54


Ambidexter
*****

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



Цитата(aaarrr @ Aug 22 2008, 13:11) *
RS232 проще хотя бы потому, что приемнику не нужно восстанавливать тактовую частоту

Ну, это формальный подход, на самом деле, в манчестере тоже можно обойтись без восстановления, хотя можно и восстановить если надо. Пара-тройка дополнительных строчек кода.
Цитата(aaarrr @ Aug 22 2008, 13:11) *
I2C - вообще синхронная шина

Хоть это и синхронный протокол, но гораздо сложнее манчестера. Одни старт-стопные условия замучают. Попробуйте съэмулировать с помощью АВР МК работу иипром с иис-протоколом хотя бы на скорости 400 кГц. Я знаю, о чём говорю, поскольку в своих изделиях применяю программный иис обмен на скорости 5Мбод, 200 нс такт.
Цитата(aaarrr @ Aug 22 2008, 13:11) *
Попробуйте на МК написать слейв, работающий как микрочиповский EEPROM - в диапазоне 10-100kHz

Легко, при условии, что и вы в свою очередь напишете программу приёма одного байта по рс232 для того же диапазона скоростей. Заодно и объясните всем, на каком принципе вы будете различать байты 0хF0, 0xF8, 0xFC и тому подобное. (Замечу в скобках, что код для приёма будет работать на любой скорости 10-100, несмотря на то, что скорости заявленной иипром различаются в 10 раз, а манчестер допускает увеличение скорости на интервале одного бита не более, чем на 100%.)


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 22 2008, 15:30
Сообщение #55


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(aaarrr @ Aug 22 2008, 16:11) *
..что приемнику не нужно восстанавливать тактовую частоту.

Манчестеров несколько разновидностей и в "правильной" восстановление тактовой (битовой) частоты сводится к той или иной реализации банального "одновибратора" запускаемого по фронту с длительностью приближающейся к длительности посылки бита. Естественно, это не для произвольного диапазона скоростей, а зачем в реальных реализациях произвольная скорость?


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Aug 22 2008, 15:33
Сообщение #56


Гуру
******

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



Цитата(=GM= @ Aug 22 2008, 19:03) *
Ну, это официозный подход, на самом деле, в манчестере тоже можно обойтись без восстановления, хотя можно и восстановить если надо. Пара-тройка дополнительных строчек кода.

Если диапазон частот 10-100, то без восстановления делать нечего. Микрочиповские EEPROM'ы восстанавливают.

Цитата(=GM= @ Aug 22 2008, 19:03) *
Хоть это и синхронный протокол, но гораздо сложнее манчестера. Одни старт-стопные условия замучают.

Очередная цитата из стандарта:
Цитата
6.2 START and STOP conditions
Within the procedure of the I2C-bus, unique situations
arise which are defined as START (S) and STOP (P)
conditions (see Fig.5).
A HIGH to LOW transition on the SDA line while SCL is
HIGH is one such unique case. This situation indicates a
START condition.
A LOW to HIGH transition on the SDA line while SCL is
HIGH defines a STOP condition.


Ну очень сложно.

Цитата(=GM= @ Aug 22 2008, 19:03) *
Попробуйте съэмулировать с помощью АВР МК работу иипром с иис-протоколом хотя бы на скорости 400 кГц. Я знаю, о чём говорю, поскольку в своих изделиях применяю программный иис обмен на скорости 5Мбод, 200 нс такт.

Во-первых, I2S или I2C? Стандарт I2C не предусматривает передачи на скоростях выше 3.4 Mbit/s. Во-вторых, вы уже продемонстрировали, что не знаете элементарных вещей, поэтому позволю себе усомниться в ваших словах.

Цитата(=GM= @ Aug 22 2008, 19:03) *
Легко, при условии, что и вы в свою очередь напишете программу приёма одного байта по рс232 для того же диапазона скоростей. Заодно и объясните всем, на каком принципе вы будете различать байты 0хF0, 0xF8, 0xFC и тому подобное.

Видите ли, стандарт RS232 не предполагает работу на плавающей скорости и не предусматривает механизмов для ее обеспечения (autobaud не в счет).

Цитата(=GM= @ Aug 22 2008, 19:03) *
(Замечу в скобках, что код для приёма будет работать на любой скорости 10-100, несмотря на то, что скорости заявленной иипром различаются в 10 раз, а манчестер допускает увеличение скорости на интервале одного бита не более, чем на 100%.)

С восстановлением тактовой по синхропоследовательности будет.
Go to the top of the page
 
+Quote Post
zhevak
сообщение Aug 22 2008, 18:09
Сообщение #57


Знающий
****

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



Цитата(=GM= @ Aug 22 2008, 21:03) *
на каком принципе вы будете различать байты 0хF0, 0xF8, 0xFC и тому подобное.


1. Приемник, работающий по протоколу Манчестер-2, ре-синхронизируется при каждом принятом. Приемник, работающий по последовательному протоколу (UART), осуществляет синхронизацию в начале последовательности по приему стартового бита.
Иначе говоря, поскольку в UART синхрогнизация осуществляется один раз на 10 посылок (Start, 8 inforamtion bits and Stop), то получается, что устойчивость к стабильности частоты у UART-а на порядок ниже.

Т.е. получается вроде как Манчестер-2 более пригоден на практике. Но сейчас многие МК имеют внутренние RC-генераторы со стабильностью 2% и менее, что вполне достаточно для устойчивой связи по последовательному итерфейсу. А с другой стороны, кварцевые резонаторы не так уж дорого и стоят.
Т.е. опять-таки получается, что проблема (преимущество М-2) надумано.


2. Проблема остановки потока информации. (Например, клавиатура.) При использовании UART это решается легко. Устовие Stop на линии может длиться бесконечно долго. По условию Старт начинаем набирать байт.

Вопрос. Что мы будем делать в М-2 в такой же ситуации? По-битовая синхронизация -- это конечно хорошо. Но нужна еще и по-байтовая синхронизация, а так же не надо забывать про по-пакетную синхронизацию. Т.е. при использовании М-2 для устройств типа клавиатура, мышь или еще какой-нибудь датчик, соблюсти все виды синхронизации оказывается сложнее, чем в том же UART-е.


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


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(zhevak @ Aug 22 2008, 20:09) *
Т.е. получается вроде как Манчестер-2 более пригоден на практике.

На практике у них совсем разные области применения - манчестер прежде всего в синхронных потоках работает.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Rst7
сообщение Aug 22 2008, 20:35
Сообщение #59


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Цитата
А вот интересно, почему в качестве протокола для обмена в МК (и ПК) не используется код манчестер-2?


В быту не используют wink.gif Вояки, например, очень любят MIL-STD 1553 - как раз между всякими вычислителями и прочей начинкой ездящего/летающего/плавающего оружия данные гонять.

С другой стороны - эзернет на скорости 10МБит/с - он же, манчестер-2. Тут есть проникновение в быт wink.gif


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post

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

 


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


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