Змінюй хід війни! Допомагай ЗСУ!

RS-232 в Ethernet...

  • Автор теми Автор теми Злой
  • Дата створення Дата створення
Если есть готовое софтовое решение, то да.

...

Роутер, апишник от провайдера...


:)

Решение написано во 2й мессаге ветки = 1ом ответе на вопрос.


---

Небольшой оффтоп.. Вспоминаю байку, когда народ ставил сервак на Винде, а рядом - линуксовую машинку, которая его пинговала... Когда пинг пропадал (подвисала винда)- скриптик открывал привод СDрома на линуксовой машинке... На приводе была приклеена пимпочка, которая аккурат нажимала кнопку ресет на виндовском серваке... ;-) Говорят, таким нехитрым образом народ в течении многих лет успешно боролся с проблемой подвисания винды ;-)))

А что мешало протянуть 2 провода от LPT ПК с линуксом к разъему сброса Форточек ?
Тогда еще разъемы LPT на мамках были )
 
На приводе была приклеена пимпочка, которая аккурат нажимала кнопку ресет на виндовском серваке

это только байка, т.к. сила трения пассика со шкивами моторчика и ведомой шестерёночки примерно так вдважды меньше суммарной силы сжатия пружинки, на которой подпёрта кнопка резета и силы нажатия самой кнопочки, также следует понимать, что все механизмы обладают инерционностью, и даже если на мгновение представить, что байка правдива, то оба системных блока пришлось бы фиксировать как минимум заклёпками, а тот факт, что они [блоки] при такой постановке вопроса должны стоять друг напротив друга c paccтоянием, равным ширине лотка привода стави вопрос о том, где такое счастье размещалось!?

миф развеян
 
Ну, как бы, я сам этого не видел.. Потому и говорил про "байку"..
Но мой пост имел под собой несколько более глубокий смысл..
Когда я игрался удаленным доступом - мне приходилось решать вопрос подвисания системы на базе ПК... И я как бы, скромно об этом намекал в своей байке...:пиво:
У меня было решение - большая красная кнопка... На пульте дежурного... Которая нажималась по команде в телефонном режиме с записью в оперативный журнал ;-))
 
Спсибо всем кто подключился к беседе.
Остановился на МОКСЕ.

А можно подробнее,что есть ноль на линии?
И каким макаром он вышибает порт?

Ага, и мне интересно.
Возможно что на днях с подобным столкнусь.
 
Я довольно давно сталкивался с таким зависанием (кажись в 2007м году), потому уже не помню что именно стало причиной. Вроде когда педалил код в некоем промежуточном варианте при долгом рестарте начало виснуть одну сторону.

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

Если на долго (единицы секунд) активизировать передатчик (выставить активный уровень и держать) - модуль с другой стороны завешивает наглухо UART. Было, если мне память не врёт - в AT91SAM7X256.
Выяснилось, что такая функция поддерживается архитектурой, является старой, но так как ваятели камня содрали архитектуру - и функцию вместе с ней), а причиной была неправильная инициализация пинов при старте.

Вот если не disable UART OFF - так и будет происходить, когда вторая сторона при падении питания выставляет на линию TXD активный уровень, а мокса продолжает работать - мокса воспримет это как внешнее отключение уарта и сдохнет. Только поверап.
 
Видимо дело в самой телеграфной, старт-стопной, природе протокола V.24 - в исходном(idle) состоянии линия TXD должна быть в состоянии MARK, т.е. иметь уровень -(3-12)В,соответственно на пине RXD чипа уарта или контроллера мы имеем лог1.При желании обменяться, драйвер линии TXD кладет ее в состояние SPACE, +(3-12)В,преобразователь переводит это дело в лог0,таким образом сообщая уарту о начале символа(старт-импульс).Некоторые навороченные уарты (Z80SIO, QUICC,про 16550 не в курсе) имеют фичу распознавать слишком длинный стартимпульс как сигнал BREAK и ложить контроллер.
Ну,это так,всего лишь мои домыслы.;)
 
Видимо дело в самой телеграфной, старт-стопной, природе протокола V.24 - в исходном(idle) состоянии линия TXD должна быть в состоянии MARK, т.е. иметь уровень -(3-12)В,соответственно на пине RXD чипа уарта или контроллера мы имеем лог1.При желании обменяться, драйвер линии TXD кладет ее в состояние SPACE, +(3-12)В,преобразователь переводит это дело в лог0,таким образом сообщая уарту о начале символа(старт-импульс).Некоторые навороченные уарты (Z80SIO, QUICC,про 16550 не в курсе) имеют фичу распознавать слишком длинный стартимпульс как сигнал BREAK и ложить контроллер.
Ну,это так,всего лишь мои домыслы.;)

Это правильная мысль. Именно про неё и говорит бронетанктор.
Была такая, невесть зачем предусмотренная, функция. В некоторых камнях - традиционно осталась. В некоторых - вы правы, не поддерживается. В тех, которые поддерживают - отключается, но... нужно знать, что она вообще есть, чтобы воспаленный мозг разработчика сработал в нужном направлении и выключил её :D

