Возможно ли получить от COM порта положительный уровень напряжения относительно вывода 5 (земля).Мне кажется что во время передачи 7 и 4 выходы установятся в состояние 1 а ей будут соответствовать отрицательный уровень. PS:У меня есть схема где микросхема питается положительным уровнем от COM порта с выходов 7 и 4.И у меня возникли сомнения в ее правильности.
В ком-порту единице соответствует +12 В, нулевому уровню -12 В относительно земли. Максимально допустимый ток 20 мА. Ноги эти (4, 7) при передаче обычно в единицу установлены. Если программа самописная, то это не проблема, или ты с устройством при помощи стандартного терминала общаешься? ЗЫ Похожие темы в этом разделе поднимались, на первых страницах. Посмотри, можнт найдёшь чего полезного.
Все сигналы RS-232C передаются специально выбранными уровнями, обеспечивающими высокую помехоустойчивость связи (рис.1.3.). Отметим, что данные передаются в инверсном коде (лоической единице соответствует низкий уровень, логическому нулю - высокий уровень). Вот ссылка:http://www.gaw.ru/html.cgi/txt/interface/rs232/index.htm
KingT А что считать единицей, а что нулём из -12 и +12 ? На всех моих машинах работает так, как я написал: лог. "0"=-12В, лог. "1"=+12В. И попробуйте переубедить мой вольтметр. ЗЫ =) На странице в вашей ссылке та же информация (картинка внизу)
На RS232 первоначально лог.1 соотевтствовало -15..-5 В, а нулю +5..+15. (ц) журнал радио не помню какой год. Сейчас RS232-контроллеры матерей -15..+3 В воспринимают как единицу, а выдают в качестве единицы -15..-5 В. Но возможно не все.
0x00786F72 Официально -3...+3 В объявлено нестабильным состоянием. Проверил экспериментально и установлено документально что на информационных выводах (TD, RD) отрицательное напряжение соответствует логической единице, а положительное напряжение - логическому нулю. В то время как на управляющих выводах (RTS, CTS, DSR, CD, DTR, RI) положительное напряжение соответствует логической единице, а отрицательное - логическому нулю. Странно, что в большинстве прочитанных мной статей этот вопрос обходится стороной. Да, положительный уровень напряжения находится в диапазоне +3...+25 В, отрицательный соответственно -3...-25 В. (На такие напряжения рассчитаны все приёмники). Открыл для себя, что передатчики ком-портов не боятся коротких замыканий на выходе. Максимальный выходной ток у них 10 мА, импеданс на выходе 3...7 кОм, входное сопротивление приёмника так же 3...7 кОм. KingT Монтаж проверяли, и исправность микросхемы? Да и здесь вместо этой мах232 подойдёт К561ЛН2 которая стоит 5 рублей и меньше потребляет.
Еще триггеры Шмидта можно заюзать - К555ТЛ2, например. В "Радио" 2005, 1-2 описано несколько преобразователей.
А лучше юзать CMOS. А у кого завалялось пару КТ315 с 4 резюками, то им советую их и поюзать. У меня такая схема работала на всех телефонах СИМЕНС 3х-5х серий. Как говорят: - "Дешево и сердито". А схема простая до ... (смеху). Просто нужно собрать дав инвернора на этих самых деталях. Точных схем в НЕТЕ ... ну очень много. От простых до навороченых с кучей всякого хлама. А еще посоветую книгу М.Гук "Аппаратные средства IBM PC" первого издания. Там все описано. А уровни там отричательные, т.е. "1" = -12В..-3В, "0" = +3В..+12В. Но большинство материнок воспринимают и ТТЛ увовни (т.е. "1" = 0...+0.7В, "0" = +2.5В..+12В.) Удачи Вам в нелегком деле по освоению электронов движушихся в электропроводящих материалах. ________________ Электрик 6 разряда спрашивает и начальника: - "20 лет работаю и так и не понял, как синусоидальный ток движется по прямому проводу?" ________________
А у кого завалялось пару КТ315 с 4 резюками, то им советую их и поюзать. - дада, в вышеуказанном мной журнале они есть. Сам сегодня себе плату для такого протравил. как раз в COM-розетку влезает
KingT Возможно, просаживается напряжение питания MAX'а (или там сидят чёткие 5В?), и он не вытягивает RS-232 уровни. Есть метод (не уверен, но встречал) в обвеске MAX'а поставить конденсаторы более ёмкие. Скажем... 10u. Попробуйте.
Написал программу которая посылает нули в COM порт. Померил в этот момент сигналы (TD(3),RD(2)),оказалось,что когда посылаются нули то напряжение +5 присутствует на обеих. Почему? Я так понимаю если посылаем то на одном TD должно быть а на RD нет.
Чем мерил? Импульсное напряжение вольтметром не померишь. Про уровни, которые есть я выше написал точно.
Обычным стрелочным напряжометром когда прога не запущена,то на 3 и 2 -10 когда запускаю(пишу нули) на обоих кратковременно напруга становится положительной.То что поднимкется только до +6 думаю связано с тем что вольтметр эфективное показывает,а как обьяснить тот факт что на обоих поднимается не знаю.
Мерить "напряжометром" на контактах 2,3 (TX,RX) бесполезно, потому как там сигнал не потенциальный, а импульсный (стартстопный), т.е. при настройках порта по умолчанию (скорость обычно 9600, 8 бит, без четности) сначала передается стартовый бит (+10 в) потом 8 информационных (твои нули), а потом стоповый бит (-10 в). Информационных бит может быть и меньше. На входе RX ничего меряться не должно, это же вход, тут какая-то путаница. Правда в описании RS-232 есть упоминание о "тестовом режиме", когда выход замыкается на вход внутри микросхемы, но полной уверенности нет. А вот выводы 4,7 (RTS, DTR) дают потенциальный сигнал, который можно нормально измерить. Для их установки есть API EscapeCommFunction с параметрами SETRTS, CLRRTS, SETDTR, CLRDTR (параметры задаются по одному) Удачи...
Люди добрые, у меня такой вопрос: есть схема на с питанием в 5в и подклюбчением по rs232 Хочу подключить к переходнику usb-rs232 дабы убить срзу двух зайцев. Хотелось бы узнать есть ли способ вытащить из него +5в не разбирая сам переходник, а то ведь он литой, и туговато придется его раздалбывать. Пробовал на rts подключать через стабилитрон но ток маленький и схема не тянет.
Если нужен больше ток, задействуй все возможные вывода-выходы, получиться что-то на подобие много фазного выпрямителя. Код (Text): VD1 TD --|>|---+ VD2 | R RTS--|>|---+---|||||--+-[+] VD3 | | DTR--|>|---+ C === | GND-------------------+-[-]