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

 
 
> Помехи на линии I2C при подключении оборудования
A-10
сообщение Sep 28 2016, 07:54
Сообщение #1


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

Группа: Участник
Сообщений: 79
Регистрация: 11-06-09
Из: Санкт-Петербург
Пользователь №: 50 207



Всем доброго времени суток.

Суть проблемы следующая - есть плата с ARM-овым процессором (от NXP) и тремя линиями I2C, подтянутыми 4.7К резисторами к питанию 1.8В. Частота I2C 100КГц.

На плате крутится линукс, пробую по i2cdetect/i2cget получить данные с подключенных к линии микросхем - ID возвращается нормально.
Подключаю преобразователь уровня с камерой - сообщения не приходят (подтягивающие резисторы только на борде). Иногда SCL "залипает" в нуле до сброса.

На одной линии I2C без подключенных устройств подсоединился осциллографом к SCL/SDA. Пока нет подключения к SCL - сообщение нормально уходит, как только подключаю щуп, происходит следующая картина:
Прикрепленное изображение

Прикрепленное изображение


Грешу на избыточную емкость на линии, но может быть еще какие-то варианты? Перепаивать резисторы такого типоразмера сложновато..
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Сергей Борщ
сообщение Oct 13 2016, 07:52
Сообщение #2


Гуру
******

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



Я бы уже давно провел простой эксперимент - заменил бы резистор подтяжки SCL на два вдвое большего сопротивления, между ними последовательно в линию SCL впаял бы резистор ом на 470, всю эту конструкцию поместил бы между ведущим и ведомыми и сравнил бы сигналы на обоих концах этого последовательного резистора. Таким образом выяснил бы - кто "давит" этот сигнал SCL. Потому что чем больше я думаю об этих картинках, тем больше мне это кажется похожим на неправильно реализованный методом "ногодрыга" I2C, который вместо открытого коллектора использует двухтактный выход и который не предполагает возможность подтормаживания тактового сигнала (clock stretching) ведомым. Конечно трудно предположить такое поведение у аппаратного контроллера на стороне ведущего, но кто знает, как оно реализовано в программе... Может и вправду там ногодрыг авторы библиотек устроили.


--------------------
На любой вопрос даю любой ответ
"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
AlexRayne
сообщение Oct 13 2016, 08:16
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 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
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Oct 13 2016, 08:34
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 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)
Go to the top of the page
 
+Quote Post
Jury093
сообщение Oct 13 2016, 09:11
Сообщение #5


Знающий
****

Группа: Участник
Сообщений: 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
Go to the top of the page
 
+Quote Post
A-10
сообщение Oct 14 2016, 21:32
Сообщение #6


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

Группа: Участник
Сообщений: 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 Ома выходное сопротивление драйвера (минимально возможное, конфигурируется).
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- 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


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

 


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


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