Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Связь по СОМ порту  (Прочитано 25896 раз)
0 Пользователей и 5 Гостей смотрят эту тему.
Torvard
Постоялец

ua
Offline Offline

« : 06-05-2004 08:07 » 

У нас тут поставили новую цифровую АТС, к ней по СОМ порту присобачен комп, на котором ведется БД соединений для последующей тарификации, надо передвинуть этот комп в другое помещение, возник вопрос есть ли ограничение расстояния на связь по СОМ-порту, и если есть то какое?
Записан

Тот, кто смеется последним, думает медленне других.
x77
Команда клуба

ro
Offline Offline
Пол: Мужской
меняю стакан шмали на обратный билет с Марса.


« Ответ #1 : 06-05-2004 08:34 » 

Torvard, в зависимости от используемого протокола. RS-232 - 15 метров, RS-232-C ограничение на длину якобы не имеет, но имеет ограничение на максимальную ёмкость - 2500 пф. на деле больше 15 метров используется редко, т.к. чем длинне кабель и чем выше скоростные характеристики (макс - 20000 бод), тем сильнее искажения сигнала. при необходимости можно извратиться и поставить два переходника, (RS232-RS485-RS232), с 232 на 485. а длина RS-485 - до 1200 метров, причём допускает наращивание до 4800 через репитеры.

5 км тебе хватит? Ага
Записан

RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #2 : 06-05-2004 08:40 » 

У меня стабильно работает 19200 на 20 метров. Кабель - витая пара 5-ой категории.
Если будут проблемы - пиши - еще советов накидаем.
Для очень больших растояний существуют конверторы RS232-Ethernet и медиаконверторы для ethernet (UTP в оптику).
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
x77
Команда клуба

ro
Offline Offline
Пол: Мужской
меняю стакан шмали на обратный билет с Марса.


« Ответ #3 : 06-05-2004 09:01 » 

на самом деле, очень много зависит от скорости и напряжений на выходе.

Код:

Скорость, бод      Длина экран. кабеля, м       Длина неэкран. кабеля, м
=========================================================================
          110                 1524                        914
          300                 1524                        914
         1200                  914                        914
         2400                  304                        152
         4800                  304                         76
         9600                   76                         76


это данные для +-15В. т.е. смысл в том, что поставить можно и на 100 метров, но тогда надо либо ограничить скорость самого сом-порта, либо использовать усилитель, если не ошибаюсь, hub-rs232.
Записан

x77
Команда клуба

ro
Offline Offline
Пол: Мужской
меняю стакан шмали на обратный билет с Марса.


« Ответ #4 : 06-05-2004 09:03 » 

и, кстати, самый простой метод борьбы с возможными помехами - это именно ограничение скорости сом-порта.
Записан

RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #5 : 06-05-2004 10:07 » 

Учитывая, что RS232 работает по принципу токовой петли, а приемники, обычно, имеют высокое входное сопротивление, можно поставить параллельно приемникам нагрузочные резисторы - это увеличит ток в цепи и снизит влияние емкости линии. Как побочный эффект - падение напряжения на приемнике. Хотя по стандарту нижний предел напряжения для приемника +-3В, встречаются устройства, которые не хотят работать уже с +-9В (PC выдает +-12В, а ноутбуки, как правило, +-9В).
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Torvard
Постоялец

ua
Offline Offline

« Ответ #6 : 06-05-2004 10:18 » 

Сенкс за информацию...... бум мозговать....... Улыбаюсь
Записан

Тот, кто смеется последним, думает медленне других.
Alf
Гость
« Ответ #7 : 06-05-2004 22:50 » 

RS-232 - и вдруг "по принципу токовой петли"?..
Что-то совершенно новенькое.
Записан
Кот
Гость
« Ответ #8 : 07-05-2004 04:07 » 

на 9600 витая пара пятерка метров 70 будет пахать без проблем проверено на практике много раз.

