Jump to content

    

ADM3066E

Recommended Posts

alexPec

Всем доброго дня.

Зашел в тупик с этим чипом, может кто что подскажет. 

Ситуация такая. Есть 3 устройства, которые гоняют данные (аля UART) по RS485 со скоростью 50мбит/с.

Одно устройство гонит пакет в шину, два другие вылавливают в этом потоке маркер конца данных, затем первое устройство отпускает шину, сначала второе устройство отвечает, потом через некоторое время третье. Затем снова первое устройство гонит пакет и так далее.

Так вот обмен между 1 и 3-м устройством нормальный, ADM работает как надо. А вот на втором беда такая. Периодически, но довольно часто (примерно в 10% случаев) данные на выходе ADM не соответствуют входным. Не соответствуют так, как будто драйвер отключается от шины примерно на 4-5бит при скорости 50 мбит/с. Причем на шину в это время никто не лезет, сигнал разрешения выхода ADM подается корректно, с остальными сигналами разрешения не пересекается. Есть временной интервал между активными устройствами на шине порядка 40нс. Т.е. когда должны идти первые биты - на выходе драйвера нулевой дифференциальный сигнал порядка 1,5-2В. Через некоторое время включается (как будто) драйвер и на выходе сигнал соответствует входному. 

Мерил и на входе сигналы, и питание - все вроде в норме. А выход не соответствует входу. Причем повторюсь, только в 10% случаев. А в большинстве все работает как надо. Менял чип - та же картина. И только на втором устройстве. На первом и третьем - все ок.    

Share this post


Link to post
Share on other sites

Zig

Линия какой длины?

RS485 двух- или четырехпроводный?

Согласована ли линия на двух концах?

Стоят ли растяжки сигналов пары к плюсу питания и земле? (Чтобы было корректное значение на линии при отключении всех передатчиков.)

Share this post


Link to post
Share on other sites

alexPec
1 час назад, Zig сказал:

Линия какой длины?

RS485 двух- или четырехпроводный?

Согласована ли линия на двух концах?

Стоят ли растяжки сигналов пары к плюсу питания и земле? (Чтобы было корректное значение на линии при отключении всех передатчиков.)

Линия 10см, витая пара. Согласована резисторами на 120 ом на 2х концах. Т.к. питание всех 3х устройств от одного источника,  земле и питанию не тянул, да и в даташите вроде написано что драйвер корректно обрабатывает все эти ситуации. Осцилом смотрю сигнал на линии - красивый, без искажений.

Вот даже только 2 устройства, одно посылает пакет, второе отвечает. Здесь сигналы enable выходов драйверов ADM3066:

208540317_.thumb.png.b28e5af1c1b100ef463995ad9cef6658.png

Тут enable 1 устройства и данные на входе ADM3066 второго:

1257928660_.thumb.png.ff38ca648a4d966d4e2a13cf445ca8dd.png

Тут вариант с нормальной передачей (выход соответствует входу, желтый- вход):

355351992_.thumb.png.f9adc767682ad76645b763dfcdef45bd.png

Тут ненормальная передача, вход ADM и прямой выход ADM:

1294873738_.thumb.png.4840c50ce4871a09b6e7090eb1d24eb9.png

Тут инверсный выход ненормальной передачи:

406202667_.thumb.png.efc1259521a3ca4fd14506049339789d.png

Выход если смотреть осцилом, все время дергается - то нормальный, то ненормальный. На входе все стабильно - и данные и enable. Куда копать уже не знаю...

 

 

Share this post


Link to post
Share on other sites

Zig

Добавьте растяжки к земле и питанию на диф. пару. PullUp 1кОм к A, PullDown 1кОм к B. Снимите осциллограмму DE, Din, A. Затем поменяйте PullUp 1кОм к B, PullDown 1кОм к A и переснимите осциллограмму. Может все же иногда DE появляется позже чем надо. Растяжки позволят увидеть кто и когда лезет на шину.

ИМХО. Пауза между посылками маловата - всего два бита. Может второй UART не успевает включиться когда последний передаваемый бит не совпадает с стоп-битом.

Share this post


Link to post
Share on other sites

alexPec
1 час назад, Zig сказал:

Добавьте растяжки к земле и питанию на диф. пару. PullUp 1кОм к A, PullDown 1кОм к B. Снимите осциллограмму DE, Din, A. Затем поменяйте PullUp 1кОм к B, PullDown 1кОм к A и переснимите осциллограмму. Может все же иногда DE появляется позже чем надо. Растяжки позволят увидеть кто и когда лезет на шину.

ИМХО. Пауза между посылками маловата - всего два бита. Может второй UART не успевает включиться когда последний передаваемый бит не совпадает с стоп-битом.

Два устройства (1е и 3е)  на шине работают нормально. Гоню данные постоянно со скоростью 50 мбит/с - ни одной ошибки. Время между DE и данными точно такое же, как и во 2-м устройстве.  Т.е. трансиверы в принципе успевают переключаться. Но вот конкретно на 2-м - непонятно что. Подтянул ноги на + и - . В неактивном состоянии, учитывая 2 резистора между A и В по 120 ом, нечто среднее. А вот при глюке обе линии прилипают к плюсу... Вот снимки с подтяжкой - желтый это DE, синий - прямой и инверсный выход трансивера. Вход всегда один и тот же, как на снимках выше, не меняется. Если бы он менялся - то было бы заметно, как на выходах трансивера. Насчет не успевает включаться - в большинстве случаев (90%) передача проходит нормально, с первого бита, даже на глючном устройстве. 

