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

ADM3066E

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

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

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

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

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

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

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


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

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

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

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

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

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


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

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. Куда копать уже не знаю...

 

 

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


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

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

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

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


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

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го устройства на шину во время его передачи никто не лезет. 

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


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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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


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

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

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

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

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

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

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

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


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

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

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

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

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

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


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

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

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

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

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

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


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

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

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

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

25791829_.png.71ad088b5abc511e991e0d951b0021e4.png

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

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

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

 

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


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

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

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

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

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


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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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