Перейти к содержанию
    

Помехи на линии I2C при подключении оборудования

Вот из ит "борда"?
борда=board, отладочная плата в данном случае -)

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

и2ц мастер должен както отлавливать удерживание клока, или захват его - так что атомарность у него с оговорками.

не очень представляю, каким образом работая на передачу, можно на той же линии поймать коллизию.. пойму, если дергая scl, проц смотрит sda

у того же imx6 есть строчка

"Data output to 12Cn_SDA stops, but 12Cn_SCL is still generated until the end of the byte during which arbitration is lost."

 

тут же (а картинках ТС) какая-то ерунда - клок пошел вверх и на половине почти мгновенно упал.. ну не бывает так.. с малоподобной гипотезой, что кратковременно валится питание выходных буферов или отваливаются пуллапы

 

к нашему элвису (ВМ10Я) тот же самый вопрос. имхо они могли взять готовую глючную корку и2ц, может на какихто опенкорес....

полагаю у данного проца всегда есть выход - захватить пины и програмно реализовать интерфейс. гораздо поганее если такой возможности нету.

ну вполне, что вам что ТС, можно изобразить i2c-gpio для тестирования, а то и для работы, если хватит производительности проца и не попортятся остальные времянки (gpio mode достаточно грузит систему при плотном обмене)

 

с элвисом не знаком, и если нет официальных еррат, то наверно надо напрямую спрашивать у производителя: "какого хрена i2c?", прикладывая времянки и схему соединения..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Такой вопрос возник - как проще всего преобразовать уровень сигнала 1.8В к ~2.8В на частоте 27МГц?

Текущая схема не годится..

 

Вроде бы можно попробовать использовать драйвер для мосфета или ОУ.

Смотрел, например MC34151, но у него Drive Output Rise Time 14нс, а у меня период - 37нс.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Такой вопрос возник - как проще всего преобразовать уровень сигнала 1.8В к ~2.8В на частоте 27МГц?

Текущая схема не годится..

 

Вроде бы можно попробовать использовать драйвер для мосфета или ОУ.

Смотрел, например MC34151, но у него Drive Output Rise Time 14нс, а у меня период - 37нс.

попробуйте глянуть на спецификации 74HC14 от NXP. думаю много других подобных вариантов найдется

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Такой вопрос возник - как проще всего преобразовать уровень сигнала 1.8В к ~2.8В на частоте 27МГц?

чтобы точно работало - SN74AVC1T45 и им подобные с двумя питаниями.

можно пробовать и преобразователи с одним питанием но там надо проверять уровни.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

AlexRayne , _3m Спасибо, поставлю преобразователь.

 

А какие там задержки могут быть? Камера же через n периодов выдает свою частоту и hsycn/vsync, а задержки входной частоты как бы и не важны.

Или речь не об этом?

Изменено пользователем A-10

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Или речь не об этом?
Телепатия хромает у участников. Без нее назначение сигнала было неизвестно, а на сигнал неизвестного назначения задержки теоретически могут влиять.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Телепатия хромает у участников. Без нее назначение сигнала было неизвестно, а на сигнал неизвестного назначения задержки теоретически могут влиять.
На камеру приходит сигнал тактовой 27МГц с платы, через n циклов задержки (точно не помню сколько) камера выдает обратно частоту, синхронную с данными на 8-битной шине (сама картинка), сигналами горизонтальной и вертикальной синхронизации.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На камеру приходит сигнал тактовой 27МГц с платы, через n циклов задержки (точно не помню сколько) камера выдает обратно частоту, синхронную с данными на 8-битной шине (сама картинка), сигналами горизонтальной и вертикальной синхронизации.

Сигналы выдается источником (камерой) и защелкиваются приемником (soc) синхронно с клоком. Если на пути клока возникнет задержка времянки могут нарушиться.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сигналы выдается источником (камерой) и защелкиваются приемником (soc) синхронно с клоком. Если на пути клока возникнет задержка времянки могут нарушиться.
Да, действительно, проверю, спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У мну конечно частоты пониже но проблема схожая. STM32L151 как источник I2C на одной плате, разъем - шлейф -разъем и пять микросхем - абонентов I2C на другой плате. Шлейф отдельными проводами. Подтягивающие резисторы не на конце линии, а у начала цепочки микросхем - абонентов шины.

 

Так вот, из - за отражения 3-4 микросхемы отказываются выдавать данные. Хотя на шине видны. И почему - то защелкивается в нуле SDA. Пока нашел кривое решение: просканировал шину на разных частотах и нашел что при 170КГц все исправно работает. Хорошо видно как при смене частот отваливаются разные абоненты. Причем это единственный диапазон 120 - 170 Кгц из возможного 10КГц - 1МГц.

 

Согласен, решение кривое. Может перенести резисторы (1к, 3.3В) на конец линии?

Изменено пользователем Димон Безпарольный

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Согласен, решение кривое. Может перенести резисторы (1к, 3.3В) на конец линии?
Они будут на конце линии с точки зрения ведущего. Для ведомых они будут в начале линии. А поскольку все сигналы формируются совершенно одинаково и ведомым и ведущими - проблема скорее всего просто переместится на второй конец линии.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Они будут на конце линии с точки зрения ведущего. Для ведомых они будут в начале линии. А поскольку все сигналы формируются совершенно одинаково и ведомым и ведущими - проблема скорее всего просто переместится на второй конец линии.

Как тогда бороться с отражениями? Ставить с двух сторон?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Они будут на конце линии с точки зрения ведущего. Для ведомых они будут в начале линии. А поскольку все сигналы формируются совершенно одинаково и ведомым и ведущими - проблема скорее всего просто переместится на второй конец линии.

Главное, такты передать от мастера к слугам. А данные раньше или позже придут правильные.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

С резистором на SCL стало только хуже. Сейчас вспоминаю как я с десяток подряд лет паял шлейфы SCL по 1-3м не задумываясь об всяких там отражениях. Правда там проще все было - DS1621 на конце и все.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...