|
Помехи на линии I2C при подключении оборудования |
|
|
|
Sep 28 2016, 07:54
|
Частый гость
 
Группа: Участник
Сообщений: 79
Регистрация: 11-06-09
Из: Санкт-Петербург
Пользователь №: 50 207

|
Всем доброго времени суток. Суть проблемы следующая - есть плата с ARM-овым процессором (от NXP) и тремя линиями I2C, подтянутыми 4.7К резисторами к питанию 1.8В. Частота I2C 100КГц. На плате крутится линукс, пробую по i2cdetect/i2cget получить данные с подключенных к линии микросхем - ID возвращается нормально. Подключаю преобразователь уровня с камерой - сообщения не приходят (подтягивающие резисторы только на борде). Иногда SCL "залипает" в нуле до сброса. На одной линии I2C без подключенных устройств подсоединился осциллографом к SCL/SDA. Пока нет подключения к SCL - сообщение нормально уходит, как только подключаю щуп, происходит следующая картина:
Грешу на избыточную емкость на линии, но может быть еще какие-то варианты? Перепаивать резисторы такого типоразмера сложновато..
|
|
|
|
|
 |
Ответов
|
Oct 13 2016, 08:16
|
Местный
  
Группа: Участник
Сообщений: 319
Регистрация: 27-09-07
Пользователь №: 30 877

|
Цитата(Сергей Борщ @ Oct 13 2016, 10:52)  Я бы уже давно провел простой эксперимент - заменил бы резистор подтяжки SCL на два вдвое большего сопротивления, между ними последовательно в линию SCL впаял бы резистор ом на 470, всю эту конструкцию поместил бы между ведущим и ведомыми и сравнил бы сигналы на обоих концах этого последовательного резистора. Таким образом выяснил бы - кто "давит" этот сигнал SCL. Потому что чем больше я думаю об этих картинках, тем больше мне это кажется похожим на неправильно реализованный методом "ногодрыга" I2C, который вместо открытого коллектора использует двухтактный выход и который не предполагает возможность подтормаживания тактового сигнала (clock stretching) ведомым. Конечно трудно предположить такое поведение у аппаратного контроллера на стороне ведущего, но кто знает, как оно реализовано в программе... Может и вправду там ногодрыг авторы библиотек устроили. ногодрыг не объясняет такого поведения - при тотемном выходе шилы короткие - котрые воспринимаются как помехи, имели бы размах питания полный. знание того - кто же залипает шину конечно для отладки бесценно. только имхо - 470 ом слишком много. 2,5В/0,3В=9 => Rs = Rpull/9
|
|
|
|
|
Oct 13 2016, 08:34
|

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

|
QUOTE (AlexRayne @ Oct 13 2016, 11:16)  при тотемном выходе шилы короткие - котрые воспринимаются как помехи, имели бы размах питания полный. Если я правильно понял то, что вы пытались выразить - то откуда будет полный размах, если кто-то на втором конце линии уже тянет ее вниз? QUOTE (AlexRayne @ Oct 13 2016, 11:16)  только имхо - 470 ом слишком много. 2,5В/0,3В=9 => Rs = Rpull/9 Я исходил из среднепотолочного значения подтяжки в 4.7 кОм.
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
Oct 13 2016, 09:11
|
Знающий
   
Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050

|
Цитата(Сергей Борщ @ Oct 13 2016, 11:34)  Если я правильно понял то, что вы пытались выразить - то откуда будет полный размах, если кто-то на втором конце линии уже тянет ее вниз? Я исходил из среднепотолочного значения подтяжки в 4.7 кОм. да у ТС полный полтергейст.. уже советов натолкали.. http://electronix.ru/forum/index.php?showt...t&p=1453392ну чего проще - взять копеечную еепром и погонять вместо камеры - проблемы ушли, значит надо с камерой разбираться - дефект остался, значит копать узел левелшифтера и узел i2c АРМа.. ТС до сих пор не озвучил полный состав шины.. известен АРМ (у меня три платы на разных imx6 (у ТС sc32) молотят месяцами - с i2c проблем нет), известно наличие некоего hdmi трансивера, известно что i2c АРМа на 1.8в, что за камера непонятно (сейчас выяснится, что она на 2.8в и дуреет от 3в3).. не, прикольно конечно, сидеть и гадать, кружочки-квадратики, 4 страница пошла..
Сообщение отредактировал Jury093 - Oct 13 2016, 09:11
|
|
|
|
|
Oct 14 2016, 21:32
|
Частый гость
 
