реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Closed TopicStart new topic
> RS232 тюнер
Sir Jon
сообщение Apr 4 2006, 10:52
Сообщение #1


Участник
*

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



Возникла такая задача: на ходу определять скорость приемо-передачи rs232....ну скажем до 115200 бод.
Может кто сталкивался с такой задачей и знает как ее решить наиболее просто и красиво? Хочу отметить, что вариант использования простенького MC, видимо отпадает из-за требуемых внутренних высоких частот и как следствие высокой стоимости.
Go to the top of the page
 
+Quote Post
ipc
сообщение Apr 4 2006, 10:58
Сообщение #2


Знающий
****

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



Задача очень странная потому как rs232 не шинный интерфейс и в общем случае в такой сети может быть только два устройства один мастер и один слейв.
Неужели нельзя заранее определится со скоростями.
В любом случае если скорость одна из стандартных(1200,2400,4800,9600 итд) и известно количество стоповых и стартовых битов то можно обойтись перебором скоростей снизу вверх.
Go to the top of the page
 
+Quote Post
rezident
сообщение Apr 4 2006, 11:43
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Скорость передачи обычно определяют путем измерения длительности стартового бита при передаче символа 0xFF.
Go to the top of the page
 
+Quote Post
Sir Jon
сообщение Apr 4 2006, 11:58
Сообщение #4


Участник
*

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



Наверное я не очень полно описал задачу. Прошу прощения. Такая задача возникает при разработке преобразователя rs232 -> любой полудуплексный интерфейс (rs485 например), когда необходимо управлять переключением прием/передача...с установленными тайм-аутами (как правило в знаках, 1.5-3.5 знака). Поэтому и возникает задача определять скорость автоматом....ну и щелкать приемопередатчиком соответственно.
Go to the top of the page
 
+Quote Post
rezident
сообщение Apr 4 2006, 23:17
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



В нашем конверторе RS232-RS485, например, с помощью SMD-switch скорость выбирается. В сети RS485 обычно один мастер и на одной скорости общение идет. Обоснуйте необходимость автоматического определения скорости передачи. ИМХО это конечно удобно, но не совсем целесообразно.
Go to the top of the page
 
+Quote Post
Sir Jon
сообщение Apr 5 2006, 03:24
Сообщение #6


Участник
*

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



Сделать обычный rs232 -> rs485 задача тривиальная. С ручным переключением скоростей - интересная. С автоматическим определением - достойная подражания ИМХО это уже реализовано не у одного производителя. Разобрав дешевый ICP-DAS I-7xxx, я не увиделел ничего интересного, кроме одной микрухи...которая и служит тюнером rs323, т.е. вычисляет (замеряет) скорость приемо/передачи и соотв. щелкает приемо-передатчиком. Отсюда и интерес КАК?
Go to the top of the page
 
+Quote Post
ipc
сообщение Apr 5 2006, 04:56
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 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.
Go to the top of the page
 
+Quote Post
plan
сообщение Apr 5 2006, 05:03
Сообщение #8


Участник
*

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



А может имеет смысл сделать преобразователь usb-rs485 (использовать ft232bm и adm483).FTDI имеет вывод для переключения направления передачи.В компе эта система будет видеться как обычный ком порт и направлением передачи не надо управлять - всё работает в автомате.
Go to the top of the page
 
+Quote Post
ipc
сообщение Apr 5 2006, 05:21
Сообщение #9


Знающий
****

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



Цитата(plan @ Apr 5 2006, 09:03) *
А может имеет смысл сделать преобразователь usb-rs485 (использовать ft232bm и adm483).FTDI имеет вывод для переключения направления передачи.В компе эта система будет видеться как обычный ком порт и направлением передачи не надо управлять - всё работает в автомате.

Если дело только в спортивном интересе и повышении экспириенса то можно сделать все и даже более целесообразно использовать USB потому как RS-232 уходит в прошлое но если планируется коммерческая состовляющая то проще купить потому как все это уже придумано и очень широко представлено на рынке и врятли можно будет сделать дешевле и быстрее.
Go to the top of the page
 
