Что такое com порт на ноутбуке
Обновлено: 06.07.2024
Давненько не кидали на старые компьютеры данные через дискеты, COM или LPT порты? А вот мне недавно пришлось этим заняться, и подробности этого опыта – под катом. Там же несколько графиков, табличка сравнения и пара десятков фото под вторым катом.
Итак, задача: передать данные на ноутбук, у которого есть исключительно COM и LPT порты, слот расширения PCMCIA, флоппик, модем. Ноутбук – IBM ThinkPad 760EL в отличном состоянии, подарен замечательным хабраюзером green_hippo. О нём (ноутбуке!) вскоре будет сделана отдельная статья.
Слот отпал сразу. Карточку в короткие сроки найти не удалось, а вот c COM и LPT-шнурками получилось лучше. COM-шнурок был подарен worst’ом, LPTшный – найден на городском форуме.
Файл: WOLF3D.zip.
Содержимое: Wolfenstein 3D от id Software. И даже не пытайтесь спросить, что же это такое.
Объем: 1101563 байта (1.04 мб.)
-
Для начала попробуем кидать данные дискетами. Время копирования – 43.5 сек., далее за 5-7 секунд перетыкаем её в ноутбук, ещё 43.2 секунды на копирования… Сумма – 1 минута 33.7 секунды. Средняя скорость – 11.4 килобайта в секунду. Ну ок, а если нам нужно передать бОльший файл? Ну скажем, архив quake 1 будет весить 21.7 мб.
Представляете, разбивать её на полтора десятка дискет, перетыкать эти дискеты… Мдааа. Процесс сомнительной радости.
Проверить, как на том же железе работается из под DOSом помешала моя лень, а точнее – ограничение времени – все диски компьютера отформатированы под NTFS, т.е. для теста нужно было подготовить загрузочный CD или дискету, причем с драйверами для чтения с NTFS, причем надежность того драйвера… позже проверю таки.
Файл 2: Quake.zip
Объем: 22809007 (21.7 мб.)
И что бы не тратить время — соберём результаты в табличку и симпатишные графики.
Копирование с диска: 43.2 сек.
Перетыкание дискеты: 7 сек.
1 час 7 минут 27 секунд
Передача Wolf3D
Передача Quake 1
Передача Wolf3D, исключительно LPT-передача под DOS
Передача Quake 1, исключительно LPT-передача под DOS
1) Norton Commander, передача файла со стороны master'а
2) Norton Commander, прием файла, вид со стороны slave'а
3) FastWire, вид со стороны master'а
4) FastWire, вид со стороны slave'а
5) FileMaven, со стороны клиента
6) FileMaven со стороны сервера:
7) LapLink Pro 4
8) Коннект через Interlink — на сервере
9) Interlink — на клиенте
Употребляя в своих статьях названия и определения: последовательный порт, serial port, communications port, COM-порт, интерфейс стандарта RS-232 я не был до конца уверен, что употребляю их в правильном контексте. Давайте разберёмся что, зачем, как и почему.
Прежде чем перейти к последовательному порту, чуть-чуть общей теории.
Классификация протоколов
А какие протоколы бывают?
По порядку передачи данных протоколы (шины данных) делятся на:
О последовательных шинах речь пойдет ниже, но пару слов нужно сказать о параллельном соединении
Параллельный протокол передачи данных (параллельная шина данных)
Передача нескольких сигналов с данными одновременно по нескольким параллельным каналам.
В последнее время предпочтение отдается последовательному соединению вместо параллельного, так как экономически более выгодно организовать передачу данных по одному (двум) проводам чем по нескольким параллельным, это касается и электрической разводки платы и внутренней разводки чипа, и соединение периферийных устройств. Но параллельное соединение из физического мира ушло в "мир эфира" в радиосвязь, вот там очень выгодно устанавливать и осуществлять параллельную передачу данных.
Примеры чаще всего это устаревшие шины такие как: принтерный порт (IEEE 1284/Centronics), ISA, ATA (IDE), SCSI , PCI, FSB (Front Side Bus)
По времени передачи и приему информации связь делится:
- Симплексная связь - только передача или прием данных.
- Полудуплексная связь прием и передача разнесены во времени. Сначала прием, а затем передача или наоборот.
- Дуплекс - одновременно прием и передача.
Перейдем сразу к последовательному протоколу, он делится на:
Асинхронный протокол - данные передаются без внешнего тактирующего устройства. Данные можно передавать по двум проводам прием/передача. Но нужны дополнительные усилия для синхронизации (пример UART, RS-232, 1-Wire)
Синхронный протокол - данные синхронизированы с тактирующим устройством (примеры SPI и I2C)
И у меня вопрос к читателям, а протокол USB какой синхронный или асинхронный?
UART
Universal Asynchronous Receiver-Transmitter (UART), Универсальный асинхронный приёмопередатчик (УАПП)
В 60-70годах в нашей стране не принято пользоваться англоязычными терминами поэтому UART получает свое, русское название - УАПП (Универсальный асинхронный приёмопередатчик) как и все остальные названия, например НГМД и так далее. Хорошее время было, все кратко и понятно, например скажешь УВК-1 и сразу всем все понятно, разговор идет о устройстве ввода координатном или о мышке.
Что такое UART
UART это физическая реализация интерфейса в виде логической схемы (микросхемы) которая обеспечивает прием и передачу информация в последовательном виде, в пределах одного чипа или одного устройства, на короткие дистанции. Он непригоден для приема, передачи данных на "длинные дистанции". Причем понятие длинные и короткие взяты в кавычки и это не зря. Так как все в мире относительно и в данном случае то же, но попробуем разобраться, что за такие "длинные и короткие дистанции". Когда микроконтроллеры и другие низкоуровневые ИС взаимодействуют между собой по последовательному протоколу, они делают это на уровне TTL (транзисторно-транзисторная логика). Последовательные сигналы TTL живут между диапазоном напряжения питания микроконтроллера - обычно от 0 до 5.0 вольт (так было раньше, это уже классика) ну или до 3,3 вольт (так сейчас или еще меньше до 1,8 и 1,6 вольт КМОП) Сигнал такого диапазона да еще и не защищенный передать далеко не получится иногда проблемы возникают тут сразу же, при передачи от одной микросхемы до другой, вспомним микросхемы серии К(К155, К1533, К153) из недостатков которых: высокие требования к напряжению питания, отклонение не более 0,5 В, низкая помехоустойчивость, высокие требование в правильной разводки шины земли. Так вот передать далеко эти сигналы не получится, а что делать? Самое простое тупо усилить - поднять напряжение питания так родился интерфейс RS-232
Интерфейс RS-232
(Recommended Standard 232, рекомендованный стандарт RS-232, EIA232)
Это стандарт физического уровня, надстройка над UART для приема передачи данных другим устройствам, т. е. на "длинные дистанции
В далекие годы 60 годы прошлого века (1962 год) особо не стали заворачивается с обработками сигнала, да и мощностей подходящих не было, а потом, видимо, вспомнили телеграф.
Первый трансатлантический кабель обладал очень низкой скоростью передачи 103 слова за 16 часов, а все из за того, что на огромной дистанции (чудовищная ёмкость и сопротивление длиннющего кабеля) сигналы просто "размазывало" по длинному кабелю. Для повышения скорости увеличивали напряжение и в конце концов дошли до 2000 вольт после чего кабель благополучно сгорел.
Вот и тут просто взяли да повысили напряжение логического сигнала, но на самом деле не совсем просто, а вот так, см. инже
Электрический принцип работы RS-232
Логический нуль RS-232 лежит в пределе от +3 до +12 вольт, а единица от -3 до -12, соответственно. Между -3 и +3 вольт зона ничего, не нуля и не единицы, зона неопределённости. Т. е. разработчики стандарта инвертировали сигнал, сделали отрицательное напряжение для единицы и повысили и понизили напряжение до -12, +12вольт (на самом деле до -15, +15 вольт, а иногда и до 25 вольт) Пишут даже, что в блоке питания компьютера именно поэтому и появилась -12 вольт. Хорошо же они поработали над стандартом для которого пришлось модифицировать и блок питания, сейчас бы такая фишка не прошла, хотя.
Максимальная длинна кабеля по стандарту 20 метров, но нормально прием идет до 15 метров на скорости 19200 бод, но можно передать и на 900 метров снижая скорость (помните трансатлантический кабель) до 2400бод. А вообще максимальная скорость передачи составляет 115 200 бод
Это единица измерения скорости передачи символов (символьной скорости) или скорости модуляции в символах в секунду или импульсах в секунду.
С этими БОДами сплошная путаница, обратите внимание на определение, сколько ИЛИ, давайте разбираться.
Символьная скорость
Сначала БОД придумали для того чтобы определить сколько символов, букв можно передать за секунду по телетайпу, а кодировка тогда была 5 битная. Кодировка двоичная, импульс - единица, нет импульса - нолик. Все логично и понятно.
Импульсах в секунду
Потом по линиям связи стали общаться не только люди, но и машины и передавать не только символы - буквы, но и служебные биты например синхронизации, к чему их отнести к какой букве? А канал то они то же занимают. И вот тут и началась путаница, передавался не только символ, но и служебная информация. Как считать?
Квадратурная амплитудная модуляция (КАМд)
Но потом все еще больше запуталось, потому как в одном импульсе с помощью, например квадратурной амплитудной модуляции (КАМд), можно зашифровать не один бит, а например до 16 бит.
В общем все в конце концов вообще перепуталось!
Иногда в бодах выражают полную ёмкость канала.
Полная ёмкость канала = служебная информация в бит/c + эффективная информация в бит/c.
Преобразование UART в RS-232
Самый известный преобразователь интерфейса – это микросхема, разработанная фирмой MAXIM, которая и получила от нее часть своего названия (MAX 232). Эта микросхема из 5 вольт генерирует отрицательное напряжение, чтобы сопрягать 5-вольтовый UART с RS-232.
Статья первая «COM порт – глазами ремонтника. Ремонт, настройка, диагностика».
Данный раздел содержит только теоретические данные и для практики имеет малое значение, однако именно на этот раздел будет ссылаться остальной материал, поэтому обойти стороной этот материал не удастся. Однако тем, кто знаком с принципом работы COM порта, данный раздел желательно пропустить.
Статья первая «COM порт – глазами ремонтника. Ремонт, настройка, диагностика».
Данный раздел содержит только теоретические данные и для практики имеет малое значение, однако именно на этот раздел будет ссылаться остальной материал, поэтому обойти стороной этот материал не удастся. Однако тем, кто знаком с принципом работы COM порта, данный раздел желательно пропустить.
Описание и принцип работы.
COM-порт(Communication port) - порт работающий по стандарту RS-232 (Recommended Standard 232). RS-232 - стандарт описывающий интерфейс для последовательной двунаправленной передачи двоичных данных между терминалом (DTE, Data Terminal Equipment) и конечным устройством (DCE,Data Circuit-Terminating Equipment ). В настоящее время действующим является RS-232C (Recommended Standard 232 Edition: C) редакция 1969 года, именно это стандарт мы и будем рассматривать далее. Интерфейс RS-232 реализован полностью аппаратно, это значит, что он работает всегда, не зависимо от ОС (операционной системы) или даже без ОС.
Разъемы интерфейса COM порта.
На компьютере интерфейс реализуется одним из двух типов разъемов: DB-9M или DB-25M (разъем DB-25M на современных компьютерах не применяется, однако DB-25F(M), напротив, широко используется в переферийных устройствах например - ККМ, принтера).
В современных компьютерах бытового назначения разъем COM порта может не выводится непосредственно наружу, а организован в виде вывода под планку COM порта, либо вообще отсутствует. Начиная с 1999 по спецификации РС 99 интерфейс RS-232 должен заменяться интерфейсом USB.
| | |
COM порт непосредственно установленный на материнской плате | COM порт на материнской плате под планку COM порта | Планка COM порта |