Группа: Участник
Сообщений: 79
Регистрация: 11-06-09
Из: Санкт-Петербург
Пользователь №: 50 207

|
Цитата(Jury093 @ Oct 12 2016, 23:07)  посмотрите пустышку в ближайшем лабазе - ЧипДип, Микроника, Радетали.. Спасибо за совет, нашел подходящий вариант (на SSOP правда, но должна влезть). Цитата(AlexRayne @ Oct 13 2016, 09:49)  для экспериментов на коленке надо было искать корпуса СОИК или СОТ23/35/53 или СЦ70. идея возни с двунаправленым буфером мне с самого начала не нравилась.
Ну отпишитесь - чего получилось то. У TXS это самый простой корпус, остальные - QFN/BGA. Как проверю, отпишусь. Цитата(Jury093 @ Oct 13 2016, 12:11)  ТС до сих пор не озвучил полный состав шины.. известен АРМ (у меня три платы на разных imx6 (у ТС sc32) молотят месяцами - с i2c проблем нет), известно наличие некоего hdmi трансивера, известно что i2c АРМа на 1.8в, что за камера непонятно (сейчас выяснится, что она на 2.8в и дуреет от 3в3).. Я уже писал выше, что питание IO пинов камеры (OV7670 модуль) ~2.8В, 3.3В идут на модуль (внутри LDO). Шин несколько, я в итоге для чистоты экспериментов остановился на той, где нет иных устройств, кроме подключаемой камеры. Хочу опять же напомнить, что меня более всего смутили сбои при подключении щупов осцила/анализатора, без модуля камеры. Завтра надеюсь разобраться с переходником, потом, если данные нормально пойдут, буду пробовать отдельно разобраться с i2c. p.s. Смотрел настройки пинов в dt-bindings/pinctrl, режим стоит - открытый коллектор, 34 Ома выходное сопротивление драйвера (минимально возможное, конфигурируется).
|
|
|
|
Сообщений в этой теме
A-10 Помехи на линии I2C при подключении оборудования Sep 28 2016, 07:54 AlexRayne Цитата(A-10 @ Sep 28 2016, 10:54) Гр... Sep 28 2016, 10:37 A-10 Цитата(AlexRayne @ Sep 28 2016, 13:37) У ... Sep 28 2016, 19:05  AlexRayne Цитата(A-10 @ Sep 28 2016, 22:05) Al... Sep 29 2016, 06:35   A-10 Цитата(AlexRayne @ Sep 29 2016, 09:35) За... Sep 29 2016, 07:37    Jury093 Цитата(A-10 @ Sep 29 2016, 10:37) up... Sep 29 2016, 10:22     AlexRayne Цитата(Jury093 @ Sep 29 2016, 13:22) согл... Sep 29 2016, 12:13      Jury093 Цитата(AlexRayne @ Sep 29 2016, 15:13) и2... Sep 29 2016, 15:05     A-10 Цитата(Jury093 @ Sep 29 2016, 13:22) (воп... Sep 29 2016, 14:40    _3m Цитата(A-10 @ Sep 29 2016, 10:37) up... Sep 29 2016, 12:47 Jury093 Цитата(A-10 @ Sep 28 2016, 10:54) Су... Sep 28 2016, 10:44 AlexRayne Цитата(Jury093 @ Sep 28 2016, 13:44) похо... Sep 28 2016, 14:02 Raven А какие у вас преобразователи лог. уровней стоят? Sep 28 2016, 19:35 A-10 Цитата(Raven @ Sep 28 2016, 22:35) А каки... Sep 29 2016, 06:06 AnatolyT Похоже на помехи при соединении шлейфом, данные и ... Sep 28 2016, 19:36 Сергей Борщ Вот из ит "борда"? Sep 29 2016, 14:53 A-10 Цитата(Сергей Борщ @ Sep 29 2016, 17:53) ... Sep 29 2016, 14:55 A-10 Такой вопрос возник - как проще всего преобразоват... Sep 30 2016, 06:17 AlexRayne Цитата(A-10 @ Sep 30 2016, 09:17) Та... Sep 30 2016, 06:35 _3m Цитата(A-10 @ Sep 30 2016, 09:17) Та... Sep 30 2016, 07:48 A-10 AlexRayne , _3m Спасибо, поставлю преобразователь.... Sep 30 2016, 08:10 Сергей Борщ QUOTE (A-10 @ Sep 30 2016, 11:10) Ил... Sep 30 2016, 09:27  A-10 Цитата(Сергей Борщ @ Sep 30 2016, 12:27) ... Sep 30 2016, 09:36   _3m Цитата(A-10 @ Sep 30 2016, 12:36) На... Sep 30 2016, 10:28    A-10 Цитата(_3m @ Sep 30 2016, 13:28) Сигналы ... Oct 1 2016, 17:41 Димон Безпарольный У мну конечно частоты пониже но проблема схожая. S... Oct 1 2016, 18:58 Сергей Борщ QUOTE (Димон Безпарольный @ Oct 1 2016, 21... Oct 1 2016, 21:03  Димон Безпарольный Цитата(Сергей Борщ @ Oct 2 2016, 00:03) О... Oct 2 2016, 05:47  ViKo Цитата(Сергей Борщ @ Oct 2 2016, 00:03) О... Oct 2 2016, 05:52 A-10 Цитата(Димон Безпарольный @ Oct 1 2016, 21... Oct 3 2016, 07:00  AlexRayne Цитата(A-10 @ Oct 3 2016, 10:00) Вер... Oct 3 2016, 13:48   A-10 Цитата(AlexRayne @ Oct 3 2016, 16:48) чет... Oct 4 2016, 05:34  Jury093 Цитата(A-10 @ Oct 3 2016, 10:00) А у... Oct 4 2016, 09:04   A-10 Цитата(Jury093 @ Oct 4 2016, 12:04) я уже... Oct 4 2016, 09:46    Jury093 Цитата(A-10 @ Oct 4 2016, 12:46) В э... Oct 4 2016, 10:59     A-10 Цитата(Jury093 @ Oct 4 2016, 13:59) если ... Oct 4 2016, 12:07    AlexRayne Цитата(A-10 @ Oct 4 2016, 12:46) Мик... Oct 5 2016, 07:20     A-10 Цитата(AlexRayne @ Oct 5 2016, 10:20) вы ... Oct 5 2016, 08:02      AlexRayne Цитата(A-10 @ Oct 5 2016, 11:02) Это... Oct 7 2016, 06:54       A-10 Цитата(AlexRayne @ Oct 7 2016, 09:54) вы ... Oct 7 2016, 07:45        AlexRayne Цитата(A-10 @ Oct 7 2016, 10:45) Мик... Oct 11 2016, 07:18 Димон Безпарольный С резистором на SCL стало только хуже. Сейчас вспо... Oct 2 2016, 06:17 Trashy_2 Была проблема, в одном МЕТАЛЛИЧЕСКОМ корпусе, один... Oct 11 2016, 14:35 A-10 Цитата(AlexRayne @ Oct 11 2016, 10:18) И ... Oct 12 2016, 20:03  Jury093 Цитата(A-10 @ Oct 12 2016, 23:03) Че... Oct 12 2016, 20:07  AlexRayne Цитата(A-10 @ Oct 12 2016, 23:03) Че... Oct 13 2016, 06:49   AlexRayne Цитата(Сергей Борщ @ Oct 13 2016, 11:34) ... Oct 13 2016, 14:22
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|