+Quote Post
plan
сообщение Apr 5 2006, 06:00
Сообщение #10


Участник
*

Группа: Участник
Сообщений: 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$.
Go to the top of the page
 
+Quote Post
ipc
сообщение Apr 5 2006, 06:07
Сообщение #11


Знающий
****

Группа: Свой
Сообщений: 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$(само собой с учетом скидок тех фирм где мы постоянно закупаемся)
Go to the top of the page
 
+Quote Post
Sir Jon
сообщение Apr 5 2006, 06:21
Сообщение #12


Участник
*

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



Цитата(plan @ Apr 5 2006, 08:03) *
А может имеет смысл сделать преобразователь usb-rs485 (использовать ft232bm и adm483).


Лечить больную голову путем ее отсечения - не есть гуманный выход smile.gif Извините за шутку. Rs232 имеет кучу своих достоинств, продолжает широко использоваться и встраивается не только в PC.

Цитата(plan @ Apr 5 2006, 08:03) *
FTDI имеет вывод для переключения направления передачи.В компе эта система будет видеться как обычный ком порт и направлением передачи не надо управлять - всё работает в автомате.


Если Вы внимательно посмотрите на настройки того же самого виртуального ком-порта, то увидите, что имеют место быть таймауты приемо-передачи. А это как раз не "автомат".

Мои соображения по поводу того, что микруха в I-7xxx является микроконтроллером:
1. Если она и микроконтроллер, то без кварца, и тогда с внутренним RC. Выше 4MHz я внутренние точные кварцы не видал. Отсюда получается, что на высоких скоростях (115200 бод) прога для этой микрухи весьма критична к циклу замера и ретрансляции. Поэтому думаю, что задача решена не в лоб - замером длительности.
2. Скорее имеет место быть логическая цепочка....например на заранее определенные скорости, возможно задействован как-то АЦП. Но логика эта пока для меня не прозрачна.

Подумаем вместе?
Go to the top of the page
 
+Quote Post
plan
сообщение Apr 5 2006, 06:34
Сообщение #13


Участник
*

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



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

Я имел ввиду,что пока передаваемый байт не вылезеть весь наружу из приёмопередатчика чип будет удерживать вывод направления передачи в 1. После этого система переводится в состояние приёма.
Go to the top of the page
 
+Quote Post
rezident
сообщение Apr 5 2006, 13:12
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Определить условие для переключения драйвера RS485 на передачу не хитро (отловил перепад 1->0 на входе и переключай), а вот как узнать сколько времени удерживать драйвер RS485 в состоянии вывода? Для посимвольной передачи - чем быстрее тем лучше. А для RTU-ной пакетной передачи желательно не менее 3,5 символов удерживать. Чтобы помехи при переключении линии не попали в пакет.
Потому я и просил обосновать необходимость автоматическоого переключения передачи при том, что неизвестен заранее алгоритм переключения и тип протокола связи.
Go to the top of the page
 
+Quote Post
Abo
сообщение Apr 5 2006, 14:13
Сообщение #15


Частый гость
**

Группа: Свой
Сообщений: 101
Регистрация: 9-01-06
Пользователь №: 12 967



А у нас сделали просто - поставили перезапускаемый одновибратор на 555АГ3 или АГ4(уже не помню) с коммутатором времязадающих RC цепей, подобрали длительность импульса равным длительности передачи байта для необходимых скоростей. Текущая скорость выбиралась состоянием ног DTR и RTS. Выход одновибратора - на вход управления драйвером RS485. И все. Но это было лет 7 назад. На сегодня конечно лучше FTDI и в USB (IMHO).
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Closed TopicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 00:22
Рейтинг@Mail.ru


Страница сгенерированна за 0.01501 секунд с 7
ELECTRONIX ©2004-2016