Jump to content

    
Sign in to follow this  
A-10

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

Recommended Posts

и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?", прикладывая времянки и схему соединения..

Share this post


Link to post
Share on other sites

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

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

 

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

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

Share this post


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

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

 

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

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

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

Share this post


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

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

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

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

Share this post


Link to post
Share on other sites

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

 

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

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

Edited by A-10

Share this post


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

 

Share this post


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

Share this post


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

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

Share this post


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

Share this post


Link to post
Share on other sites

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

 

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

 

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

Edited by Димон Безпарольный

Share this post


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

Share this post


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

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

Share this post


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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this