Как получить 5 вольт от порта RS-232?
Список необходимых деталей:
- Линейный регулятор — L78L05.
- 2 выпрямительных диода (D1, D2) — 1N4004.
- Электролитический конденсатор (C1) — 22 мкФ.
- Конденсатор (C2) — 0.001 мкФ.
- 2 резистора (R1, R2) — 43 Ом.
В схеме используется LM78L05 или советский аналог на 5В. Диоды любые. Напряжение +5В получается из сигналов RTS и DTR в RS-232. Эта схема даже из портативного компьютера может выдавать ток 12 мА. Единственный недостаток — то, что устройство транзисторно-транзисторной логики должно быть изолировано от корпуса компьютера, потому что интерфейс воспринимает корпус RS-232 как положительное напряжение.
Распиновка COM порта RS232
Правильная распиновка СOM-порта RS232
Распиновка COM порта — RS232 интерфейс был сконструирован более пятидесяти лет тому назад. А после этого был стандартизирован. В различных периодах усовершенствования технических возможностей компьютеров успешно применялся для подключения к телефонной линии с помощью модема. На данный момент такой интерфейс считается как уже вчерашний день. В основном его невостребованность заключается слишком низким быстродействием. Так как там задействованы линейные сигналы в однофазной форме. То-есть не дифференциальные.
Наружный вид девяти-контактного коннектора RS232
В современных устройствах на смену интерфейсу RS-232 пришел новый, отличающейся существенным быстродействием — USB. Тем не менее, и до настоящего времени их можно встретить в действительности огромное количество в различных аппаратах. Последовательный порт, цоколевка которого описана ниже, очень востребован в изделиях предназначенных для промышленных целей, а также для медицинского оборудования.
В бытовых условиях необходимость в применении стыковочных проводов для соединения с COM-портом в большинстве случаев появляется в определенные моменты. Например: когда возникает необходимость работы с периферией ранних лет изготовления, и требующих создать взаимосвязь с персональным компьютером. Помимо этого, его можно часто обнаружить в девайсах для загрузки программы в микроконтроллер.
Характерные особенности порта
Что касается самой контактной колодки интерфейса RS-232 и ее кабельной составляющей, то они собраны на 9-пиновом разъеме D-Sub. Штыревые контакты размещенные в двухрядном варианте, для обеспечения точности подсоединения вилки к разъему, форма колодки имеет несимметричную конструкцию. Все контактные штырьки обозначены номерами, подробнее как делается распиновка COM порта обозначено в приведенной ниже таблице.
Таблица
Номер контакта | Назначение | Обозначение |
1 | Активная несущая | DCD |
2 | Прием компьютером | RXD |
3 | Передача компьютером | TXD |
4 | Готовность к обмену со стороны приемника | DTR |
5 | Земля | GND |
6 | Готовность к обмену со стороны источника | DSR |
7 | Запрос на передачу | RTS |
8 | Готовность к передаче | CTS |
9 | Сигнал вызова | RI |
Множество устройств во время своей работы задействует не все контакты, а только необходимую им часть, поэтому исходя из этого обусловливается реальная распиновка COM-порта. Необходимая информация об это имеется прилагаемой документации к соответствующему оборудованию.
Соединительный кабель
Если нет необходимости задействования все контактной группы, то в таком случае можно использовать обычную витую пару. При этом ее отдельные провода припаиваются к вилке и контактам в колодке разъема. Ввиду ограниченного пространства в самой колодке, в местах пайки провода желательно помещать в кембрик.
Наибольшее расстояние связи относительно стандарта должна быть более 15 метров. Если требуется ее увеличение, тогда для этого нужно использовать экранированный провод.
COM порт — лекция
Предыдущая запись Предварительный усилитель hi-fi
Следующая запись Проекторы для кинотеатра
Плата Arduino Uno
Слово Uno переводится с итальянского языка, как «один». Устройство названо в связи с началом выпуска Arduino 1.0.
Другими словами, Uno является эталонной моделью для всей платформы типа Arduino. Это последнее устройство в серии плат USB, доказавшее свою эффективность и проверенное временем.
Arduino Uno создано на микроконтроллере типа ATmega 328 (datasheet).
Его состав следующий:
- количество цифровых входов и выходов составляет 14 (а шесть из них имеется возможность использовать как выходы ШИМ);
- число аналоговых входов составляет шесть;
- 16 МГц – кварцевый резонатор;
- имеется разъём для питания;
- есть разъём, предназначенный для ICSP-программирования внутри самой схемы;
- присутствует кнопка для сброса.
Крайне важно отметить, что отличительной особенностью всех новых плат arduino является использование для интерфейсов USB–UART микроконтроллера типа ATmega 16U2 (или ATmega 8U2 в версиях R1, R2) вместо устаревшей микросхемы типа FTDI. Плата Uno по версии R2 снабжается дополнительным подтягивающим к земле резистором на линии HWB применяемого микроконтроллера
Плата Uno по версии R2 снабжается дополнительным подтягивающим к земле резистором на линии HWB применяемого микроконтроллера.
Распиновка выглядит следующим образом:
- Последовательный интерфейс использует шины №0 (RX – получение данных), №1 (TX – передача данных).
- Для внешнего прерывания используются выводы №2, №3.
- Для ШИМ используются выводы за номерами 3,5, 6, 9, 10, 11. Функция analog Write обеспечивает разрешение в 8 бит.
- Связь посредством SPI: контакты №10 (SS), №11 (MOSI), №12 (MISO), №13 (SCK).
- Вывод №13 запитывает светодиод, который загорается при высоком потенциале.
- Uno оснащена 6 аналоговыми входами (A0 – A5), которые имеют разрешение в 10 бит.
- Для изменения верхнего предела напряжения используется вывод AREF (функция analog Reference).
- Связь I2C (TWI, библиотека Wire) осуществляется через выводы №4 (SDA), №5 (SCL).
- Вывод Reset – перезагрузка микроконтроллера.
Как проверить RS-232 интерфейс?
Для проверки RS-232 можно воспользоваться простым способом: достаточно замкнуть контакты RX и TX между собой. Тогда все переданные данные будут приняты обратно.
Если у вас полный RS-232 или нужно использовать аппаратный контроль за передачей данных, тогда вам нужно распаять специальную заглушку. В ней должны быть соединены между собой следующие контакты.
После этого мы можем открыть СОМ порт через программу и отправить туда любые данные. Отправленные данные должны вернуться обратно в этот же порт.
На примере PComm Lite это будет выглядеть так:
Откройте программу PComm Terminal Emulator, во вкладке Port Manager откройте СОМ-порт, соответствующий UPort. Скорость и другие параметры можно оставить по умолчанию.
Однако, если вы подключаете внешнее устройство к СОМ-порту, эти параметры должны совпадать с параметрами внешнего устройства.
Мы отправили несколько единиц в СОМ порт и получили их обратно, также мы видим одинаковые значения счетчиков TX и RX, что подтверждает получение всех отправленных данных:
Если вы хотите отображать текст, который печатаете, то вам нужно включить функцию Local echo на вкладке Terminal при открытии порта
Важно: после включения функции Local echo, если вы замкнули TX и RX, то текст в терминале удвоится, потому что будет отображен вводимый символ и тот, который получен обратно
Правильная разводка сетей
На первом рисунке находится один трансмиттер и один ресивер. Установлены терминаторы.
На следующем рисунке обозначены 1 передатчик и несколько приемников. Ответвления к ресиверам короткие.
Сложная схема с несколькими приемопередатчиками. Также нужно подключать их к сети короткими проводами.
Неправильные подключения
На рисунке изображена сеть без согласующего резистора. Такое подключение искажает сигнал.
На следующем изображении есть терминаторы, но один расположен неверно, не в конце сети.
Далее показана цепь с длинными ответвлениями, что тоже расстраивает всю систему.
RS232 serial data parameters and packet format
1200bps, 7 databits, 1 stop-bit
Data packet is 3 byte packet. It is send to the computer every time mouse state changes (mouse moves or keys are pressed/released).
D7 D6 D5 D4 D3 D2 D1 D0 1. X 1 LB RB Y7 Y6 X7 X6 2. X 0 X5 X4 X3 X2 X1 X0 3. X 0 Y5 Y4 Y3 Y2 Y1 Y0
Note: The bit marked with X is 0 if the mouse received with 7 databits and 2 stop bits format. It is also possible to use 8 databits and 1 stop bit format for receiving. In this case X gets value 1. The safest thing to get everything working is to use 7 databits and 1 stopbit when receiving mouse information (and if you are making mouse then send out 7 databits and 2 stop bits).
The byte marked with 1. is send first, then the others. The bit D6 in the first byte is used for syncronizing the software to mouse packets if it goes out of sync.
LB is the state of the left button (1 means pressed down); RB is the state of the right button (1 means pressed down); X7-X0 movement in X direction since last packet (signed byte); Y7-Y0 movement in Y direction since last packet (signed byte)
Описание интерфейса RS-232
Интерфейс RS-232 (TIA/EIA-232) предназначен для организации приема-передачи данных между передатчиком или терминалом (англ. Data Terminal Equipment, DTE ) и приемником или коммуникационным оборудованием (англ. Data Communications Equipment, DCE ) по схеме точка-точка.
Скорость работы RS-232 зависит от расстояния между устройствами, обычно на расстоянии 15 метров скорость равна 9600 бит/с. На минимальном расстоянии скорость обычно равна 115.2 кбит/с, но есть оборудование, которое поддерживает скорость до 921.6 кбит/с.
Интерфейс RS-232 работает в дуплексном режиме, что позволяет передавать и принимать информацию одновременно, потому что используются разные линии для приема и передачи. В этом заключается отличие от полудуплексного режима, когда используется одна линия связи для приема и передачи данных, что накладывает ограничение на одновременную работу, поэтому в полудуплексном режиме в один момент времени возможен либо прием, либо передача информации.
Информация по интерфейсу RS-232 передается в цифровом виде логическими 0 и 1.
Логической «1» (MARK) соответствует напряжение в диапазоне от −3 до −15 В.
Логическому «0» (SPACE) соответствует напряжение в диапазоне от +3 до +15 В.
В дополнение к двум линиям приема и передачи, на RS-232 имеются специальные линии для аппаратного управления потоком и других функций.
Для подключения к RS-232 используется специальный разъем D-sub, обычно 9 контактный DB9, реже применяется 25 контактный DB25.
Разъемы DB делятся на Male – «папа» (вилка, pin) и Female – «мама» (гнездо, socket).
Распайка кабеля DB9 для RS-232
Существует три типа подключения устройств в RS-232: терминал-терминал DTE-DTE, терминал- коммуникационное оборудование DTE-DCE, модем-модем DCE-DCE.
Кабель DTE-DCE называется «прямой кабель», потому что контакты соединяются один к одному.
Кабель DCE-DCE называется «нуль-модемный кабель», или по-другому кросс-кабель.
Ниже приведены таблицы распиновок всех перечисленных типов кабеля, и далее отдельно представлена таблица с переводом основных терминов на русский язык.
Распиновка нуль-модемного кабеля DB9 для RS-232
Таблица с распиновкой разъемов DB9 и DB25.
DB9 DB25 Обозначение Название Описание 1 8 CD Carrier Detect Обнаружение несущей 2 3 RXD Receive Data Прием данных 3 2 TXD Transmit Data Передача данных 4 20 DTR Data Terminal Ready Готовность оконечного оборудования 5 7 GND System Ground Общий провод 6 6 DSR Data Set Ready Готовность оборудования передачи 7 4 RTS Request to Send Запрос на передачу 8 5 CTS Clear to Send Готов передавать 9 22 RI Ring Indicator Наличие сигнала вызова
Для работы с устройствами RS-232 обычно необходимо всего 3 контакта: RXD, TXD и GND. Но некоторые устройства требуют все 9 контактов для поддержки функции управления потоком передачи данных.
Структура передаваемых данных в RS-232
Одно сообщение, передаваемое по RS-232/422/485, состоит из стартового бита, нескольких бит данных, бита чётности и стопового бита.
Стартовый бит (start bit) — бит обозначающий начало передачи, обычно равен 0.
Данные (data bits) – 5, 6, 7 или 8 бит данных. Первым битом является менее значимый бит.
Бит четности (parity bit) – бит предназначенный для проверки четности. Служит для обнаружения ошибок. Может принимать следующие значения:
- Четность (EVEN), принимает такое значение, чтобы количество единиц в сообщении было четным
- Нечетность (ODD), принимает такое значение, чтобы количество единиц в сообщении было нечетным
- Всегда 1 (MARK), бит четности всегда будет равен 1
- Всегда 0 (SPACE), бит четности всегда будет равен 0
- Не используется (NONE)
Стоповый бит (stop bit) – бит означающий завершение передачи сообщения, может принимать значения 1, 1.5 (Data bit =5), 2.
Например, сокращение 8Е1 обозначает, что передается 8 бит данных, используется бит четности в режиме EVEN и стоп бит занимает один бит.
Управление потоком в RS-232
Для того чтобы не потерять данные существует механизм управления потоком передачи данных, позволяющий прекратить на время передачу данных для предотвращения переполнения буфера обмена.
Есть аппаратный и программный метод управления.
Аппаратный метод использует выводы RTS/CTS. Если передатчик готов послать данные, то он устанавливает сигнал на линии RTS. Если приёмник готов принимать данные, то он устанавливает сигнал на линии CTS. Если один из сигналов не установлен, то передачи данных не произойдет.
Программный метод вместо выводов использует символы Xon и Xoff (в ASCII символ Xon = 17, Xoff = 19) передаваемые по тем же линиям связи TXD/RXD, что и основные данные. При невозможности принимать данные приемник передает символ Xoff. Для возобновления передачи данных посылается символ Xon.
USB — COM переходник на микроконтроллере Attiny2313
Питание микроконтроллера Attiny2313 осуществляется непосредственно от шины питания USB. Вся схема собрана на односторонней плате (SMD и ТН варианты). Устройство поддерживает только сигналы Rx и Tx.
Прошивку к переходнику, рисунок печатной платы (SMD и TH), а также программу терминал для проверки адаптера можно скачать по ниже приведенной ссылке:
Скачать файлы для USB переходника (1,4 MiB, скачано: 3 524)
При программировании Attiny2313, фьюзы необходимо выставить следующим образом:
Для работы устройства необходимо установить драйвер виртуального COM порта. Для этого скачиваем его:
Скачать драйвер (1,1 MiB, скачано: 3 753)
Теперь вставляем в USB порт компьютера наш адаптер, компьютер должен выдать сообщение «Найдено новое устройство», а затем предложит установить для него драйвер. Выбираем пункт «Установить с указанного места» и нажимаем на кнопку «Далее». Затем в новом окне выбираем путь к папке скаченного и распакованного драйвера и опять жмем кнопку «Далее». Спустя несколько секунд драйвер будет установлен и устройство будет готово к работе.
Для проверки работоспособности устройства, временно замыкаем Rx и Tx выводы и с программы терминала, так же находящегося в архиве, выставляем номер COM порта и отправляем любое сообщение. Для этого пишем например «Привет» и нажимаем кнопку «Send». Если переходник рабочий, то написанное сообщение появится в верхнем окне программы.
Последовательный интерфейс RS-232 — обзор стандарта
Это широко используемый последовательный интерфейс синхронной и асинхронной передачи данных, определяемый стандартом EIA RS-232-C и рекомендациями V.24 CCITT. Изначально он создавался для связи компьютера с терминалом. В настоящее время используется в самых различных сферах.
Интерфейс RS-232-C соединяет два устройства. Линия передачи первого устройства соединяется с линией приема второго и наоборот (полный дуплекс) Для управления соединенными устройствами используется программное подтверждение (введение в поток передаваемых данных соответствующих управляющих символов). Возможна организация аппаратного подтверждения путем организации дополнительных RS-232 линий для обеспечения функций определения статуса и управления.
Порядок обмена по интерфейсу RS-232C:
Интерфейс RS-232C предназначен для подключения к компьютеру стандартных внешних устройств (принтера, сканера, модема, мыши и др.), а также для связи компьютеров между собой. Основными преимуществами использования RS-232C по сравнению с Centronics являются:
- возможность передачи на значительно большие расстояния;
- гораздо более простой соединительный кабель.
В то же время работать с ним несколько сложнее. Данные в RS-232C передаются в последовательном коде побайтно. Каждый байт обрамляется стартовым и стоповыми битами. Они могут передаваться как в одну, так и в другую сторону (дуплексный режим).
Смотрите схему реобаса для ПК
Компьютер имеет 25-контактный (DB25P) или 9-контактный (DB9P) разъем для подключения RS-232C. Назначение контактов разъема приведено в таблице.
Назначение сигналов следующее:
- FG — защитное заземление (экран).
TxD — данные, передаваемые компьютером в последовательном коде (логика отрицательная).
RxD — данные, принимаемые компьютером в последовательном коде (логика отрицательная).
RTS — сигнал запроса передачи. Активен во все время передачи.
CTS — сигнал сброса (очистки) для передачи. Активен во все время передачи. Говорит о готовности приемника.
DSR — готовность данных. Используется для задания режима модема.
SG — сигнальное заземление, нулевой провод.
DCD — обнаружение несущей данных (детектирование принимаемого сигнала).
DTR — готовность выходных данных.
RI — индикатор вызова. Говорит о приеме модемом сигнала вызова по телефонной сети.
Наиболее часто используется трех- или четырехпроводная связь (для двунапрвленной передачи). Схема соединения для четырехпроводной линии связи показана на рисунке ниже.
Для двухпроводной линии связи в случае только передачи из компьютера во внешнее устройство используются сигналы SG и TxD. Все 10 сигналов интерфейса задействуются только при соединении компьютера с модемом.
Формат передаваемых данных показан на рисунке ниже. Собственно, данные (5, 6, 7 или 8 бит) сопровождаются стартовым битом, битом четности и одним или двумя стоповыми битами. Получив стартовый бит, приемник выбирает из линии биты данных через определенные интервалы времени
Очень важно, чтобы тактовые частоты приемника и передатчика были одинаковыми, допустимое расхождение — не более 10 %). Скорость передачи по RS-232C может выбираться из ряда: 110, 150, 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 бит/с
Все сигналы RS-232C передаются специально выбранными уровнями, обеспечивающими высокую помехоустойчивость связи (рисунок ниже). Отметим, что данные передаются в инверсном коде (логической единице соответствует низкий уровень, логическому нулю — высокий уровень).
Для подключения произвольного УС к компьютеру через RS-232C обычно используют трех- или четырехпроводную линию связи, но можно задействовать и другие сигналы интерфейса.
Обмен по RS-232C осуществляется с помощью обращений по специально выделенным для этого портам:
- COM1 (адреса 3F8h. 3FFh, прерывание IRQ4);
- COM2 (адреса 2F8h. 2FFh, прерывание IRQ3);
- COM3 (адреса 3F8h. 3EFh, прерывание IRQ10);
- COM4 (адреса 2E8h. 2EFh, прерывание IRQ11).
Форматы обращений по этим адресам можно найти в многочисленных описаниях микросхем контроллеров последовательного обмена UART (Universal Asynchronous Receiver/Transmitter), например, i8250, КР580ВВ51.
Порт и память
То есть, программа прочитает данное из памяти в процессор, что-то с ним сделает, может быть получит из этой информации какие-то новые данные, которые запишет в другое место. Или само данное просто перепишет на другое место. Во всяком случае в памяти информация, которая однажды была записана может быть либо прочитана, либо стёрта. Ячейка получается как сундучок, стоящий у стенки. А вся память состоит из ячейки каждая ячейка имеет свой адрес. Точно как сундучки, стоящие в ряд у стенки в подвале скупого рыцаря.
Ну и порт можно себе представить тоже как ячейку. Только такая ячейка сзади имеет окошко, ведущее куда-то за стенку. Можно записать в неё информацию, а информация возьмёт, и улетит в окошко, хотя какое-то время будет находиться в ячейке так же, как и в обычной ячейке оперативной памяти.
Или наоборот, в ячейку-порт информация может «прилететь» из окошка. Процессор это увидит и прочтёт эту новую появившуюся информацию. И пустит её в дело — перепишет куда-то, пересчитает вместе с какими-то другими данными. Даже может записать её в другую ячейку. Или в другую ячейку-порт, тогда эта поступившая по первому порту информация может «улететь» в окошко второго порта, — ну это уж как распорядится процессор. Вернее, программа, которая в этот момент процессором командует и данные, записанные в памяти и приходящие из портов, обрабатывает.
Просто и красиво. Эти порты так и назвали сразу — порты ввода-вывода. Через одни из них данные отправляются куда-то, через другие — откуда-то принимаются.
Ну а дальше начинается движение по кругу. Вот есть одно устройство, и есть другое. И вот есть цепочка символов, каждый из которых состоит из отдельных двоичных битов, и эту цепочку нужно передать. Как передавать? Можно по линии из 8 проводочков сразу передавать по целому символу — один проводок = один бит, потом код другого, потом третьего, и так, пока не передашь всю цепочку.
А можно было разворачивать каждый бит не в пространстве (по проводочкам), а во времени: сначала передать один бит символа, потом второй и так восемь раз. Ясно, что во втором случае нужны какие-то дополнительные средства, чтобы символы так разворачивать во времени.
Мастерам на все руки будет интересна статья об особенностях работы и схеме включения МС34063.
Распиновка разъёмов COM-порта
Распиновка никакой связи не имеет с распинанием, хотя, как проводки, вольно бегущие в одной оболочке кабеля, разбирают на стороны и жёстко припаивают к своим штырькам, сходно с распинанием. Штырёк, по-английски «pin», булавка, поэтому и распиновка, слово уже это компьютерно-связистский «проанглийский» жаргонизм. Означает — распайка проводов по штырькам на разъёме.
Форма разъёма, порядок проводков (штырьков) в нём, назначение каждого штырька, а также номиналы напряжений и смысл сигналов в каждом — это часть интерфейса. Обычно вся эта информация собирается в отдельный документ, называемый спецификацией порта. Такая простая и понятная табличка на одну страницу. В других разновидностях интерфейсов что-то такое может называться «протоколом». А здесь ещё просто называют «распиновкой».
Интерфейс портов
А вся система такой передачи — в одном случае так, в другом — этак, называется интерфейс
. Один интерфейс параллельный, другой — последовательный. Почти одно и то же, порты, один параллельный, другой последовательный.
Чем понятие порт отличается от понятия «интерфейс»? В современной технике слова не только появляются, они растут и получают «образование». И как и у людей, могут становиться узкими специалистами, а могут стать «дилетантами». Вот такое типичное слово-дилетант — «интерфейс». Потому что оно — «каждой дыре затычка». Интерфейсы бывают:
А смысл слова — что-то между чем-то. Интер — между, фэйс — лицо. Красиво получилось, поэтому и везде употребляется. Например, пользовательский интерфейс системы Windows — это экранное лицо системы, предназначенное для общения с человеком.
И оно состоит из нарисованной на экране картинки + правила работы каждого элемента картинки (например, нажми на кнопочку на экране мышкой — она нажмётся) + правила реагирования каждого элемента и всей системы в целом + все аппаратные средства, участвующие в диалоге (мышь, клавиатура, экран) + все программы, обеспечивающие диалог как со стороны всей системы, так и со стороны отдельных устройств (драйверы).
Не упомянули только о человеке, но так как он тоже часть взаимодействия, то должен иметь знания и навыки работы в системе, а для этого существуют обучающие программы, справочные системы… И вот изо всего этого и встаёт красивое и ёмкое слово: интерфейс
.
В нашей теме интерфейс обозначает вещи немного более простые.
Это аппаратные + программные средства передачи + правила передачи. Аппаратные — понятно. А вот программные средства на компьютерах и в современных средствах связи присутствуют всегда и везде. Даже бывает так: сначала на какой-то аппаратной базе создаётся нечто функциональное, которое выполняется не сразу, а с применением специально написанных программ
. А программы все настраиваются.
И постепенно, по мере работы новой функции (или функционального блока), программы которые его «делают» — а они от аппаратных средств отличаются тем, что их можно легко настраивать — доводятся до какого-то состояния оптимальной настройки. Что уже больше и не надо настраивать. И тогда программу в новой версии функционального блока могут заменить на аппаратно выполненный заменитель программной части. Например, «зашить» оптимально работающую хорошо настроенную программу в постоянную память
. Или придумать специальную логическую схему, которая выполнит точь-в-точь то же самое, что делала оптимально настроенная программа — не шарахаясь и не забывая иногда все свои полезные настройки.
Поэтому интерфейс такой часто и называют — программно-аппаратным
.
Правила передачи нужны для того, чтобы на обоих концах взаимодействия одни и те же вещи понимались (и обрабатывались) одинаково. Мы говорим о передаче импульсов? Значит нужно, чтобы импульсы были строго одинаковыми.
Например, чтобы 1 битовый приходил в виде +12 или +15 вольт перепада напряжения от нуля. И чтобы была в виде прямоугольничка, или острого всплеска — пик которого обязательно был не меньше, ну, + 5 вольт, а верхнее ограничение вводить, допустим, не очень обязательно. Это потому, что при передаче импульсов на какие-то расстояния электрические сигналы имеют свойство ослабевать и «размазываться».
Если с одного конца отправят строго 12 вольт, то до другого может дойти 3 вольта, а это системой приёма может расцениться просто как шум в линии, и переданная информация будет потеряна.
Смысл импульсов тоже должен пониматься одинаково. А импульсы могут быть информационные
, служебные, синхронизирующие. И вообще, например, не импульсы, а просто постоянное напряжение. Которое может использоваться на другом конце, как питание небольшого устройства.
А ещё должны одинаково пониматься и сами те самые проводочки, о которых шла речь в самом начале. Тут надо сказать сразу, такого, чтобы шёл один проводок, никогда не бывает. Даже к телефону подходят в кабеле два проводка, а в норме полагается, чтобы было в кабеле четыре. И у интерфейсов передачи данных всегда несколько проводников. Какие-то из них — информационные, какие-то — служебные. И именно это должно одинаково распознаваться на обоих концах взаимодействия. А проводочки распознаются как
? По цвету, если в кабеле и по местоположению, если в контактах подключения.
Порт слово простое и тоже не совсем однозначное. Но смысл сходный: то, что что-то грузит на что-то и куда-то отправляет. Или наоборот, то, что что-то принимает и что-то из него выгружает. Смысл почти тот же, что и программно-аппаратный интерфейс, но как-то лаконичнее. И строже, как на флоте («Вам скажут — не спорьте… а мы и не спорим…»). Только наши сигналы плывут не по морю, а по кабелю.
RS232 serial data parameters and packet format
1200bps, 7 databits, 1 stop-bit
Data packet is 3 byte packet. It is send to the computer every time mouse state changes (mouse moves or keys are pressed/released).
D7 D6 D5 D4 D3 D2 D1 D0 1. X 1 LB RB Y7 Y6 X7 X6 2. X 0 X5 X4 X3 X2 X1 X0 3. X 0 Y5 Y4 Y3 Y2 Y1 Y0
Note: The bit marked with X is 0 if the mouse received with 7 databits and 2 stop bits format. It is also possible to use 8 databits and 1 stop bit format for receiving. In this case X gets value 1. The safest thing to get everything working is to use 7 databits and 1 stopbit when receiving mouse information (and if you are making mouse then send out 7 databits and 2 stop bits).
The byte marked with 1. is send first, then the others. The bit D6 in the first byte is used for syncronizing the software to mouse packets if it goes out of sync.
LB is the state of the left button (1 means pressed down); RB is the state of the right button (1 means pressed down); X7-X0 movement in X direction since last packet (signed byte); Y7-Y0 movement in Y direction since last packet (signed byte)
Параллельные и последовательные
И скорость передачи будет другая:
- Во-первых, если передача по проводам в обоих случаях одинаковая, то второй случай окажется в 8 раз медленнее за счёт этой самой поочерёдной передачи битов одного байта.
- Во-вторых, нужно либо время на саму выполнение программной процедуры разворачивания байта в биты или дополнительные технические схемы такой развёртки.
Получается, у каждого варианта свои плюсы, но и свои минусы.
- Сразу по восемь бит (то есть побайтно) передавать быстрее, но проводочков надо в восемь раз больше
- По одному биту передавать — нужно всего один информационный проводок, зато будет в 8 раз медленнее.
Вот и назвали в первом случае передачу параллельной, а во втором случае — последовательной.
Альтернативное решение проблемы
Если вам необходимо установить дополнительное оборудование, которое нуждается в COM-порте, можно также использовать модуль с этим разъемом. Он просто устанавливается непосредственно в компьютере и подключается к материнской плате. После установки платы COM-портов или PIC-COM (второе название) ей также присваивается номер. Как и в предыдущих случаях, это номер можно изменить, если возникнут проблемы. Если вы не уверены, что сможете правильно установить эту плату в компьютер, лучше воспользуйтесь помощью профессионалов, чтобы не навредить другому оборудованию.
К сожалению, это решение можно использовать только для компьютеров. В ноутбуках дополнительную плату установить довольно сложно, и это требует дополнительных затрат. Во-первых, сам корпус не позволит установить дополнительный модуль, а во-вторых, он может не поддерживаться вашей моделью. Поэтому в случае с ноутбуком следует использовать USB-COM-переходник.