"токовая петля" один из вариантов подключения к 232-ому. А так он в общем то всетаки не токовая петля - либо мне надо завязывать с пивом
Записан
М.Валера
Гость
« Ответ #9 : 07-05-2004 05:18 » 

Torward, здесь ещё проблема - удлинитель RS, любой, меж двух комнат даже, чреват уравнительными токами по ЛС... Надо гальваническую развязку, на обеих концах линии, заодно и проблему длины ЛС несложно решить.
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #10 : 07-05-2004 06:22 » 

Alf, ни чего нового. Сигнал передатчика замыкается через нагрузку приемника и возвращается по земле - разве не токовая петля? То, что приемник реагирует на напряжение, а не ток, ничего не меняет.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Lex
Специалист

ru
Offline Offline

WWW
« Ответ #11 : 07-05-2004 08:37 » 

RXL, RS232 работает с напряжениями. Да очень популярны развязки RS232 через токовую петлю, но это уже не стандартный RS232.
Записан

Megabyte be with you!
Alf
Гость
« Ответ #12 : 07-05-2004 20:06 » 

Цитата: RXL
Alf, ни чего нового. Сигнал передатчика замыкается через нагрузку приемника и возвращается по земле - разве не токовая петля? То, что приемник реагирует на напряжение, а не ток, ничего не меняет.
Еще как меняет.
Токовая петля - абсолютно другой интерфейс. Достаточно упомянуть, что у токовой петли в типичной реализации (советская реализация называлась ИРПС, наиболее знакомый мне буржуйский аналог от фирмы DEC назывался DL-11C):
1. Имелась гальваническая развязка через оптроны. Какой RS-232 может этим похвастаться?
2. Линия связи была симметричной (RS-232 асимметричен по определению).
3. Асинхронный старт-стопный обмен осуществлялся по двум парам проводов - прием и передача (теоретически допустима третья - готовность приемника, но практически не реализовывалась в терминальных комплексах). Никаких дополнительных синалов для управления оборудованием передачи данных не предусмотрено в принципе.
4. Сигналы передаются значениями тока: лог. 0 - 0..3 мА, лог. 1 - 15..25 мА (наиболее типичная реализация токовой петли 20 мА; в принципе была еще петля 40 мА, но мне никогда не попадалась). Как следствие, оптимальная нагрузка для токовой петли - короткое замыкание линии (а вовсе не высокоомные приемники, как в RS-232).

Предвидя обвинения в буквоедстве и излишней вредности, могу лишь сказать в свое оправдание, что начало моей компьютерной деятельности связано с эксплуатацией мэйнфреймов, которые были со всех сторон обвешаны подобными интерфейсами. Поэтому для меня утверждение, что RS-232 является разновидностью токовой петли, выглядит странновато. Вроде как приверженцу Unix рассказать, что X-Window является клоном MS Windows. А как же иначе, ведь там тоже курсор по экрану мышкой двигать можно?
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #13 : 07-05-2004 23:15 » 

Alf, да-да, именно в букоедстве  Ага Отлично

Извиняюсь, но хочу написать офтопик.

ИРПС, который ты упомянут, судя по описанию, с RS232 имеет мало общего.

Я же говорил о физической цепи, а не о принцепах работы приемников.

О согласованной нагрузке не мало писано, но стоит упомянуть, в контексте емкости линии, что, при перемене знака на стороне передатчика RS232, нагрузка приемника помогает разрядить заряд, накопленный линией передачи. Можно составить формулу нарастания напряжения для данного участка цепи (приемника) и найти оптимальное значение нагрузки. Конечно, для этого надо знать параметры кабеля. Для "ихнего" кабеля витой пары 5-ой категории я нашел только нормирование сечения кабеля (да и то для ethernet), а о емкости я не читал. Допускаю, что плохо искал.

