Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 16.12.2008, 15:37  
alexey23
Частый гость
 
Регистрация: 27.09.2007
Сообщений: 5
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
alexey23 на пути к лучшему
По умолчанию

делали мы преобразователи 485 - оптоволокно, по сути получается тот же повторитель, только посредине вставлено 100 км волокна

приходилось подключать ооочень разные системы не зная их протоколов.
так вот, под разные железяки работали разные подходы.
а) есть LTC1482 с выходом Carrier detect. дальше ставишь RS триггер чтобы запомнил кто первый начал передавать.
б) если известна скорость передачи, ставишь RS триггер, который просто запоминает с какой стороны раньше пришел "0" и одновибратор на примерно длительность байта, который сбросит его после пакета.
в) если устроит, можно использовать т.н. "китайский" вариант (кстати он реализован во всех китайских "усилителях 485" и конверторах 232/485 - их много на рынке, см. ipc2u.ru например) - передатчики все включаются как CAN, то есть передают только "0", а "1" передают как hi-Z. для чего достаточно данные завести на DE а на вход данных у MAX485 подать "0". тогда конфликт не страшен и определять направление передачи не очень нужно. но все равно нужно поставить RSтриггер чтобы у тебя одновременно в ретрансляторе был включен только один драйвер, чтобы сам себя не защелкнул.
г) если просто надо передать на 2 км - не заморачивайся, возьми кабель 1 квадрат и будет работать на 10 км на скорости 9600.
классическая картинка ограничения расстояния от скорости обрезана на 4000 футов только потому что на омическом сопротивлении кабеля 24AWG упадет слишком много, сигнала не хватит. возьми толще кабель, и наклонный участок продолжится. детали см. AN1057 на сайте National -
http://www.national.com/an/AN/AN-1057.pdf
Реклама:
alexey23 вне форума  
Непрочитано 16.12.2008, 16:05  
vly67
Прописка
 
Регистрация: 21.04.2007
Сообщений: 171
Сказал спасибо: 0
Сказали Спасибо 4 раз(а) в 3 сообщении(ях)
vly67 на пути к лучшему
По умолчанию

согласен с alexey23.
Если известна скорость передачи можно использовать 2 обычных микросхемы драйвера RS-485.
Более подробно:
1) при включении устройства оба драйвера 1 и 2 (входы-выходы) находятся в режиме приема
2) при приёме "0" одним драйвером второй переходит в режим передачи и удерживается в этом режиме не менее времени, необходимого для передачи байта, затем снова переходит в режим приёма - "0" на выходе 1 драйвера разряжает через диод конденсатор, выход конденсатора управляет направлением передачи второго драйвера. Одновременно выходной сигнал 1 драйвера проходит на вход 2 драйвера (верно и противоположное). Кондесатор, после исчезновения "0" на выходе 1 драйвера заряжается через резистор (время заряда - не менее, чем время передачи байта) до состояния логической "1" на выходе 1 драйвера.
Схема заркальная, как 1 драйвер управляет 2 так и наоборот.
3) реализуется это на 2 драйверах RS-485 и микросхеме логического инвертора (4 вентиля , по входу - триггер Шмиддта)
4) временной промежуток между окончанием передачи одного устройства и началом передачи второго устнавливается более, чем время перезаряда конденсатора, т.е. более 1 байта - это уже делается программно
vly67 вне форума  
Непрочитано 16.12.2008, 21:36  
Robss
Частый гость
 
Регистрация: 06.04.2008
Сообщений: 34
Сказал спасибо: 1
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Robss на пути к лучшему
По умолчанию

суть в том что в период экономического кризиса мало что стали покупать
это крайний вариант если самому паять прийдеться на свою зарплату
а так везде стоят Siemens repiter-ы скорость сети в массе 1,5 мбит/сек Profibus длина не более 100 метров но без репитеров не пашет на полной скорости снижение скорости передачи приводит к замедлению обрабатываемой информации по скорости приводов (их там много)и цикл обработки длиться более секунды что не допутсимо

Сам что то про тригеры не подумал для фиксации направления, да и длинна пакета не думаю что стандартная идет.
Robss вне форума  
Непрочитано 16.12.2008, 22:24  
alexey23
Частый гость
 
Регистрация: 27.09.2007
Сообщений: 5
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
alexey23 на пути к лучшему
По умолчанию

да, кстати, про LTC1482 надо учесть, что 485 довольно часто применяют т.н. fail-safe, у которого при всех выключенных драйверах на шине резисторные растяжки фиксируют состояние "1". если не ошибаюсь, в Profibus это тоже как опциональный вариант заложено в стандарт.
в таком случае LTC1482 всегда выдает carrier detect, а потому вариант не работает.
но зато тогда работает вариант "китайский", раз уж "1" форсируется при выключенных драйверах, то передается только "0", тогда можно не ставить одновибратор на время передачи байта, выключать передачу сразу после завершения бита "0". ну или с маленькой задержкой - на четверть бита - чтобы ускорить переход в "1". на высоких скоростях это существенно. тогда независимо от протокола все будет работать.

но с "китайским" CAN-подобным вариантом свои геморрои:
1) встречались один раз приборы, которые тоже контролировали освобождение шины по нуля напряжения, если им формировать "1" растяжкой резисторами, они блокировали передачу.
2) встречались приборы, которые называются RS485, а на самом деле там манчестер-кодированный сигнал с трансформаторной развязкой, просто уровни сигнала совпадают с 485, потому так и пишут в мануале. Те тоже плохо работают, у них трансформаторы при длинной "1" уходят в насыщение и пока выйдут, первые несколько битов в пакете искажаются.

