Разъем rs 232

Разъем rs 232

Разъем rs 232




Скачать файл - Разъем rs 232


























Последовательный порт это устройство ввода-вывода. Устройство ввода-вывода это путь, через который данные выходят из компьютера и попадают в него. Существует несколько типов устройств ввода-вывода таких как последоватльный порт или иначе RS , параллельный порт, ethernet карты, USB, и др.. Большинство PC имеют один или два последовательных порта. В то время как обычный компьютер может работать с использованием только Tx, Rx и земли, большинство драйверов и программного обеспечения будут вечно ждать пока одна из линий управления потоком данных примет нужное значение. В зависимости от состояния сигнала все может работать отлично, в других случаях может не работать совсем. Advanced Serial Port Monitor - для мониторинга COM порта и передаваемых через последовательный порт данных. Не требуется специальных кабелей! Advanced Serial Data Logger - запись данных поступающих через COM порт в файл, Excel , Access , базу данных или другое приложение Windows. Еще программы для работы с КОМ портом. Обзор других наших программ для ком-порта. Программы для работы с RS Advanced Serial Port Monitor - для мониторинга COM порта и передаваемых через последовательный порт данных. Обзор других наших программ для ком-порта Последовательный интерфейс Общая информация о последовательном интерфейсе Контакты и сигналы RS и последовательного порта Последовательный порт это устройство ввода-вывода. Разъемы и сигналы Разводка разъема RS и его сигналы Описание последовательног порта RS типа DB25 Полная разводка разъема последовательног порта RS типа DB9 Полная разводка разъема последовательног порта RS типа DB25 Заглушка для теста RS PC типа DB25 CheckIt Заглушка для теста RS PC типа DB25 Norton Заглушка для теста RS PC типа DB9 CheckIt Заглушка для теста RS PC типа DB9 Norton Последовательный принтер Кабели и сигналы последовательного интерфейса В то время как обычный компьютер может работать с использованием только Tx, Rx и земли, большинство драйверов и программного обеспечения будут вечно ждать пока одна из линий управления потоком данных примет нужное значение. Контакты кабелей RS Кабели RS и кабели для мониторинга данных Кабели для передачи данных RS двухпроводный модемный кабель DBDB25 RS двухпроводный модемный кабель DB9-DB25 RS модемный кабель DBDB25 RS модемный кабель DB9-DB25 RS модемный кабель DB9-DB15 RS нульмодемный кабель DBDB25 RS нульмодемный кабель DB9-DB25 RS нульмодемный кабель DB9-DB9 Кабель последовательного принтера DBDB25 Кабель последовательного принтера DB9-DB

Обзор стандарта RS-232