Кстати, не в тему, как-то давно пробовал (подключал ZX Spectrum к PC) ставить (по глупости, по незнанию) шунты 50 Ом (тупая логика - кабель был коаксиал 50 Ом) на линии RS232 (от PC) и приемники (MAX232) работали - напряжения вполне хватало.

Еще одно "кстати" - термин петля в связи применяется часто, и не всегда это означает возвращение сигнала или тока. Например теримен loop в отношении цифровых потоков.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Alf
Гость
« Ответ #14 : 08-05-2004 20:24 » 

Согласен, что писано о согласованных нагрузках и впрямь немало. Например, написано, что согласуется нагрузка для длинных линий связи. А длинной является линия, длина которой существенно превосходит длину волны сигнала. Полагаю, что при частоте 115 кГц эта длина порядка этак на 2 превысит ту, что нужна Torvard'у.

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

Так что если по существу, то самое корректное решение - либо понижать скорость, если позволяет АТС, либо использовать магистральные приемопередатчики. Самое правильное решение - использовать приемопередатчики с симметричными входами/выходами, тогда можно использовать витую пару и не бояться синфазных помех. Использование же витой пары с несимметричным RS-232 не имеет смысла, поскольку в этом случае она ничуть не лучше обычного пучка проводов, а кое-в чем и похуже.

Термин "петля" и не только в связи применяется часто, например, палачами и швеями-мотористками. Тем не менее смысл "токовой петли" от этого не меняется.
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #15 : 11-05-2004 09:52 » 

Alf, насчет "самого корректного решения" я не спорю. Несколько цифровых АТС, которые мне встречались, работали с меньшими скоростями (9600..19200). Большие скорости для АТС офисного или учрежденческого класса и не нужны.

Выбор витой пары простой - она у меня была в наличии.

Попробую как-нибудь на симуляторе проверить зависимость ачх от сопротивления нагрузки. Там видно будет - глупость ли я сморозил, или есть смысл.

Швеи - это конечно замечательно Отлично Я то "кстати" привел потому, что мне показалось, что мою петлю путают с другой петлей...
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Alf
Гость
« Ответ #16 : 11-05-2004 12:21 » 

RXL, у меня, к сожалению, нет подходящего софта, чтобы построить такую модель... Хотя, если вспомнить юность с паяльником и заветы Хоровица и Хилла, которые учили рассчитывать любую схему на обороте конверта, можно прикинуть качественную картину, которая вряд ли сильно разойдется с самой точной моделью  Улыбаюсь

1. Считаем омическое сопротивление нагрузки очень высоким, тогда передатчик интерфейса работает на заряд/разряд емкости линии.
Обозначим:
Rg - выходное сопротивление передатчика,
Cl - емкость линии связи монтажа,
тогда получаем классический RC-фильтр низкой частоты с коэффициентом пропускания по постоянному току 1 и циклической частотой среза 1/(Rg*Cl).

2. Считаем омическое сопротивление нагрузки равным выходному импедансу передатчика и волновому сопротивлению линии (как, собственно, и делают при согласовании линии). Включаем резистор Rl параллельно емкости нагрузки Cl.
Получаем: по постоянному току - делитель напряжения в 2 раза, по переменному - фильтр низкой частоты с частотой среза
1/((Rg/2)*Cl) = 2/(Rg*Cl)

Итог: шунтируя приемник сигнала резистором, сравнимым с выходным импедансом передатчика, мы сразу же получаем ослабление низкочастотного сигнала по амплитуде в 2 раза. Правда, частота среза получившегося фильтра в 2 раза выше, чем для исходной цепи. Однако во всем диапазоне частот от 0 до бесконечности амплитуда сигнала во 2-м случае будет ниже.
Как уже совершенно справедливо отмечалось выше, зачастую приемники RS-232 весьма болезненно воспринимают понижения уровня входного сигнала, поэтому подобное "согласование" способно только ухудшить ситуацию. Конечно же, можно при помощи компараторов восстановить уровни сигнала. Но если уж браться за паяльник, то лучше все же поставить дифференциальный магистральный приемо-передатчик, благо они уже лет 20 назад выпускались в виде микросхем.