так что у нас в результате 6 битов задавали режим передачи - 4 бита длительность задержки отключения, 1 бит - передавать ли "1", 1 бит - по нулю или по CarrierDetect обнаруживать начало передачи.
в таком виде устроило пока все системы которые встречались. там правда весь алгоритм лежал внутри Xilinx'а, потому можно было его постепенно улучшать .

Посмотрите, в состоянии покоя (между пакетами) на шине 0 вольт или нет, и работают ли контроллеры, если туда подать через 1 ком на провод "А" 0в а на "В" +5в. если работают или даже сами могут это подавать, то можно задержку поставить очень маленькую после передачи "0", и не задумываться о том, какая пауза между пакетами в имеющихся контроллерах.
alexey23 вне форума  
Непрочитано 17.12.2008, 03:56  
vly67
Прописка
 
Регистрация: 21.04.2007
Сообщений: 171
Сказал спасибо: 0
Сказали Спасибо 4 раз(а) в 3 сообщении(ях)
vly67 на пути к лучшему
По умолчанию

насколько я понял в LTC1482 сигнал Carrier Detect просто повторяет выходной сигнал приемника. Вывод Carrier Detect двунаправленный, предназначен также для управления приёмником и он с открытым коллектором.
Кроме этого не заметил отличий от обычного выхода приёмника (по выходной логике).
vly67 вне форума  
Непрочитано 17.12.2008, 07:51  
solesurvivor
Частый гость
 
Регистрация: 01.09.2006
Сообщений: 44
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
solesurvivor на пути к лучшему
По умолчанию

"Болид" давно выпускает "С-2000 ПИ". Девайс юзается в их "Орионе". Реально добивались связи до 3 км по витухе. Правда, насношались с согласовкой особенно на спиде 9600. Люче поставить вместо резистора постоянного потенциометр до 1 кОм и -кручу -верчу - связь наладить хочу. Очень хорошо держит статику и грозу. Цена в розницу примерно 100 зелёных. И блок питания 12 вольт нужен. Если на улице, да ещё в Заполярье - подумай о термобоксе - для этих целей мы думали использовать термркожух для видеокамер - там и блочок на 400 мА, и резистор - камин, и класс защиты IP65. Успехов!!!
solesurvivor вне форума  
Непрочитано 17.12.2008, 13:12  
anatolij_medvedev
Частый гость
 
Регистрация: 20.04.2008
Сообщений: 14
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 1 сообщении
anatolij_medvedev на пути к лучшему
По умолчанию

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

Спасибо.
anatolij_medvedev вне форума  
Непрочитано 17.12.2008, 15:29  
alexey23
Частый гость
 
Регистрация: 27.09.2007
Сообщений: 5
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
alexey23 на пути к лучшему
По умолчанию

LTC1482 - внимательнее читайте даташит - CarrierDetect активен когда на входе есть перепад больше чем 200 мВ.
неважно, "1" или "0", то есть неважно перекос между двумя проводами в какую сторону.
неактивен (я не помню активен у него высокий или низкий) если на входе ничего нет (то есть если передатчик в 3-м состоянии).
К сожалению, когда идут данные, он может кратковременно становиться неактивным на фронтах, пока сигнал переходит через 0 вольт, так что некоторая внешняя задержка отключения не повредит.
alexey23 вне форума  
Непрочитано 17.12.2008, 15:37  
nocturnus
Прописка
 
Регистрация: 09.08.2006
Адрес: Днепр
Сообщений: 59
Сказал спасибо: 21
Сказали Спасибо 34 раз(а) в 14 сообщении(ях)
nocturnus на пути к лучшему
По умолчанию

Делается довольно просто повторитель - драйвер (напр ST485) находится в режиме приема - выводы RE и DE соединены между собой, с подтягивающим резистором и стоком полевика.Исток - общий, туда же подключен вход DI. На затвор полевику подается сигнал с вывода RO второго драйвера, таким образом при приеме активного сигнала ключ закрывается и переводит драйвер в режим передачи "0". аналогична ситуация и при передаче с другой стороны. Итого получается два драйвера, два полевика и резисторы подтяжек. Схема работоспособна на любых разумных скоростях обмена - линия то полудуплексная
nocturnus вне форума  
Непрочитано 17.12.2008, 16:00  
alexey23
Частый гость
 
Регистрация: 27.09.2007
Сообщений: 5
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
alexey23 на пути к лучшему
По умолчанию

2 nocturnus:
это работает только если линии имеют растяжки резисторами - в таком режиме передаются только "0", а "1" передается как "Hi-Z".

это я и называл "китайский" вариант.
на высоких скоростях могут быть проблемы из-за несимметрии передачи фронтов - фактически на линию подключается типа открытого коллектора - в одну сторону тянет мощным ключом, а в другую резисторами.
потому надо
а) смотреть, будет ли техника (Симатики или что там) работать при наличии сигнала "1" на линии между пакетами.
б) добавить небольшие емкости, чтобы DE отключался через 10-100 наносекунд после передачи бита, чтобы он успел своим мощным выходом перезарядить линию. возможно, хватит емкости затвора полевика - смотреть надо.
в) всяко экспериментировать, подбирать номиналы резисторов растяжки.

но в целом, да, такой вариант наиболее универсален.
alexey23 вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
RS 485 otest Автоматика и аппаратура связи 3 30.06.2009 14:40
Повторитель на ОУ tripsin Электроника - это просто 3 02.12.2008 10:34
Импульсный задатчик по RS-485 delta777 Производственное оборудование 2 02.09.2008 08:53
Повторитель на транзисторе electronic-v Электроника - это просто 64 31.05.2008 07:13
RS 485 dosikus Микроконтроллеры, АЦП, память и т.д 0 17.08.2006 20:55


Часовой пояс GMT +4, время: 03:58.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot