ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
27 ноября
919096
Adept (02.05.2019 23:11 - 10.05.2019 00:28, просмотров: 89291)
неожиданно возникла проблема со стандартными драйверами 485-й шины (Всем спасибо, проблема РЕШЕНА (см.приписку в этом посте)), однако, думаю можно делиться опытом :) ибо тема оказалась популярной :)) использую SN65HVD3088 буадрейт - мегабит. Линия плоский кабель (типичное Z0=300 Ом) соответственно на AB висит 300-омный резистор. Линия короткая - 3 метра. от 1 до 8 клиентов, мастер один. Короткие пакеты по 10-20 байт каждую миллисекунду, амплитуда дифференциального сигнала около 2 вольт, но всё в "шерсти" - короткие наносекундные иголки амплитудой до питания с небольшим звоном после, практически на каждом импульсе, где-то в середине, иногда ближе к концу, соответственно на выходе драйвера частенько по этим иголкам происходит переключение уровня. "шерсть только во время передачи пакета, но почему-то не на фронтах/спадах. а на "полке" импульса :((, в остальное время - тишина :(( Практически все пакеты получаются битые, на другом конце терминатора нет (если ставить, то просто падает амплитуда, а "шерсть" остаётся)). Пробовал вешать 1000 пик на AB с одним клиентов всё работает (шерсть есть, но по амплитуде не больше дифсигнала) два и больше клиента - опять ошибки. Просмотрел аппнонты от TI - всё так же висит на шине, без какой-либо обвязки. Где-то опционально на AB вешают ёмкость, и резистор в десятки-сотни ом параллельно линии. Посмотрел схему эвалюэйшн борды. Там ещё увидел, что АВ пины драйвера подключаются к линии через 10 ом. Планируется, в перспективе, линия в 30-40 метров в помещении (не витая пара, а ленточный кабель) и до 256 клиентов. Чё-то я в замешательстве. В чём трабла??? _______________________________________________________________________________________________________________________________________________ через 2 дня: проблема решилась. Был дохлый драйвер в мастере, с полудохлым входом DE (не переключался на приём, и всё время стоял на передаче, соответственно был конфликт со слейвами). В ходе дискуссии выяснилось, что Z0 кабеля = 115 ом, а не 300. Поставил 120-омный терминатор вместо 300 ом, стало совсем хорошо, повесил второй на конец линии - стало ещё лучше (наносекундные выбросы на фронтах и незначительный звон совсем ушли). Пока работает :) надеюсь в макси-конфигурации (40 метров линии и 256 нодов) заработает так же :)
...делать нужно так, как нужно. А как ненужно - делать не нужно (С) Винни-Пух :)