Это легендарный стандарт, который появился в х годах 20 века, и стал основой для всех последующих интерфейсов последовательного обмена данными. Интерфейс RSC был применен в первых персональных компьютерах фирмы IBM и до сегодняшнего дня входит в структуру любого персонального компьютера в аппаратном или программном виде. Решения, которые заложены в этот стандарт, используются практически повсеместно. Невозможно считать себя промышленным программистом не зная этого стандарта. Интерфейс RS полностью аппаратно реализован на персональных компьютерах в виде микросхем и разъемов. В PC его называют COM-портом Communication port. Аппаратная реализация означает то, что он работает всегда, не зависимо, какая операционная система установлена на PC он работает и без ОС. Программы могут взаимодействовать с СОМ-портами всеми доступными средствами: СОМ порт реализованный по стандарту RS универсален. Он обеспечивал работу PC с периферийными устройствами чем сейчас занят USB , взаимодействие с локальной сетью через модем Ethernet , обмен данными между PC и промышленным оборудованием ModBus и др. RS Recommended Standard Interface Between Data Terminal Equipment and Data Circuit-Terminating Equipment Employing Serial Binary Data Interchange. Интерфейс между терминалом данных и передающим оборудованием линии связи, применяющий последовательный обмен двоичными данными. Electronics Industries Association EIA. Electronics Industries Alliance EIA.. Альянс отраслей промышленной электроники. Telecommunications Industry Association TIA. RSA Recommended Standard Edition: A год выпуска RSB Recommended Standard Edition: RSC Recommended Standard Edition: C год выпуска EIA D RSD - не официально год выпуска Многочисленные фирмы США и других стран, выпускавшие оборудования связи, использовали собственные стандарты передачи данных. Использование этого оборудования вызывало проблемы их совместимости. Разъёмы, электрические характеристики сигналов, сервисные сигналы, способы синхронизации были различны у разных фирм. Одни протоколы кодировали символы 4 битами, другие 5 битами и т. Отсутствие международного стандарта по последовательной передачи данных тормозило развитие телекоммуникационной отрасли. Интерфейс RS был разработан максимально универсальным , что позволяло многим производителям легко переделать своё оборудование под этот стандарт. Было предусмотрено 16 сервисных сигналов, использование которых было не обязательно. Допускалась работа, как в синхронном, так и асинхронном режиме передачи данных. Такая лояльность стандарта устраивала производителей телекоммуникационного оборудования. Окончательно был узаконен 25 штырьковый разъем DB25 и электрические характеристики сигнала. Эта редакция стала основным интерфейсом передачи данных по последовательным каналам связи на многие годы вперед. Международные и национальные стандарты стали включать части стандарта RSC в свои структуры. В году фирма IBM выпустила персональные компьютеры IBM XT и году IBM AT с встроенными универсальными приемопередатчиками UART. UART разрабатывались по стандарту RSC, он поддерживал передачу данных только в асинхронном режиме. IBM XT поддерживал до 4-х независимых UART, которые назывались COM-портами Communication port. Первоначально разъемы СОМ-портов соответствовали стандарту RSC, то есть использовали 25 штырьковый разъем DB25p. Большая часть сервисных сигналов RSC в UART не использовалась. Поэтому фирма IBM стала использовать в своих компьютерах 9-ти штырьковые разъемы DE9p, в которых использовались шесть сервисных сигналов стандарта RSC. Чтобы узаконить использование этого разъема TIA выпустила новый стандарт TIA Стандарт TIA разрешал использовать 9 штырьковый разъем в телекоммуникационном оборудовании, работающем по стандарту RSC. В году EIA для подержания своего имиджа заменило название стандартов с RS на EIA. Роль ассоциации продолжала падать и её обязанности перешли к родственной ассоциации TIA. Ничего нового в последовательной передаче данных эти стандарты не привнесли, они практически полностью повторяют стандарт RSC. В году ассоциация EIA перестала существовать, её наследником стал альянс производителей промышленной электроники. Сегодня EIA и TIA торговые организации. Стандарт RS стал основоположником целого ряда международных и национальных стандартов. Ниже показаны некоторые из этих стандартов: TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU Название: LIST OF DEFINITIONS FOR INTERCHANGE CIRCUITS BETWEEN DATA TERMINAL EQUIPMENT DTE AND DATA CIRCUIT-TERMINATING EQUIPMENT DCE Старые редакции: ELECTRICAL CHARACTERISTICS FOR UNBALANCED DOUBLE-CURRENT INTERCHANGE CIRCUITS. Государственный комитет по стандартам. Цепи стыка С2 системы передачи данных. Цепи на стыке С2 аппаратуры передачи данных с оконечным оборудованием при последовательном вводе-выводе данных. ГОСТ Р г. Американский национальный институт стандартов. Cтандарт RS определяет взаимосвязи терминального оборудования ввода данных DTE и оконечного оборудования линии связи DCE , использующих последовательный обмен двоичных данных. Стандарт RS включает тринадцать определенных конфигураций интерфейса, обозначенных латинскими буквами A-M. И одной пользовательской конфигурацией, обозначаемой Z. Конфигурация интерфейса должна указываться производителем коммуникационного оборудования. Конфигурация интерфейса определяет состав сигналов, синхронность, порядок выставления сигналов, скорость и др. Стандарт RS применяется в системах с общими электрическими проводами и не может применяться в системах где требуется гальваническая развязка цепей. Стандарт RS может применяться в синхронных и асинхронных системах последовательной передачи двоичных данных. Эта эквивалентная схема независима от того, где расположен генератор в DTE или DCE. Характеристики сигнала обмена данными по стандарту RSC включены в международный стандарт ITU-T v. Стыком интерфейса RSC считается линия соединения DTE плюс кабель с DCE. То есть, соединительный кабель интерфейса входит в состав DTE. В качестве разъема для интерфейса RSC выбран миниатюрный разъем D-типа D-subminiature. Сейчас эти разъемы выпускаются многими фирмами по всему миру и указанную маркировку не соблюдают. Часто вместо DB25p plug-'штырь' указывают DB25m male -'папа' , DB25s socket-'гнездо' - DB25f femini-'мама'. Также, вместо DE9p COM-порт могут указать: Можно напрямую соединить разъемы приборов DTE и DCE, так как их сигналы подобраны нужным образом. То есть, выходные сигналы DTE попадают на входные сигналы DCE, и наоборот выходные сигналы DCE попадают на входные сигналы DTE. Поэтому для соединения устройства DTE с устройствами DCE используют прямой модемный кабель. Для соединения устройств DTE между собой или устройств DCE между собой, используют перекрестный кроссовер кабель. В интерфейсе RS используются: Например, минимальный набор сигналов TD и GND, позволяет передавать данные от DTE к DCE по стандарту RSc по двум проводам. Все сигналы RSC включены в состав сигналов стандарта ITU-T v. Соответствие сигналов стандарта RSC сигналам стандарта ITU-T v. Так как интерфейс RSC универсален, то подразумевается использование его в различных приложениях и режимах. Для каждого приложения могут использоваться различные сочетания сигналов интерфейса, которые называются конфигурациями. Стандарт RSC предусматривает 13 стандартных конфигураций A-M и одну пользовательскую конфигурацию Z. Работа коммуникационных портов реализована на универсальных асинхронных приемопередатчиках UART. UART- это микросхемы, которые работают по стандарту RSC в конфигурации D с опцией коммутируемых служб см. В этом разъеме используется шесть сервисных сигналов и один дуплексный канал связи. UART использует уровни сигналов в Зона нечувствительности, то есть отсутствие сигналов считается напряжение -3в При передаче данных символы передаются из буфера передатчика последовательно первым пришел- первым вышел. Специально назвал символами , а не байтами, так как символы могут иметь размер от 5 до 8 бит. Каждый переданный символ снабжается стартовым и стоповым битами, предназначенным для синхронизации на приемной стороне. После стартового бита следуют биты данных, начиная с младшего бита и заканчивая старшим. За последним битом данных символа может следовать бит паритета, служащий для обнаружения ошибки передачи битов данных. Последним передается стоповый бит, который необходим для временного разделения переданных символов. На рисунке 7 хорошо видно, что стоповый бит разделяет два переданных символа. При необходимости можно увеличить этот интервал до 2 стоповых битов, если конечное устройство не успевает разделять символы. При таком соединении компьютеры терминалы соединяются между собой непосредственно через СОМ-порты, без использования модемов. Так как компьютеры обладают большой скоростью обработки данных, то синхронизировать их работу не нужно. Поэтому предполагается, что режим синхронизации обмена Handshaking: Для этого используется нуль-модемный кабель. Так как режим синхронизации обмена на СОМ портах может быть включен, то часто сервисные сигналы СОМ портов замыкают самих на себя, тем самым исключая их влияния на процедуру обмена. Если необходимо можно использовать полный кабель, но при этом СОМ-порты должны быть настроены на аппаратную синхронизацию обмена. Модемное соединение подразумевает соединение двух компьютеров DTE через модемы DCE. Модемы модуляторы-демодуляторы - специальные устройства, позволяющие вести обмен данными практически на неограниченное расстояния, используя для этого модуляцию и демодуляцию информационных сигналов. Поэтому модемное соединение подразумевает подключение СОМ-порта компьютера DTE к конечному устройству DCE. Этот режим позволяет модемам управлять процессом передачи данных. Как видно из рис. Байт, который уже начал передаваться, задержать сигналом CTS невозможно это гарантирует целостность посылки. Аппаратный протокол обеспечивает самую быструю реакцию передатчика на состояние приемника. Работает протокол следующим образом: Противоположное устройство, приняв этот символ, приостанавливает передачу. Когда принимающее устройство снова становится готовым к приему данных, оно посылает символ XON 11hex , приняв который противоположное устройство возобновляет передачу. Время реакции передатчика на изменение состояния приемника по сравнению с аппаратным протоколом увеличивается, по крайней мере, на время передачи символа XON или XOFF плюс время реакции программы передатчика на прием символа. Преимущество программного протокола заключается в отсутствии необходимости передачи управляющих сигналов интерфейса — минимальный кабель для двустороннего обмена может иметь только 3 провода. Недостатком данного метода является большее время реагирования и исключения из передаваемого потока двух символов 13hex, 11hex. Для кодирования символов передаваемых по RSС используется таблица, кодирующая использованные символы и управляющие знаки. Первые 32 символа этой кодовой страницы представляют собой управляющие символы, которые предназначены для управления модемом. Например, использование символов 17 11hex и 19 13hex были изложены выше, в программном способе управления обменом. Эти символы были разработаны в основном для управления печатающими устройствами и модемами. Для аппаратной реализации СОМ портов по стандарту RS используется специализированная микросхема UART. UART Universal Asynchronous Receiver-Transmitter - универсальный асинхронный приёмо-передатчик. Микросхема i установленная в IBM XT послужила началом целой серии микросхем UART, которые устанавливались на материнские платы PC. Микросхемы выпускались разными фирмами производителями: Intel, National Semiconductor, Maxim и др. Микросхема представляет собой управляемую логическую схему с буферными регистрами для приёма и передачи последовательных данных. Буферные регистры позволяют вести передачу и приём данных без участия CPU. Соответственно чем больше ёмкость буферных регистров, тем реже микросхема прерывает работу CPU. Буферные регистры устроены по принципу 'очереди' FIFO - первым пришел, первым вышел. Получив порцию данных в передающий буферный регистр, UART начинает передавать её в сеть RS, одновременно он может принимать данные из сети RS в приёмный буферный регистр. Программное обеспечение в любой момент может обратиться к приёмному буферу UART, тем самым освободив его для приёма следующих данных. При заполнении приёмного буфера UART может прервать работу CPU, сообщив ему о заполнении буфера. Заполнение приёмного буфера вызовет остановку приёма данных из сети RS, до тех пор пока он не будет прочитан. Рассмотрим работу UART на примере микросхемы PCD. Обращение к микросхеме осуществляется через адресное пространство портов ввода-вывода CPU. Микросхема подключается к системной шине при активизации сигнала CS0, который вырабатывается при обращении CPU к заданному диапазону адресов порта. Адреса портов ввода-вывода заданы в BIOS. Обычно они имеют значения: На входы UART A0,A1,A2 подаются три младших разряда адресной шины CPU. Например, для СОМ4 2E8h,2E9h,2EAh,2EBh,2ECh,2EDh,2EEh,2EFh. Расстояние между начальными адресами портов равно 16, что допускает в дальнейшем использования микросхем с четырьмя начальными адресными линиями. Обращение к микросхеме по определённому адресу открывает доступ к группе регистров управления или буферных регистров приёма и передачи. UART состоит из 12 регистров, к которым можно обратиться по восьми адресам портов ввода-вывода. Так как индивидуального адреса для каждого регистра не хватает, то используют расщепление адресного пространства с помощью следующих методов: THR-регистр данных ожидающих передачи только для записи Transmit Holding Register. Символ, принятый в THR передаётся далее в сдвигающий регистр младшем битом вперед см. В начало символа добавляется стартовый бит, в конец символа добавляется стоповый бит. Перед стоповым битом может находиться бит паритета. Если символ короче 8 бит, то старшие биты регистра THR игнорируются не используются, хотя записываются в этот регистр. Регистр THR может принять всего один байт данных и передать его в регистр последовательного сдвига. В большинстве UART имеется режим FIFO, в котором данные загружаются не в THR, а в регистр FIFO. Например, UART PC имеет регистр FIFO, который может принять 16 байт данных. Кроме этого у некоторых UART существует режим DMA, в этом режиме сдвигающий регистр заполняется байтами данных непосредственно из оперативной памяти без участия микропроцессора. Для указания того, что регистр THR пуст и в него можно загрузить очередной байт данных используют бит 5 регистра LSR. Этот бит называется THRE Transmitter Holding Register Empty -'регистр данных ожидающих передачи пуст'. Бит THRE может быть источником прерывания CPU. RBR- буферный регистр приемника только для чтения Receiver Buffer Register. Регистр RBR может принять только один байт из сдвигающего приемного регистра. Аналогично передающей части UART здесь есть регистр FIFO, который может принимать больше одного байта данных минуя регистр RBR. К моменту заполнения сдвигающего приёмного регистра регистр RBR должен быть освобожден для приема очередного байта, иначе произойдет ошибка переполнения. Освобождение регистра RBR происходит, когда данные из него читаются микропроцессором. О том, что символ потерян в результате переполнения сообщает бит 1 регистра LSR. О том, что байт готов к прочтению микропроцессором то есть полностью выгрузился из приемного сдвигающегося регистра или FIFO сообщает бит 0 регистра LSR. Этот бит называется DR Receiver Data Ready -'Данные приёмника готовы'. Это бит также может инициировать прерывание микропроцессора. DLL-младший байт делителя частоты: DIM-старший байт делителя частоты: В микросхеме UART частота задающего кварца делится на делитель частоты Decimal Divisor ,который получается из двухбайтового числа DIM,DLL умноженного на Таким образом делитель частоты задает скорость обмена данных через UART. Не используются и всегда равны 0. IIR-регистр идентифицирующий прерывания чтение Interrupt Identification Register. Четыре уровня прерывания располагаются в порядке приоритета условий прерывания заданных регистрами - RLS; RDR; THR; и MSR. Когда CPU обращается к IIR, UART замораживает все прерывания и указывает самое высокое приоритетное отложенное прерывание для CPU. Во время обработки прерывания, UART делает запись новых прерываний, но не изменяет их текущий признак, до полной обработки. Сбрасывается записью байта в THR. Сбрасывается записью в передающий буфер FIFO 0 1 0 Второй Приемный буфер FIFO заполнился, сбрасывается чтением приемного буфера FIFO. Сброс выполняется чтением приемного буфера FIFO. FCR-регистр управления режимом FIFO запись FIFO Control Register. Этот регистр используется, чтобы разрешить режимы FIFO, очистить буферы FIFO, задать уровень заполнения буферов FIFO, и выбрать тип DMA прямого обращения к памяти. TRFIFOE Transmit And Receive FIFO Enable — Запись 1 в этот бит допускает оба режима FIFO передатчика XMIT и приемника RCVR. Сброс бита в 0 очистит все байты в обоих буферов FIFO. При изменении режима FIFO к и наоборот, буферы FIFO автоматически очищаются. Этот бит должен быть в 1, когда производится запись других битов регистра FCR, иначе они не будут запрограммированы. RESETRF Reset Receiver FIFO -Запись 1 в этот бит очищает все байты в приемном буфере FIFO и сбрасывает его счетчик в 0. Сдвиговый регистр при этом не очищается. После этого 1 в этом бите сбрасывается в 0. RESETTF Reset Transmitter FIFO - Запись 1 в этот бит очищает все байты в передающем буфере FIFO и сбрасывает его счетчик в 0. Эти аппаратные сигналы используются для организации правильной работы режима DMA в микропроцессорной системе. В этих двух битах задается идентификатор, который задает уровень при котором будет вырабатываться прерывание при приеме данных в режиме FIFO. Уровень задается количеством байт в приемном RCVR буфере FIFO. Также в этом режиме устанавливается бит DLAB, который позволяет программисту записывать и читать данные из нужных регистров. Программист может не только записывать, но и читать содержимое регистра LCR. Способность чтения упрощает системное программирование и устраняет потребность в отдельной области в системной памяти для хранения характеристик линии. С помощью этих битов задают количество бит в передаваемом или принимаемом символе. Приемник проверяет только первый стоповый бит, независимо от выставленных стоповых битов. EVENPAR Even Parity Select - Бит выбора типа контроля паритета. BRCON Break Control - Управляющий бит обрыва связи. DLAB Divisor Latch Access Bit - Этот бит доступа к делителю частоты. DTR Serial Data Bits ID0 Data Terminal Ready - Этот бит управляет выходным сигналом DTR Готовность терминала данных. RTS Request To Send - Этот бит управляет выходным сигналом RTS Запрос на передачу. OUT1 OUT1 Bit Control - Управление вспомогательным выходом OUT1. OUT2 OUT2 Bit Control - Управление вспомогательным выходом OUT2. LOOP Loopback Mode Enable -Бит режима диагностики. DR Receiver Data Ready — Готовность данных приемника. Бит сбрасывается в ноль, когда все данные будут прочитаны CPU из регистра RBR или буфера FIFO. OE Overrun Error — Бит ошибки переполнения. Бит указывает, что данные в регистре RBR не были прочитаны CPU прежде, чем следующий символ был передан в RBR, что привело к потере предыдущего символа. PE Parity Error —Бит ошибки контрольного бита паритета. FE Framing Error — ошибка кадра неверный стопбит. BD Break Detected — индикатор обрыва линии вход приемника находится в состоянии 0 не менее чем время посылки символа. THRE Transmitter Holding Register Empty — регистр передатчика готов принять байт для передачи. В режиме FIFO указывает на отсутствие символов в FIFO-буфере передачи. Может являться источником прерывания. TEMPT Transmitter Empty Status — регистр передатчика пуст нет данных для передачи ни в сдвиговом регистре, ни в буферных регистрах THR или FIFO. FIFOE FIFO Error Status —ошибка принятых данных в режиме FIFO буфер содержит хотя бы один символ, принятый с ошибкой формата, паритета или обрывом. В не FIFO-режиме всегда 0. MSR-регистр состояния модема Modem Status Register. В дополнение к этому , четыре бита DCTS Delta Clear To Send — Изменение состояния сигнала CTS очищен для передачи. При установке бита в 1 генерируется прерывание микропроцессора. DDSR Delta Data Set Ready — Изменение состояния сигнала DSR установка данных готова. ТЕRI Trailing Edge Of Ring Indicator — Детектор заднего фронта сигнала RI индикатор звонка. DDCD Delta Data Carrier Detect — Изменение состояния сигнала DCD обнаружен носитель информации. CTS Clear To Send — Состояние линии CTS. В режиме диагностики этот бит эквивалентен биту RTS регистра MCR. DSR Data Set Ready — Состояние линии DSR. В режиме диагностики этот бит эквивалентен биту DTR регистра MCR. RI Ring Indicator — Состояние линии RI. В режиме диагностики этот бит эквивалентен биту OUT1 регистра MCR. DCD Data Carrier Detect — Состояние линии DCD. В режиме диагностики этот бит эквивалентен биту OUT2 регистра MCR. Режим диагностики UART позволяет проверить работоспособность СОМ-портов без подключения к ним периферийных устройств. При этом внутри UART организуется аппаратная 'заглушка': Аппаратная 'заглушка' позволяет передавать и сразу принимать данные СОМ-порта, без каких либо подключений к нему. В результате этого возможно проверить работу сдвигающего регистра, отработку системы прерываний и т. Необходимо просто записать нужные данные в эти регистры, чтобы заставить СОМ порт выполнить нужные действия. Поэтому перед началом программирования портов в MS-DOS желательно проверить адреса СОМ портов. В BIOS адрес СОМ порта занимает 2 байта, и находятся в ячейках памяти по адресам СОМ1: IN AL,port8 - ввод байта в регистр AL из указанного порта; IN AL,DX - ввод байта в регистр AL из порта по адресу указанному в DX; OUT port8,AL - вывод байта из регистр AL указанного порта; OUT DX,AL - вывод байта из регистр AL порта по адресу указанному в DX; Пример: Это означает, что символ принят из линии и находится в буферном регистре приемника. Так как код этих функций находится в BIOS, то их выполнение возможно даже при отсутствии ОС на ПК. Хотя СОМ порт и является основным коммуникационным средством ПК, в MS-DOS практически очень мало программных средств для эффективной работы с портом. Рассмотрим основные программные средства операционной системы MS-DOS:. Существуют четыре функции программного прерывания INT 21h для работы с СОМ портом: Перед началом описания работы этих функций ознакомимся с понятием 'описатель'. Описатель- это идентификатор последовательного устройства объекта или файла в системе MS-DOS. С точки зрения программы описатель это целое число, которое указывает на определённую программную структуру объект , которая который обеспечивает работу этого устройства объекта с ОС. Кто 'дружит' с Windows, знает насколько важную роль имеет описатель дескриптор в этой системе, но начало этого было в MS-DOS. В MS-DOS первые номера описателей отданы стандартным последовательным устройствам: Напомним, что порту COM1 соответствует аппаратное прерывание IRQ4 с вектором INT 0Ch, а COM2 - IRQ3 с вектором INT 0Bh. Для разрешения прерываний необходимо установить биты регистра управления прерыванием IER UART , соответствующие тем прерываниям, которые нужно обрабатывать. Когда происходит прерывание, программа-обработчик, расположенная по указанному вектору прерывания, должна проанализировать причину прерывания, прочитав регистр, идентифицирующий прерывания IIR. Не забудьте, что в конце обработчика аппаратного прерывания должна находится последовательность команд: В MS-DOS имеется ряд встроенных команд для работы и настройки СОМ порта. Команды можно вставлять в пакетные файлы с расширением. Команда MODE Команда Mode предназначена для изменения режима работы периферийных устройств. Пример использования команд MS-DOS для управления Сом портом: Создайте текстовый файл например программой блокнот Test. Mode COM1,,n,8,1,P type c: В этом пакетном файле мы использовали три MS-DOS команды: Во-первых, COM1-COM4 в этих системах не имеет стандартных адресов ввода вывода и стандартных номеров прерываний, Windows автоматически распределяет ресурсы для COM-портов. Поэтому если вы захотите программировать СОМ-порт через порты ввода-вывода, вам понадобиться, сначала определить ресурсы которые занимает СОМ-порт на данном ПК. Во-вторых, Windows не дает прямой возможности работать с портами ввода-вывода, это возможно только при программировании на уровне ядра ОС что тоже не просто. В принципе такой вариант программирования возможен, то есть пишите драйвер ядра для работы с портами ввода-вывода и программу для работы с СОМ-портом работающем через этот драйвер. Естественно разработчики Windows предусмотрели возможность работы с коммуникационными портами через пользовательский интерфейс Windows. Этот способ, наверное, даже проще чем программирование Сом-порта через порты ввода-вывода. В Windows к Сом-порту можно обратиться как к файлу потоку. Достоинство этого способа очевидны: ОС незаметно для программиста работает с аппаратной частью коммуникационного порта. Попробуйте, создать в проводнике папку или файл с именем 'СОМ1', сделать это не получится. ОС Windows зарезервировала имена от СОМ1 до СОМ9 для работы с СОМ-портами. Для работы с СОМ-портом первое что надо сделать, это открыть порт. Сделать это можно с помощью API функции CreateFile из библиотеки 'kernel32': Эта функция создает новый объект и присваивает ему описатель, по которому с этим объектом можно будет работать. Пример описания функции CreateFile на языке Си: Declare Function CreateFile Lib 'kernel32' Alias 'CreateFileA' ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, ByVal lpSecurityAttributes As Long, ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long As Long. Чтобы открыть СОМ-порт вы должны выполнить эту функцию в коде своей программы, с заданными входными параметрами. Результатом работы этой функции будет битное число handle описатель , по которому вы сможете обращаться к созданному функцией программному объекту связанному с выбранным СОМ-портом. Это четырехбайтовое число, которое задает различные режимы доступа к файлу. Нас интересует только режим чтение и запись, этот режим задаётся числом: СОМ-порты ПК не поддерживают совместный доступ, только одна программа может открыть порт. Поэтому этот параметр должен быть равен 0 режим запрещен. Для СОМ-портов не используется поэтому всегда равны 0 'NULL'. Это четырехбайтовое число, которое для СОМ портов всегда должно быть 0 'NULL' hTemplateFile - описатель файла 'шаблона' по которому создавался файл. Для СОМ-портов не используется поэтому всегда равен 0 'NULL'. После открытия СОМ порта можно передавать и принимать данные через этот СОМ-порт. Для передачи данных используется API функция WriteFile из библиотеки kernel Для приёма данных используется API функция ReadFile из библиотеки kernel Declare Function ReadFile Lib 'kernel32' ByVal hFile As Long, lpBuffer As Any, ByVal nNumberOfBytesToRead As Long, lpNumberOfBytesRead As Long, lpOverlapped As Long As Boolean Declare Function WriteFile Lib 'kernel32' ByVal hFile As Long, lpBuffer As Any, ByVal nNumberOfBytesToWrite As Long, lpNumberOfBytesWritten As Long, lpOverlapped As Long As Boolean. После окончания работы с портом его нужно закрыть. Закрытие порта осуществляется API функцией CloseHandle из библиотеки kernel Declare Function CloseHandle Lib 'kernel32' ByVal hObject As Long As Boolean. Внешний компонент это программный модуль, который выполняет заданные функций и обладает всеми параметрами программного объекта. Внешний компонент разрабатывается по технологии ActiveX, что позволяет ему встраиваться в любые проекты программ, написанных на языках программирования поддерживающих эту технологию. Практически все современные средства разработки программ поддерживают технологию ActiveX. При этом вам не нужно разбираться, как работает СОМ порт, это делает программный объект внешней компоненты, разработчик только использует свойства, методы и события этого объекта. Технология ActiveX является логическим продолжением dll, DDE, OLE, COM технологий. Поэтому разработчику необходимо помнить, что подключая элемент ActiveX, вы подключаете код чужой программы к своему проекту, и соответственно часть вашей программы будет написана разработчиком компоненты, что требует оплаты. Внешних компонент для работы с СОМ портами написано большое количество. Необходимо определиться какую компоненту, и на каких условиях вы будете применять в своём проекте. Внешние компоненты оформлены в виде файлов и имеют расширение. Для того чтобы внешнюю компоненту можно было использовать в проекте, она должна быть зарегистрирована в ОС. Регистрация компоненты осуществляется записью ключей в реестр ОС, с помощью специальной программы или команды 'Зарегистрировать' из контекстного меню файла. Для рассмотрения возьмём известную компоненту MSCOMM После подключения компоненты к проекту вы сможете работать с объектом MSComm1. Основные своиства объекта MSCOMM1: CommPort - задает номер Сом порта MSComm1. Settings - задает основные параметры порта MSComm1. PortOpen - открывает и закрывает порт MSComm1. Output -передает данные в порт MSComm1. Input - читает данные из порта MSComm1. RTSEnable - управление сигналом RTS MSComm1. DTREnable - управление сигналом DTR MSComm1. CTSHolding - состояние сигнала CTS MSComm1. DSRHolding - состояние сигнала DSR MSComm1. DCDHolding - состояние сигнала DCD Пример работы с СОМ портом на VB: После этого включается сигнал DTR и порт закрывается. Как видно из приведенного примера работа с Сом портом, при использовании элемента ActiveX, достаточно проста. Кроме указанных свойств компонент MSCOMM Интерфейс RS, стал основой для промышленных сетей передачи данных. Такие протоколы как ModBus, HART, ProfiBus DP, DCON, DH , работают по сетям RS,RS, Bell и др. Аппаратной основой обработки данных в этих сетях является микросхема UART СОМ порт , которая реализована на ПК в аппаратном или программном виде. Даже когда используют USB модем, например для RS, он все равно работает через эмулированный СОМ порт ПК. Протоколы передачи данных являются наиболее скрытной и засекреченной частью информационных каналов. Это объясняется уязвимостью информации в процессе её передачи в физической среде. Информацию по тому или иному протоколу связи приходится собирать по крупицам. Специалисту, работающему с промышленными сетями необходима программа для чтения всей информации передаваемой в информационных сетях. Основные секреты промышленных протоколов можно обнаружить только при всестороннем анализе переданных и полученных данных. Рассмотрим программы для анализа сетей. Эта программа предназначена для сохранения и отображения данных и сервисных сигналов передаваемых в информационных сетях, которые работают по стандартам RS, RS, ModBus, HART и др. Программа не только сохраняет всю информацию, но и создает временную развертку данных и сервисных сигналов. Кроме того, программа может работать в режиме транслятора данных и сервисных сигналов. При этом она становится непосредственной частью информационного канала связи. Более подробно можно ознакомиться здесь. Это простая программа служит для отображения состояния сразу 4-х СОМ портов ПК. В текстовом и графическом виде можно посмотреть состояние всех сигнальных линий СОМ порта в текущем времени. Порты можно настроить на любой режим работы. Программа очень удобна при различных задачах. Реализация простых функций com-порта: Напишем программу реализующие эти функции на различных языках программирования: Программа работает следующим образом:

Интерфейс RS-232 (COM-порт)

Правила отношений в паре

Что можно сделать с тыквой

Интерфейс RS-232C

Состав сыворотки идеалия

Как сделать из пластилина оружии

RS-232

Тянущая боль в пояснице чем лечить

Схема перекрытия движения по копейскому шоссе челябинск

Report Page