Любопытно будет ознакомиться с результатами моделирования этой схемы. Еще любопытнее будет, если наши результаты не совпадут.  Улыбаюсь
Записан
Anonymous
Гость
« Ответ #17 : 11-05-2004 14:09 » 

Alf, ну, по крайней мере, схема у нас совпадает. Данные: Cл=50пФ/м, Rпр=5..10k,  Rи=Rпр/(5-10).
Записан
Anonymous
Гость
« Ответ #18 : 11-05-2004 14:11 » 

Это был RXL - тороплюсь - почеловечески некогда было сделать. Емкость может быть и меньше - прибор в "нуле" показывал 155пФ. Проверял на 10м отрезке.
Записан
Alf
Гость
« Ответ #19 : 11-05-2004 14:52 » 

Цитата: Anonymous
Это был RXL - тороплюсь - почеловечески некогда было сделать. Емкость может быть и меньше - прибор в "нуле" показывал 155пФ. Проверял на 10м отрезке.

Если емкость маленькая и шунтирующий резистор большой, тогда и моделировать неинтересно - оба случая практически совпадут, т.к. завал АЧХ будет на высокой частоте за пределами интересующего нас диапазона.
Как раз самое интересное - это поглядеть, что будет, когда постоянная времени RC-цепи, образованной выходным импедансом передатчика и емкостью соединительной линии, сравнима с периодом сигнала, ведь именно в этом случае и произойдет завал фронтов, с которым мы тут боремся совместными усилиями.
Кстати, хочу проверить, не растерял ли еще окончательно свою интуицию, когда предал железо и подался в программеры... А интуиция подсказывает следующее (придется сделать неуклюжую попытку описать графики АЧХ словами):
1-й график (без резистора) начинается как прямая y=1, которая тянется до частоты излома f1=1/(R*C), затем начинается спад 6 дБ/октава;
2-й график (вход приемника шунтирован резистором R) начинается как прямая y=1/2, которая тянется до частоты излома f2=2/(R*C), затем начинается спад 6 дБ/октава.
В общем, вот грубое подобие:
Код:


 1 +----------\
   |            \
   |              \
1/2+----------------\
   |                  \
   |                    \
 0 +---------+------+------>
             f1     f2

Поскольку крутизна спада обоих фильтров одинакова, частоты среза отстоят как раз на октаву, а коэффициент передачи по постоянному току во втором случае меньше в аккурат на 6 дБ, мне видится такая картина: сначала обе прямые идут параллельно, затем на некоторой частоте f1 верхняя переламывается и идет вниз, на частоте f2=2*f1 переламывается нижняя, и далее обе сливаются.
Для чистоты эксперимента все соображения привел здесь, не прикидывая на бумаге. Интересно, что нарисует моделирующая программа?
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #20 : 11-05-2004 19:50 » 

Был у меня electronic workbench, да куда-то делся. Будем делать программно:
Код:
#include "stdio.h"
#include "math.h"

#define PI 3.1415926535897932384626433832795

int main(int argc, char* argv[]) {
double r1=500; // Rи
double r2=5000; // Rпр
// double r2=2500; // Rпр
double c=1000e-12; // Cл
double f1=9600;
double f2=1e6;
double r,x,u,f;

for(f=f1;f<f2;f*=sqrt(2)) {
x=1/(2*PI*f*c);
r=(r2*x)/(r2+x);
u=r/(r+r1);
printf("%8d %.4f (%.2f)\n",(int)f,u,20*log(u)/log(10));
}
return 0;
}

