Автоопределение скорости в преобразователях RS232->RS485

Do you have a question? Post it now! No Registration Necessary

Threaded View
Hello Sergey!

27 Jun 03 09:53, Sergey G. Shipilov wrote to Tadas:

[...]

 SS> Обычно в примерах применения процессора производитель
 SS> любит давать реализацию последовательного протокола.
 SS> Чаще всего - с автоопределением скорости...
 SS> Метод простой - мастер передает заранее определенную
 SS> серию кодов до тех пор, пока не получит отклика от ведомого.
 SS> А тот, в свою очередь, пытается, меняя частоты, настроиться на
 SS> прием известного кода. Как поймал - так ответил.
 SS> Обычно в качестве тестового байта посылают что-то типа 0x55 или 0xAA.

Вредности ради :-) Возьми любую терминальную программу, состыкуйся с
произвольным модемом и попробуй обнаружить тот самый тестовый байт ;-)

Автоопределение скорости - исключительно задача софта оконечного устройства,
без участия "особенностей" писюкового софта. Hint: преамбула AT (at) для
модемов - не просто так, при этом налагаются требования одинакового регистра
для обоих символов...



73 & Cheerio!   Andy.

Автоопpеделение скоpости в пpеобpазователях RS232->RS485
Hello, Sergey!

27 Июн 03 09:53, Sergey G. Shipilov -> Tadas:
 >>
 >> У них обычно какой нибyдь PIC внyтpи стоит.
 >> Видимо он и занимается этим.
 >> Hо как ? Видимо дополнительные байты пеpедавать нyжно ?
 SS> Обычно в пpимеpах пpименения пpоцессоpа пpоизводитель
 SS> любит давать pеализацию последовательного пpотокола.
 SS> Чаще всего - с автоопpеделением скоpости...
 SS> Метод пpостой - мастеp пеpедает заpанее опpеделеннyю
 SS> сеpию кодов до тех поp, пока не полyчит отклика от ведомого.
 SS> А тот, в свою очеpедь, пытается, меняя частоты, настpоиться на
 SS> пpием известного кода. Как поймал - так ответил.
 SS> Обычно в качестве тестового байта посылают что-то типа 0x55 или 0xAA.
    Hичего там пеpедавать не нyжно. Я pаботал с какими-то Adam-ами, никаких
дополнительных байт они не тpебyют.
    Я, конечно, точно не знаю, как они pаботают, но есть пpедположение, что они
пpосто семплиpyют входной сигнал с частотой pаз в десять больше максимальной
частоты смены битов. Если пpеобpазователь pаботает именно по такомy алгоpитмy,
то тогда емy по баpабанy и скоpости, и пpотоколы.


Re: Автоопределение скорости в преобразователях RS232->RS485


Quoted text here. Click to load it
прав?
Quoted text here. Click to load it
    витой паре, поэтому требуется коммутация на прием/передачу. Обычно
    преобразователь  RS485 включен на прием, а при поступлении байта от
    RS232 переключается на передачу на длительность байта. Обычно эта
    длительность выставляется джамперами в соответствии со скоростью
    передачи, или вообще используется отдельный сигнал с порта RS232. А вот
    как работают устройства с автоопределением скорости - загадка.

Спасибо, fixed.





Re: Автоопределение скорости в преобразователях RS232->RS485
сообщил/сообщила в новостях следующее:

Quoted text here. Click to load it
устройства,
Quoted text here. Click to load it
регистра
Quoted text here. Click to load it

Человек спросил - как можно сделать...
Для простейших случаев, когда есть аппаратно реализованный UART,
удобнее самопальный протокол с синхропоследовательностью и раскланиванием.
А если стоит DSP - конечно, можно напрямую измерять интервалы и декодировать
с первого знака...

Сергей.



Re: Автоопределение скорости в преобразователях RS232->RS485
Hello, Vyacheslav!
You wrote to Konstantin Morozov on Fri, 27 Jun 2003 08:46:39 +0000 (UTC):

 VO>   Что касательно сабжа - после "разборок" выяснилось - нету там
 VO> никакого   автоопределения скорости. Просто когда на входе RS-232
 VO> преобразователь   видит лог "0" (+3..+12V), он включает передатчик
 VO> RS-485 на выдачу лог "0"
 VO>   (дифференциальное отрицательное напряжение), когда на входе RS-232
 VO> обнаруживается переход 0->1 передатчик RS-485 переводится на
 VO> некоторое время (обычно равное длительности бита на максимальной
 VO> скорости - типа 10 мкс для 115200) на выдачу лог "1", затем
 VO> отключается.
 VO>   Затем лог "1" на линии удерживается слабенькими резисторами.
 VO>   Все гениальное - просто :-) (C) - не мой :-)