Так она и кочует из камня в камень. А всему виной - интеллектуальна собственность - камень преткновения дуализма. С одной стороны хочется правильно, а с другой - дешевле. И покупают архитектуру вместе с блохами. По тому, что так - выгоднее. А нам, разрабам - мозг напрягай, читай всё по аглицки до строчки. Бо пропустишь - будешь репу резво чухать.

Вывод: мокса, хоть и крута, но живёт разработками 20-ти летней давности, как и атмел. А нам?
" А нам, что нам
Ведь мы дома
Давным давно"(С)Веня д'Ркин

P.S. И ещё это накладывает на разработчика "другой" стороны обязанность понимать - если питание упало, то линия должна упасть ПРАВИЛЬНО, а не как попало. А-то завесит мастеру уарт и ****уй из Харькова в Чернигов - дёргай, бо тамошний контенгент подойти боится (их начальство настращает, что за поломку шайтан-коробки из зарплаты вычтут. Но не говорит сколько, чтобы добавить интриги :D
 
Вдогонку - если уарт на борту контроллера,то его тоже можно ввести в ступор BREAK condition'ом.
Все это на совести эмбеддера.

Reset,что за контора в Чернигове?
 
Вдогонку - если уарт на борту контроллера,то его тоже можно ввести в ступор BREAK condition'ом.
Все это на совести эмбеддера.

Reset,что за контора в Чернигове?

В Чернигове - просто к примеру взял. Ездил тужа как-то в коммандировку по другому вопросу, очень хорошо запомнилась поездка, по этому и привёл как пример :D

P.S. Да, так и есть, брейк кондишен называется. И вешался он у меня именно на борту контроллера. Правда не долго, он отключается, но по умолчанию - включен. Видимо в Моксе об этом не имеют понятия. Зачем им? Они же - мокса, им косячить можно. Это нам нельзя.
Но я до сих пор не понимаю зачем разработчики топологии придумали эту хрень. Кому нужна команда удаленного отключения модуля УАРТ??? Вот какое её практическое применение? На ум приходит только безопасность. При подозрении на подключение к линии передачи - снимаешь свои устройства и брек на линию - вся живность глохнет. Потом включаешь свои обратно.

Больше нет идей...
 
Но я до сих пор не понимаю зачем разработчики топологии придумали эту хрень. Кому нужна команда удаленного отключения модуля УАРТ??? Вот какое её практическое применение? На ум приходит только безопасность.
ХЕЗ,вот кусок из даташита на Z80SIO(Z80 Family CPU Periрherals User Manual UM008101-0601 2001 год):
While the External/Status interrupt is enabled, break detection causes an
interrupt and the Break Detected status bit (RR0, D7) is set. The Break
Detected interrupt should be responded to by issuing the Reset External/
Status Interrupt command to the Z80 SIO in response to the first Break
Detected interrupt that has a Break status of 1 (RR0, D7). The Z80 SIO
monitors the Receive Data input and waits for the Break sequence to
terminate, at which time the Z80 SIO interrupts the CPU with the Break
status set to 0. The CPU must again issue the Reset External/Status Interrupt command in its interrupt service routine to reinitialize the break
detection logic.

Что-то они знали...
 
Спсибо всем кто подключился к беседе.
Остановился на МОКСЕ.



Ага, и мне интересно.
Возможно что на днях с подобным столкнусь.

У меня валяется пара RS-232<->TCP/IP Делали телекомовцам они станцию удаленно по IP крутили. Но как обычно что то там не срослось.
Как то тоже хотел с помощью этих штук крутить своим железом на предмет ловли багов (расположенным кстати сказать совсем вблизи небезизвестных Голованевских лесов ). Но там все решилось с помощью тимвьювера.

Зовуться wiz110sr
⚠ Тільки зареєстровані користувачі бачать весь контент та не бачать рекламу.


Если актуально,можешь взять поюзать.
 
О. Эффект достигнут - плата соединена с ноутом по UART через переходник. При отрывании платы от розетки в терминал сначала валится мусор, потом порт ******. Видится, коннектится, но... ни фига не слышит. Это оно :)

P.S. Как я рад, что мой любимый атмел эту долбофункцию не содрал, когда делал архитектуру UARTа на восьмибитки :) а на армы содрал, сцуко... Но я на него не в обиде - при цене на его армы легче использовать STM32 (что и делаю)
 
У меня валяется пара RS-232<->TCP/IP Делали телекомовцам они станцию удаленно по IP крутили. Но как обычно что то там не срослось.
Как то тоже хотел с помощью этих штук крутить своим железом на предмет ловли багов (расположенным кстати сказать совсем вблизи небезизвестных Голованевских лесов ). Но там все решилось с помощью тимвьювера...

Спасибо за предложения, но МОХА уже куплена и установлена.
Все изумительно функционирует.
 
Назад
Зверху Знизу