|
TWI - есть вопросы... |
|
|
|
Dec 14 2008, 10:49
|
Гуру
     
Группа: Свой
Сообщений: 2 106
Регистрация: 23-10-04
Из: С-Петербург
Пользователь №: 965

|
1. Схема работать будет, только зачем? TWI имеет открытый коллектор, там не нужно коммутировать 5В. 2. 232 - это RS-232, поизвращаться можно, но как это все может быть связано с TWI? 3. Возможны несколько вариантов - оптореле, MOSFET. Только, опять же, см. п.1. А по поводу TWI на 8 метров - думаю, если сбросить частоту килогерц до 50, то все заработает и так, если датчик подключен только к контроллеру и отвязан по земле от места его физического расположения.
|
|
|
|
|
Dec 14 2008, 11:47
|
fpga designer
   
Группа: Свой
Сообщений: 613
Регистрация: 20-04-08
Из: Зеленоград
Пользователь №: 36 928

|
Цитата отвязан по земле от места его физического расположения. это как понять? ЗЫ: дабы не мусорить форум не буду создавать новую тему и спрошу здесь... покажите кусочек схемы где используется дифференциальный канал ацп и обычный... но чтоб там с AVcc AGND было все заранее благодарен
--------------------
|
|
|
|
|
Dec 14 2008, 20:20
|

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

|
Цитата(rezident @ Dec 14 2008, 18:37)  Думаю нелишне напомнить, что I2C это все же внутриприборный интерфейс. И тягать его наружу прибора, да еще и на 8м, не есть правильный подход к делу. То, что он внутриприбонрній - у него на морде не написано. Лимит 400пФ ёмкости шины (если я правильно помню) - это метров 7-7,5 будет на витых парах UTP (там 52 или 56 пФ/м, если я опять правильно помню). Я прикидывал обычные характеристики I2C-шных чипов - на UTP несколько точек на метрах так четырёх должно легко потянуть. На I2C основана ACCESS.bus - {на-|между_соседними-}стольная шина. Предназначалась для цепочечного подключения клав/мышек/неторопливых матричных принтеров и т.п. Далеко не пошла. Там дополнительно застандартизована цоколёвека 4-контактного "джека" и форматы пакетов. Электрические характеристики местами немного жёстче, чем у "базового" I2C, надо смотреть. У меня успешно работало три термодатчика LM75 на "витой четвёрке" из МГТФ длиной метра два (датчики на метре, полутора и на конце) на 100килогерцах, подвязка на стороне микроконтроллера 2.7к при питании 5В. Кстати, DDC между компом и монитором - это I2C, как-то совсем не "внутриприборно". В мониторе мождет просто стандартная EEPROMка с характеристиками стоять. В случае DVI один slave может быть прямо в чипсете видеокарты и ещё два в мониторе (один DDC-шный, один в мониторном чипсете для HDCP). Во, нагуглилось - http://www.byte.com/art/9601/sec10/art4.htmhttp://www.mcc-us.com/abspec30.htmhttp://www.vesa.org/Public/Access%20Bus/abusv30.pdf
--------------------
Ну, я пошёл… Если что – звоните…
|
|
|
|
|
Dec 15 2008, 20:38
|
Гуру
     
Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882

|
Ув. ReAl. Надеюсь, что эту лекцию вы прочитали не мне, а вопрошающему?  У меня лишь несколько дополнений имеются. Цитата(ReAl @ Dec 15 2008, 01:20)  Кстати, DDC между компом и монитором - это I2C, как-то совсем не "внутриприборно". DDC внутри уже имеющегося сигнального кабеля, а не как отдельная шина. Цитата(ReAl @ Dec 15 2008, 01:20)  В мониторе мождет просто стандартная EEPROMка с характеристиками стоять. Не "может", а именно EEPROM и стоит. Типа 24LC21. В пассивном режиме (режим DDC1) частота ее тактирования == частота кадровых синхроимпульсов. Причем сигнал SCL в этом режиме вообще не используется. Цитата(ReAl @ Dec 15 2008, 01:20)  В случае DVI один slave может быть прямо в чипсете видеокарты и ещё два в мониторе (один DDC-шный, один в мониторном чипсете для HDCP). Опять же используется в составе уже готового кабеля, а не как отдельная шина с отдельнымми проводами. Я вовсе не писал, что категорически нельзя I2C использовать вне прибора, а только лишь, что не стоит этого делать, если есть (возможны, доступны, разрешены к применению) другие варианты. К тому же заметьте, что вы подключали датчики, не имеющие локального питания и соответственно не сильно влияющие на синфазную составляющую помехи для длинной линии, к которой (синфазной помехе) шина I2C довольно слабо устойчива.
|
|
|
|
|
Dec 16 2008, 17:03
|

