суббота, 7 января 2017 г.

COM порт (RS-232) Асинхронный обмен данными (теория) ч.1

    Давно собирался разобраться с асинхронным обменом данных, да и вообще с СОМ (RS232) интерфейсом и вот с сегодняшнего дня решил начать, потихоньку подытоживать изученное. Плюс вдохновили просьбы некоторых ребят, которым понравились предыдущие мои статьи по работе с СОМ портами.
    Народ просит подробностей и конкретики, но тема весьма обширна, поэтому рамками одной статьи ограничиться скорее всего не получится, посмотрим в общем как будет складываться с объемом. Скорее всего тему придется разделить на несколько частей. Что я могу сказать, тема серьёзная, многих вещей недопонимаю сам, потому предупреждаю сразу, все что написано ниже (как впрочем и весь этот блог), мое личное мнение (видение), которое сформировалось в силу моего уровня понимания сути вопроса (и разумеется не обязательно должно быть правильным). Читаешь вроде об одном, но на практике как обычно не все так как в теории. Так что просьба тапками не кидаться, а вот за конструктивную критику буду благодарен. Ссылки на источники откуда я черпал информацию (не слово в слово разумеется) будут приведены в конце статьи. Начать я хочу не так как обычно с практики, а для глубины понимания думаю будет весьма полезна небольшая теоретическая прелюдия.


НЕМНОГО ИСТОРИИ 

    RS 232 (Recommended Standart - RS) № 232 был разработан EIA ещё в далеком 1962г. Этот стандарт был назван как - "Интерфейс между терминалом (DTE (Data Terminal Equipment)) и коммуникационным устройством (DCE (Data Communications Equipment)), посредством последовательного обмена двоичными данными". Сегодня этот стандарт известен как интерфейс RS-232 или в простонародье COM порт как сокращение от Communication port (физическая реализация RS-232).
    EIA - это Ассоциация электронной промышленности США, она занимается разработкой стандартов (правил или протоколов) относящихся к вопросам связи (передачи данных).
    Так в 1969г. EIA - анонсировала его третью версию - RS-232C, в 1987г. - четвертую RS-232D, в 1991г. - пятую RS-232Е, а в 1997г. - шестую версию RS-232F. Как отмечено в Design Notes к Interface Circuits For Tia/Eia-232-F от сентября 2002г:
    "Самой последней версией является TIA/EIA-232-F, не имеющий каких-либо технических изменений, создающих проблем с совместимостью в соответствии с пересмотрами предыдущих редакций. Последняя версия представлена в соответствии с международными Стандартами ITU-T V.24, V.28, и ISO / IEC 2110."
    Для справки: министерство обороны США использует практически идентичный стандарт связи Mil 188. реализуемый в двух вариантах: MIL-188/C и MIL-188/114. Оба этих интерфейса являются военными стандартами, принятых Министерством обороны США.
MIL-188/114 представляет дифференциальный интерфейс а MIL-188/C является несбалансированным или несимметричным интерфейсом. Оба MIL-188 интерфейса заточены под на разъем RS-530, реализуемом в двух вариантах:

    Существуют также специальные конвертеры или преобразователи интерфейсов для сопряжения стандартов RS232 и RS530 на физическом уровне, например: как вот этот (загрузка PDF файла).


НАЗНАЧЕНИЕ И АКТУАЛЬНОСТЬ

    Создавался COM порт именно для связи - компьютеров друг с другом или с телекоммуникационными устройствами, однако в последствии стал находить свое применение в самых казалось бы необычных областях. Подключение мыши, источников бесперебойного питания, спутниковых ресиверов, кассовых аппаратов, приборов СКУД, плоттеров и др. Нужно так же отметить востребованность RS232 в радиолюбительской практике как возможность реализации обмена данными с микроконтроллерами в составе которых есть встроенный USART. А сама микроконтроллерная тема, представляет весьма широкий простор для творчества. Сегодня конечно же существуют специальные конвертеры USB to UART для подобных целей, но операционной системой они все равно определяются как виртуальные COM порты. И программы для работы через них пишутся в соответствии со стандартами относящихся к RS232 интерфейсу.
    Что и говорить, на сегодняшний день СОМ порты практически вытеснены портами USB. Если раньше материнские платы без физического наличия СОМ портов на своем борту, оснащались специальными разъемами для возможность подключения таковых, то сегодня на большинстве материнских плат просто не предусмотрены ни штатная реализация данных портов, ни соответствующих разъемов расширения. 
И это не смотря на свою популярность
среди широкого круга разработчиков от простых радиолюбителей до крупных корпораций кстати до сих пор выпускающих продукцию рассчитанную на программирование, управление или другой вид обмена данными по СОМ - каналу. В этот список входит медицинское оборудование, 3D принтеры, аппараты для лазерной резки и много других интересных и современных устройств.
    Не хочется критиковать USB, у каждого интерфейса есть куча как достоинств, так и недостатков. Но списывать со счетов RS232 как морально или еще как-то устаревший, только по тому, что производители материнских плат стали реже оснащать ими свою продукцию, просто глупо. Если речь идет об обычном пользователе, то рассматриваемый сегодня нами интерфейс ему по сути на фиг не нужен. Если речь идет о конструкторах, разработчиках, людях "ищущих" желающих чтобы написанные ими программы могли выполнять не только какие то операции в ПК, но и могли взаимодействовать с подключенными к нему устройствами извне, тогда наличие RS232 открывает новые горизонты для творчества.

Комментариев нет:

Отправить комментарий

Примечание. Отправлять комментарии могут только участники этого блога.