/*

Rпр=5k

     f       k      dB
    9600 0.8848 (-1.06)
   13576 0.8752 (-1.16)
   19200 0.8618 (-1.29)
   27152 0.8437 (-1.48)

   38400 0.8192 (-1.73)
   54305 0.7870 (-2.08)
   76800 0.7456 (-2.55)
  108611 0.6939 (-3.17)
  153600 0.6319 (-3.99)
  217223 0.5610 (-5.02)
  307200 0.4842 (-6.30)
  434446 0.4057 (-7.84)
  614400 0.3300 (-9.63)
  868892 0.2611 (-11.66)

Rпр=2.5k

    9600 0.8129 (-1.80)
   13576 0.8047 (-1.89)
   19200 0.7935 (-2.01)
   27152 0.7780 (-2.18)
   38400 0.7572 (-2.42)
   54305 0.7296 (-2.74)
   76800 0.6938 (-3.17)
  108611 0.6488 (-3.76)
  153600 0.5943 (-4.52)
  217223 0.5312 (-5.49)
  307200 0.4619 (-6.71)
  434446 0.3899 (-8.18)
  614400 0.3195 (-9.91)
  868892 0.2545 (-11.89)

>--[ R1 ]--+--[ R2 ]--|
           |      C
           +------||--|
*/
« Последнее редактирование: 25-11-2007 20:45 от Алексей1153++ » Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #21 : 11-05-2004 19:57 » 

Т.е. приближенно ты прав, но примая не шибко прямая.
Параметры я подставил не совсем реальные, но так нагляднее. Нагрузку на входе взял из даташита max232. Сопротивление источника  - оттуда же, но косвенно - по току КЗ и номинальному напряжению. Ну и немного округлил.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Alf
Гость
« Ответ #22 : 11-05-2004 21:20 » new

Конечно же, идеальную прямую пассивным RC-фильтром первого порядка получить невозможно, я говорил про аппроксимацию в пределах 3 дБ. В таком приближении можно представить АЧХ как состоящую из двух прямых - горизонтальной до точки перегиба -3 дБ и наклонной 6 дб/октава - после точки перегиба.

Самое главное, что твои количественные расчеты подтверждают качественные выводы, который я сделал ранее:

1) шунтируя нагрузку параллельным резистором, ты понижаешь уровень сигнала на низких частотах (сравни k для f=9600).

2) во всей полосе частот шунт только гасит сигнал (сравни значения k - во втором случае они всегда меньше, чем в первом, ожидаемого подъема на верхних частотах нет, да и неоткуда ему взяться).

3) на достаточно высоких частотах k слабо зависит от номинала шунтирующего резистора (на частоте 868892 изменение шунта вдвое меняет значение k от 0.2611 до 0.2545, на стрелочном индикаторе без растянутой логарифмической шкалы такую разницу трудновато будет замерить). То есть, как и предполагалось, все семейство кривых для разных номиналов шунта на высокой частоте имеют тенденцию к слиянию.

4) (IMHO самый важный вывод): если придерживаться классического правила определять полосу пропускания фильтра на уровне -3 дБ, то для нагрузки 5к полоса составляет 108611, а для 2.5к - 76800... Результат, как говорится, налицо.

Итак, я из вышесказанного делаю вывод: шунтирование нагрузки в данном случае не приносит ничего, кроме вреда, т.к. подавляет полезный сигнал во всей полосе и одновременно сужает полосу пропускания. Согласен?

Конечно, согласование нагрузки с линией - это отдельная история... Но чтобы согласование начало работать, необходимо, чтобы длина линии была как минимум сопоставима с длиной волны, а для нашего диапазона 100 кГц это примерно 3 км, явно не наш размерчик... У нас линия короткая, а следовательно, распределенностью ее параметров вполне можно пренебречь и рассматривать как сосредоточенную емкость, подключенную параллельно нагрузке.
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #23 : 12-05-2004 07:50 » 

Ничего не остается как согласиться.
Тем более что в max232 уже стоит нагрузочный резистор 5к. Правда, конструкции других приемников могут отличаться. К сожалению, на некоторые микросхемы, известные мне, которые применяются в буферах rs232, спецификацию найти трудно.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines