|
RS232 тюнер |
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 22)
|
Apr 5 2006, 04:56
|

Знающий
   
Группа: Свой
Сообщений: 553
Регистрация: 30-03-05
Из: Санкт Петербург
Пользователь №: 3 793

|
Цитата(Sir Jon @ Apr 5 2006, 07:24)  Сделать обычный rs232 -> rs485 задача тривиальная. С ручным переключением скоростей - интересная. С автоматическим определением - достойная подражания ИМХО это уже реализовано не у одного производителя. Разобрав дешевый ICP-DAS I-7xxx, я не увиделел ничего интересного, кроме одной микрухи...которая и служит тюнером rs323, т.е. вычисляет (замеряет) скорость приемо/передачи и соотв. щелкает приемо-передатчиком. Отсюда и интерес КАК? Я тоже разбирал айсипиконы (помоему i7520),действительно там стоит заказной чипак который решает проблему. Если подумать то конструкция такого устройства выглядит примерно так Драйвер RS232<->Процессор<->Драйвер RS-485 Скорее всего Процессор это просто ретранслятор которому побарабану какая частота,какие данные.Появился перепад с одной стороны и он его ретранслирует на другую(а там уже драйвер сам разбираецца что с ним делать).Скорее всего параллельно мерица частота сигнала и высчитываеца таймаут по истечении которого он выключает передатчик на стороне RS-485 чтобы быть готовым к приему. Главное понять как посчитать этот таймаут. Цитата(rezident @ Apr 5 2006, 03:17)  В нашем конверторе RS232-RS485, например, с помощью SMD-switch скорость выбирается. В сети RS485 обычно один мастер и на одной скорости общение идет. Обоснуйте необходимость автоматического определения скорости передачи. ИМХО это конечно удобно, но не совсем целесообразно. Да чего там обосновывать,действительно очень удобно когда конвертер незадает глупых вопросов и нетребует дополнительной настройки и самое главное не заставляет щелкать RTS.
|
|
|
|
|
Apr 5 2006, 06:00
|

Участник

Группа: Участник
Сообщений: 73
Регистрация: 23-12-05
Из: Украина Днепродзержинск
Пользователь №: 12 599

|
Цитата(ipc @ Apr 5 2006, 09:21)  Если дело только в спортивном интересе и повышении экспириенса то можно сделать все и даже более целесообразно использовать USB потому как RS-232 уходит в прошлое но если планируется коммерческая состовляющая то проще купить потому как все это уже придумано и очень широко представлено на рынке и врятли можно будет сделать дешевле и быстрее. По поводу коммерческой составляющей- FTDI(3$)+ST485N(1$)+2$ рассыпуха и никакого гемороя с поиском чипа который будет определять скорость.На практике сделал порядка 20 экземпляров-всё работает окей.Если покупать на фирме то rs232-rs485 и usb-rs485 будут стоить примерно одинаково-100$.
|
|
|
|
|
Apr 5 2006, 06:07
|

Знающий
   
Группа: Свой
Сообщений: 553
Регистрация: 30-03-05
Из: Санкт Петербург
Пользователь №: 3 793

|
Цитата(plan @ Apr 5 2006, 10:00)  Цитата(ipc @ Apr 5 2006, 09:21)  Если дело только в спортивном интересе и повышении экспириенса то можно сделать все и даже более целесообразно использовать USB потому как RS-232 уходит в прошлое но если планируется коммерческая состовляющая то проще купить потому как все это уже придумано и очень широко представлено на рынке и врятли можно будет сделать дешевле и быстрее.
По поводу коммерческой составляющей- FTDI(3$)+ST485N(1$)+2$ рассыпуха и никакого гемороя с поиском чипа который будет определять скорость.На практике сделал порядка 20 экземпляров-всё работает окей.Если покупать на фирме то rs232-rs485 и usb-rs485 будут стоить примерно одинаково-100$. Если делать дома на коленках то может быть.Но обычно считают так 1.Стоимость комплектации 2.Стоимость платы 3.Стоимость корпуса и разьемов 4.Стоимость упаковки и документации 5.Зарплата разработчику 6.Зарплата менеджера по закупкам 7.Зарплата бухгалтерии за оформление бумаг и безналичных расчетов 8.Амортизация оборудования 9.Стоимость средств связи и интернета 10.Стоимость производства 11.Какой никакой но нужен навар Намеренно опускаю лицензионные и сертификационные затраты.Хотя они стоят недохло. Может что забыл но в нашей лавке все так грустно и печально Кроме того насколько я помню конвертеры уже подешевели до 50$(само собой с учетом скидок тех фирм где мы постоянно закупаемся)
|
|
|
|
|
Apr 5 2006, 06:21
|

Участник

Группа: Свой
Сообщений: 45
Регистрация: 28-10-05
Из: Челябинск
Пользователь №: 10 198

|
Цитата(plan @ Apr 5 2006, 08:03)  А может имеет смысл сделать преобразователь usb-rs485 (использовать ft232bm и adm483). Лечить больную голову путем ее отсечения - не есть гуманный выход  Извините за шутку. Rs232 имеет кучу своих достоинств, продолжает широко использоваться и встраивается не только в PC. Цитата(plan @ Apr 5 2006, 08:03)  FTDI имеет вывод для переключения направления передачи.В компе эта система будет видеться как обычный ком порт и направлением передачи не надо управлять - всё работает в автомате. Если Вы внимательно посмотрите на настройки того же самого виртуального ком-порта, то увидите, что имеют место быть таймауты приемо-передачи. А это как раз не "автомат". Мои соображения по поводу того, что микруха в I-7xxx является микроконтроллером: 1. Если она и микроконтроллер, то без кварца, и тогда с внутренним RC. Выше 4MHz я внутренние точные кварцы не видал. Отсюда получается, что на высоких скоростях (115200 бод) прога для этой микрухи весьма критична к циклу замера и ретрансляции. Поэтому думаю, что задача решена не в лоб - замером длительности. 2. Скорее имеет место быть логическая цепочка....например на заранее определенные скорости, возможно задействован как-то АЦП. Но логика эта пока для меня не прозрачна. Подумаем вместе?
|
|
|
|
|
Apr 5 2006, 06:34
|

Участник

Группа: Участник
Сообщений: 73
Регистрация: 23-12-05
Из: Украина Днепродзержинск
Пользователь №: 12 599

|
Цитата(Sir Jon @ Apr 5 2006, 10:21)  Если Вы внимательно посмотрите на настройки того же самого виртуального ком-порта, то увидите, что имеют место быть таймауты приемо-передачи. А это как раз не "автомат". Я имел ввиду,что пока передаваемый байт не вылезеть весь наружу из приёмопередатчика чип будет удерживать вывод направления передачи в 1. После этого система переводится в состояние приёма.
|
|
|
|
|
Apr 5 2006, 15:15
|

Участник

Группа: Свой
Сообщений: 45
Регистрация: 28-10-05
Из: Челябинск
Пользователь №: 10 198

|
Цитата(rezident @ Apr 5 2006, 16:12)  Для посимвольной передачи - чем быстрее тем лучше. А для RTU-ной пакетной передачи желательно не менее 3,5 символов удерживать. Чтобы помехи при переключении линии не попали в пакет. Потому я и просил обосновать необходимость автоматическоого переключения передачи при том, что неизвестен заранее алгоритм переключения и тип протокола связи. В том и интерес, что адаптер заранее не знает, что и как Вы собираетесь передавать. Можно лишь наложить некие ограничения на формат передаваемых данных. Но мы удалились от проблемы... Сопоставляя цену адаптера (50$) и базу используемых компонентов - потихоньку начинаю склояться к мысли, что задача решена все таки аналогово и возможно очень просто. Подумаем еще? Цитата(Abo @ Apr 5 2006, 17:13)  Текущая скорость выбиралась состоянием ног DTR и RTS. Прошу прощения за тугодумство, но это как? Логически - и четыре доступные скорости или как-то еще?
|
|
|
|
|
Apr 5 2006, 20:22
|
Гуру
     
Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882