Участник

Группа: Участник
Сообщений: 31
Регистрация: 23-01-08
Пользователь №: 34 338

|
Цитата(rezident @ Dec 15 2008, 23:38)  DDC внутри уже имеющегося сигнального кабеля, а не как отдельная шина.
Опять же используется в составе уже готового кабеля, а не как отдельная шина с отдельнымми проводами. Не могли бы пояснить, в чем отличие? Или я совсем не понимаю, о чем речь
|
|
|
|
|
Dec 17 2008, 04:46
|

Участник

Группа: Участник
Сообщений: 31
Регистрация: 23-01-08
Пользователь №: 34 338

|
Цитата(rezident @ Dec 16 2008, 22:46)  Я тоже не понимаю  Отличие чего именно вас интересует? SVGA и DVI?  Отличие Цитата внутри уже имеющегося сигнального кабеля от Цитата как отдельная шина Веддь в любом случае это 2 провода: дата и клок (+земля). Или я чего-то не того...
|
|
|
|
|
Dec 17 2008, 12:32
|
Гуру
     
Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882

|
Цитата(lun @ Dec 17 2008, 09:46)  Веддь в любом случае это 2 провода: дата и клок (+земля). Или я чего-то не того... Ну да, три сигнала: DDC_SCL, DDC_SDA, GND. Только ПМСМ есть некоторая разница в том, чтобы связать два разных устройства, не имеющих каких-либо связей (кроме общего сетевого питания) и внедрить шину в уже имеющийся кабель, связывающий два устройства. Если вспомнить историю, изначально в интерфейсе VGA не было никаких шин, а были лишь отдельные провода, которые подключались к общему проводу на стороне монитора и являлись идентификаторами его типа (цветной/монохром в частности). Это для IBM-совместимых. У Apple-овского интерфейса аналогично были сигналы-идентификаторы типа монитора. Лет десять назад в свете решения анонсированной фирмой M$ задачи Plug&Play, внедрили в интерфейс SVGA цифровую шину DDC, похожую на I2C. Но в первой ее ревизии (DDC1) сигнал DDC_SCL не использовался. Данные EDID из EEPROM, находящейся в мониторе, передавались в цикле по шине DDC_SDA, тактирующейся от сигнала кадровой синхронизации VSYNC. Для этого были специально разработаны EEPROM типа 24LC21 и 24LC41. Вторая, кроме EDID, имеет еще и отдельную область памяти (с отдельной шиной I2C для доступа к ней) в которой микроконтроллер монитора хранит пользовательские настройки. Ну, а дальше совместимость наложила свои требования. Появился стандарт DDC2 и DDC2b, который позволял использовать шину DDC для двунаправленного обмена информацией с монитором. Соответственно эта же совместимость (и шина) перекочевали в другие стандарты/(видео)интерфейсы типа DVI.
|
|
|
|
|
Dec 17 2008, 16:19
|

Участник

Группа: Участник
Сообщений: 31
Регистрация: 23-01-08
Пользователь №: 34 338

|
Цитата(rezident @ Dec 17 2008, 15:32)  Ну да, три сигнала: DDC_SCL, DDC_SDA, GND. Только ПМСМ есть некоторая разница в том, чтобы связать два разных устройства, не имеющих каких-либо связей (кроме общего сетевого питания) и внедрить шину в уже имеющийся кабель, связывающий два устройства. Все остальное очень интересно, немного просветился, спасибо (серьезно). Но все-таки не о том. Все-таки не понятно, при чем здесь "уже имеющийся кабель"? Важно чтобы земли были соединены, а это условие и в Вашем посте оговорено: Цитата(rezident @ Dec 17 2008, 15:32)  Ну да, три сигнала: DDC_SCL, DDC_SDA, GND . Никто же не говорил о гальванически-развязанной связи. Я думаю, если бы это требовалось, автор темы с этого бы начал
Сообщение отредактировал lun - Dec 17 2008, 16:22
|
|
|
|
|
Dec 17 2008, 17:06
|
Гуру
     
Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882