Смотрел я ICP CON i-7520, кидал ему на передачу фиксированные байты на
разных скоростях, все выглядит действительно так.  Однако, наверное не все
так просто. Внутри стоит self tune asic (как они его называют), для чего то
же они его ставят. То что описано выше можно сделать на тривиальном
одновибраторе. К тому же, зачем делать преобразователь с заведомо пониженной
помехоустойчивостью, если того же самого можно добиться на обычном
преобразователе, при установке максимальной скорости и работе на пониженных
скоростях (в случае с преобразователями ADAM у меня на столе прекрасно
работало). Вероятно такой способ применяется только в начале работы
преобразователя, а дальше накапливается какая то статистика происходит
постепенный переход в нормальный режим, в котором передается твердая
единица, а не на растяжке. Еще хочется сказать, что преобразователи i-7520
успешно применяются в производственных условиях, и если бы все обстояло
действительно так просто, то такого успеха не было бы.

With best regards, Serge.



Автоопределение скорости в преобразователях RS232->RS485
Hello Sergey!

01 Jul 03 11:03, Sergey G. Shipilov wrote to Andy Chernyshenko:

[...]
 SS> Человек спросил - как можно сделать...

Все есть в апликухах на кучу контроллеров общего применения.

 SS> Для простейших случаев, когда есть аппаратно реализованный UART,
 SS> удобнее самопальный протокол с синхропоследовательностью и
 SS> раскланиванием. А если стоит DSP - конечно, можно напрямую измерять
 SS> интервалы и декодировать с первого знака...

Вообще-то, DSP в модемах занимается несколько другими (более серьезными)
задачами. Связью с ПК заведует контроллер общего применения, который и
определяет скорость обмена, в том числе. Посмотри, если найдешь, самые старые
модемы протоколов V.22(bis) - там как правило в качестве Host Processor
использовался классический mcs-51. И его вполне хватало для прямых измерений
интервалов, что характерно ;-)



73 & Cheerio!   Andy.

Re: Автоопределение скорости в преобразователях RS232->RS485
сообщил/сообщила в новостях следующее:

Quoted text here. Click to load it

О чем я и написал  :-)

Quoted text here. Click to load it
старые
Quoted text here. Click to load it
измерений
Quoted text here. Click to load it

Так, почему же не хватит-то? Речь шла об АППАРАТНОМ USART. А на программном
уровне анализа - нет проблем. Хоть на MCS-51, хоть на PIC'е (как правильно
заметил -
аппликухи имеются...)    ;-)

Но вот что интересно - не верится как-то, что разработчики модема не стали
использовать
последователный порт MCS-51. Очень уж неудобно программно работать с
последовательным
каналом. Скорее, задействованы дополнительные ноги для начального
программного анализа,
а потом все-таки настраивается скорость передатчика...
Отсюда  вопрос - а ты сам знаешь, как это работает в модеме?
Или только констатируешь факт применения?

Сергей





Re: Автоопределение скорости в преобразователях RS232->RS485
Hello Andy!

Tuesday July 01 2003 22:51, Andy Chernyshenko sent a message to Sergey G.
Shipilov:

 AC> Вообще-то, DSP в модемах занимается несколько другими (более серьезными)
 AC> задачами. Связью с ПК заведует контроллер общего применения, который и
 AC> определяет скорость обмена, в том числе. Посмотри, если найдешь, самые
 AC> старые модемы протоколов V.22(bis) - там как правило в качестве Host
 AC> Processor использовался классический mcs-51. И его вполне хватало для
 AC> прямых измерений интервалов, что характерно ;-)

Hе только в самых стаpых. Вон у меня лежит GVC 14400 v.32/v.42bis, по поpту до
115200, внутpи (кpоме RC144DPI) - клон 8031 от Winbond с тактовой 22.118МГц.

■ Exit light, Enter night...
See you,
Сергей.


Re: Автоопределение скорости в преобразователях RS232->RS485
сообщил/сообщила в новостях следующее:

Quoted text here. Click to load it
анализировать
Quoted text here. Click to load it
последний
Quoted text here. Click to load it

Но тогда первый байт все равно пропадает для UART 'а.
Или первый байт надо весь принять программно?

Сергей



Site Timeline