|
Цитата(Sir Jon @ Apr 5 2006, 21:15)  В том и интерес, что адаптер заранее не знает, что и как Вы собираетесь передавать. Можно лишь наложить некие ограничения на формат передаваемых данных. Угу. Вот уже началось. Ограничения.  Цитата(Sir Jon @ Apr 5 2006, 21:15)  Сопоставляя цену адаптера (50$) и базу используемых компонентов - потихоньку начинаю склояться к мысли, что задача решена все таки аналогово и возможно очень просто. Ну еще вариант. Складывайте в ОЗУ битовую последовательность с временами интервалов между переходами 1->0 и 0->1. Затем анализируйте минимальный интервал времени в этой последовательности и делайте вывод о скорости передачи. Глубину выборки не подскажу. Это опять же зависит от формата используемого протокола и диапазона поддерживаемых конвертором скоростей передачи. Кстати, напомню еще об одном нюансе RS485. Для качественной связи посредством RS485 нужно не только определенное время удерживать драйвер RS485 в состоянии передачи, но еще и задерживать битовую последовательность в самом начале после переключения драйвера с приема на передачу. Потому что переключение драйвера может привести к переходному процессу в линии, который воспримется приемником как ошибочно принятый символ или первый символ будет принят неверно. Частично эта проблема решается введением "растяжки" линии (к линии A pull-up резистор, а к линии B pull-down), но это не панацея. Введение задержки на передачу битового потока это более корректное решение. Тут опять же вопрос возникает, а на сколько задерживать битовый поток? Очевидно, что для того же RTU-ного протокола не менее 3,5 символа. Для посимвольной передачи, достаточно 1,2-1,5 символа. А когда протокол заранее не известен? Итого имеем, что автомат конвертора RS233-RS485 должен выполнять как минимум три функции. 1. задерживать битовый поток при передаче от RS232 в линию RS485 2. удерживать линию RS485 в состоянии передачи после окончания битового потока на его выходе 3. определять скорость передачи и/или частоту битового потока (для реализации первых двух функций) P.S. еще забыл функцию блокирования локального "эха"
|
|
|
|
|
Apr 6 2006, 03:44
|

Участник

Группа: Свой
Сообщений: 45
Регистрация: 28-10-05
Из: Челябинск
Пользователь №: 10 198

|
Цитата(rezident @ Apr 5 2006, 23:22)  3. определять скорость передачи и/или частоту битового потока (для реализации первых двух функций) Отлично. Я так понимаю склоняемся к варианту, что тюнер - дешевый МС. Я рассуждал так. 1. Берем дешевенький MC - например PIC12f629 с внутренним тактовым генератором 4MHz 2. Для того, чтобы вычислять длительность - нужен таймер. 3. У пика приращение таймера 1/4*Fosc = 1MHz 4. Берем критичную максимальную (но не самую) скорость обмена 115200. 5. Отсюда, для замера длительности и на все про все нам отведено максимум 1000000/115200 = 8 инструкций 6. Напрашивается вывод - это не реально. Нужен MC с частотой как минимум в 10 раз выше. А это уже другая ценовая категория. P.S Я все-таки подцеплю виртуальник к I-7520 и проверю как он нормирует длительность в разных режимах. Думаем дальше?
|
|
|
|
|
Apr 6 2006, 12:27
|

Местный
  
Группа: Свой
Сообщений: 263
Регистрация: 7-10-05
Из: UA
Пользователь №: 9 342

|
Смотрели мы ICP-какой-то там с "автоопределением скорости"... Там внутре совершенно тупая схема: вход передатчика RS-485 просто положен на землю, а приходящий по RS-232 сигнал TX включает (в линию передается "0") и выключает ("передается" с помощью растягивающих резисторов "1") передатчик. Что-то наподобие "Общего коллектора" в ТТЛ  . А мы долго удивлялись, почему у нас связь барахлила в полевых условиях, пока не глянули осциллографом на несимметричные сигналы... ;(
--------------------
Gray©at
|
|
|
|
|
Apr 7 2006, 09:02
|

Участник

Группа: Свой
Сообщений: 45
Регистрация: 28-10-05
Из: Челябинск
Пользователь №: 10 198

|
Итак, ясность наступила. После прощупывания I-7520 виртуальником родился ответ. RS232 тюнер по всей видимости обычная "логика". GrayCat - respect  . Теперь вход передатчика не "положен на землю". Сделано все по-модному и как полагается - вход заведен на чип-тюнер. Однако смысл остался прежний. Девайс постоянно работает на прием, но как только начинается передача, а точнее низкий уровень - передатчик переключается на передачу. Осцилограммы прилагаю. Дальше без комментариев. Всем спасибо за интересную дискуссию. Тема закрыта.
Эскизы прикрепленных изображений
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|