Прямой выход:

1002596203_.thumb.png.186afa91ee88d2152a07dddd066c3919.png

Инверсный выход:

15323696_.thumb.png.389e1faca12a7a6a5d3410c7e6a70ffb.png 

 

Я уже думал что это защита по току срабатывает - в даташите про это сказано, но при срабатывании написано, что шина должна в 3 состояние перейти. А она на + прилипает. Пробовал чтобы проверить версию срабатывания защиты от тока подключить ADM глючного устройства через 2  резистора (50R) к шине. Ничего не поменялось. 

Если просто отключить второе устройство и мерить шину - после конца передачи первого устройства она переходит в 3 состояние до тех пор, пока снова 1 -е устройство не начнет передачу. Это к тому что без 2го устройства на шину во время его передачи никто не лезет. 

Share this post


Link to post
Share on other sites

HardEgor
22 часа назад, alexPec сказал:

Так вот обмен между 1 и 3-м устройством нормальный, ADM работает как надо. А вот на втором беда такая.

Микросхемы из одной партии?

Питание драйвера одно или 2 раздельных?

А физически возможно поменять провода подключения 2 и 3?

А если 3 отключить и работать только со 2-м устройством, такие же проблемы?

И последнее, задержки  в 35 ns соблюдаются (не могу понять деления осциллоскопа)?

Share this post


Link to post
Share on other sites

alexPec
1 час назад, HardEgor сказал:

Микросхемы из одной партии?

Питание драйвера одно или 2 раздельных?

А физически возможно поменять провода подключения 2 и 3?

А если 3 отключить и работать только со 2-м устройством, такие же проблемы?

И последнее, задержки  в 35 ns соблюдаются (не могу понять деления осциллоскопа)?

1. Микросхемы из одной ленты

2. Питание драйвера 3,3В, IO тоже 3,3В от одного источника. Каждый ADM на своей плате, поэтому на каждый ADM подается питание от отдельного стабилизатора.

3. Можно, менял, разницы никакой.

4. Работа 3го устройства никак не влияет на глюк. Пробовал отключать вообще третье устройство - та же картина

5. Задержки порядка 40нс и больше, но это ведь в даташите задержка от enable до появления сигнала на выходе. А тут при глюке на выходе сигнал появляется, но он не дифференциальный, а оба вывода дифпары почему-то к плюсу прилипают...

Share this post


Link to post
Share on other sites

HardEgor
1 час назад, alexPec сказал:

1. Микросхемы из одной ленты

При такой совокупности симптомов я бы грешил на брак платы. У нас такое было - только в микроскоп разглядел КЗ.

Share this post


Link to post
Share on other sites

alexPec
58 минут назад, HardEgor сказал:

При такой совокупности симптомов я бы грешил на брак платы. У нас такое было - только в микроскоп разглядел КЗ.

Это тоже уже проверял. Отрезал дорожки и припаял шину прямо к ADM. Все по-прежнему. 

Случайно заметил, что с прошивкой, когда по шине передается только небольшое количество данных (<1% занятости шины по времени) ПЕРВЫМ УСТРОЙСТВОМ, ADM на ВТОРОМ УСТРОЙСТВЕ не глючит! Мистика какая-то...

Во время простоя при этом устройство 1 также держит шину (она не в 3м состоянии)

Сравнил входные сигналы на первом и втором устройстве когда глючит и когда не глючит - все одинаково, только вместо данных лог.1.  Все enable выставляются одинаково в обоих случаях.

Share this post


Link to post
Share on other sites

HardEgor
13 часов назад, alexPec сказал:

Это тоже уже проверял. Отрезал дорожки и припаял шину прямо к ADM. Все по-прежнему.

Не только шина, но и питания и сигнальные.

А еще такой вопрос, как часто данные идут? Чип при обмене греется?

Share this post


Link to post
Share on other sites

alexPec
59 минут назад, HardEgor сказал:

Не только шина, но и питания и сигнальные.

А еще такой вопрос, как часто данные идут? Чип при обмене греется?

Питание осциллографом смотрю - все ок, входные сигналы тоже смотрю - все стабильно. Данные валят постоянно. Но чип не греется.

Share this post


Link to post
Share on other sites

alexPec

Вернулся к теме, в PDF нашел такое:

157714337_.thumb.png.6f9c7b0352fd22ec9ebe198870c5e837.pngad3065.pdf

Возможно в этом дело. Я рассчитывал на выход из 3 состояния не более 30нс, как в этой таблице. Но если драйвер уходит в shutdown какой-то, то 2мкс это уже много. Однако же если смотрим в таблицу 9:

25791829_.png.71ad088b5abc511e991e0d951b0021e4.png

Никакого режима shutdown у передатчика нет... И никакого упоминания о Tshdn в тексте не нашел...

И не понятно, как 1 и 3 устройство-то нормально работают? Там DE в ноль тоже  явно больше 40нс опускается. 

Может кто-то сможет прояснить ситуацию?

 

Share this post


Link to post
Share on other sites

Zig

А что у вас на RE?

В таблице 10 есть режим Shutdown для приемника. Может он общий с передатчиком?

Попробуйте подключить RE к общему.

Share this post


Link to post
Share on other sites

alexPec
42 минуты назад, Zig сказал:

А что у вас на RE?

В таблице 10 есть режим Shutdown для приемника. Может он общий с передатчиком?

Попробуйте подключить RE к общему.

Пробовал, никакой разницы. А так, штатно, у меня DE и RE вместе соединены

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.