|
Цитата(lun @ Dec 17 2008, 21:19)  Все-таки не понятно, при чем здесь "уже имеющийся кабель"? Важно чтобы земли были соединены, а это условие и в Вашем посте оговорено: Притом, что длина обычного сигнального кабеля монитора не превышает 1,8м. А если используются удлинители видеосигнала длиной до 100м, то там никакого Plug&Play в помине нет. И даже сигнал синхронизации передается по одному из трех коаксиалов совместно с цветом (SYNC-ON-GREEN). Цитата(lun @ Dec 17 2008, 21:19)  Никто же не говорил о гальванически-развязанной связи. Я думаю, если бы это требовалось, автор темы с этого бы начал Дык и я не говорил (и не упоминал) о гальваноразвяке. Где вы такое прочитали в данном топике?  Еще раз подчеркиваю, что я не утверждаю, что I2C нельзя использовать на 8м. Я напомнил о том, что это внутриприборная шина и ее не стоит использовать для межприборного (внешнего) интерфейса. Или нужно еще обмусоливать разницу между "нельзя" и "не стоит"
|
|
|
|
|
Dec 18 2008, 03:24
|

Участник

Группа: Участник
Сообщений: 31
Регистрация: 23-01-08
Пользователь №: 34 338

|
Цитата(rezident @ Dec 17 2008, 20:06)  Дык и я не говорил (и не упоминал) о гальваноразвяке. Где вы такое прочитали в данном топике?  Здесь: Цитата(rezident @ Dec 17 2008, 15:32)  Только ПМСМ есть некоторая разница в том, чтобы связать два разных устройства, не имеющих каких-либо связей (кроме общего сетевого питания) и внедрить шину в уже имеющийся кабель, связывающий два устройства. Так и остается непонятным (не объясненным) акцент на уже имеющемся кабеле, а не на соединенных землях. Я не могу понять, отождествляете ли Вы молчаливо эти понятия или противопоставляете (также молчаливо) Цитата(rezident @ Dec 17 2008, 20:06)  Я напомнил о том, что это внутриприборная шина и ее не стоит использовать для межприборного (внешнего) интерфейса. Или нужно еще обмусоливать разницу между "нельзя" и "не стоит"  Стоит обмусолить разницу между "внутриприборной" и "межприборной", но не с лингвистической, а с физической точки зрения, применительно к I2C
|
|
|
|
|
Dec 19 2008, 06:49
|

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

|
Цитата(lun @ Dec 19 2008, 05:39)  ответьте, пожалуйста. Меня тоже очень интересует вопрос о I2C на расстояния. Ответ короткий: На расстояния - нет. В I2C не предусмотрена защита от помех при обмене. Никаких контрольных сумм, подтверждений и прочего. Почитайте о модели OSI. I2C совмещает уровни с физического по сеансовый, нужный вам для обеспечения надежности транспортный уровень там вырожден. Вам доступен только представительский уровень, а реализовать на нем задачи транспортного невозможно. Одно дело пустить I2C на полтора метра в экранированном кабеле в офисной обстановке до монитора, совсем другое - хотя бы на те же 1.5м без экрана в цехе. Дальше думайте сами, что вам проще - выдумывать костыли, чтобы добавить контроль поверх не предназначенного для этого I2C, или выбрать более подходящий интерфейс (CAN, 485, 232 наконец).
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
Dec 19 2008, 16:35
|
Гуру
     
Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882

|
В дополнение к ответу Сергея Борща могу лишь отметить, что самое важное при передаче данных это достоверность транслируемых данных. Если вы сможете обеспечить достоверность на данном конкретном интерфейсе (или получившаяся достоверность вас устроит, как, например, передача видео через USB при изохронном режиме), то пожалуйста, применяйте какой угодно интерфейс.  Просто перефразируя избитую истину "чужие ошибки никого не научили, каждый предпочитает учиться на своих ошибках", можно сказать, что люди почему-то предпочитают ходить по уже известным граблям, любовно разложенным своими собственными руками
|
|
|
|
|
Dec 20 2008, 05:11
|

Участник

Группа: Участник
Сообщений: 31
Регистрация: 23-01-08
Пользователь №: 34 338

|
Cпасибо! Проясняется. Правда, так и остался без ответа вопрос про "акцент на уже имеющемся кабеле, а не на соединенных землях". Ну да ладно, надеюсь, это не главное. Цитата(rezident @ Dec 19 2008, 19:35)  Просто перефразируя избитую истину "чужие ошибки никого не научили, каждый предпочитает учиться на своих ошибках", можно сказать, что люди почему-то предпочитают ходить по уже известным граблям, любовно разложенным своими собственными руками  Продолжая на языке граблей... ИМХО, утверждение "туда ходить не стоит" (потому что там лежат грабли, о чем известно только утверждающему) - не есть обучение на чужих ошибках
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|