Андрей Смирнов
Время чтения: ~13 мин.
Просмотров: 24

Подключение удаленного СОМ контроллера к USB порту компьютера через несогласованные линии



Как переназначить COM порт для устройства в Windows 7

Как переназначить COM порт для устройства в Windows 7

Kak-perenaznachit-COM-port-dlya-ustroystva-v-Windows-7.jpg

Как переназначить COM порт для устройства в Windows 7

Всем привет сегодня расскажу как переназначить COM порт для устройства в Windows 7. Windows запоминает устройства, с которыми вы работали ранее. Некоторые программы некорректно работают с COM портами с номерами 10 и выше. Что же делать в случае, если ваша плата получила такой номер? Как задать COM порт для устройства? Как удалить зарезервированные COM порты? Все это и многое другое, вас ожидает в описании данной статьи, все вопросы по данной теме я жду в комментариях, в конце статьи, я постараюсь дать на них развернутый ответ.

Открываем Мой Компьютер > Свойства

Kak-perenaznachit-COM-port-dlya-ustroystva-v-Windows-7-01.png

Как переназначить COM порт для устройства в Windows 7-01

Выбираем «Дополнительные параметры системы».

Kak-perenaznachit-COM-port-dlya-ustroystva-v-Windows-7-02.png

Как переназначить COM порт для устройства в Windows 7-02

Открываем настройки переменных среды.

Kak-perenaznachit-COM-port-dlya-ustroystva-v-Windows-7-03.png

Как переназначить COM порт для устройства в Windows 7-03

Создаем новую переменную.

Kak-perenaznachit-COM-port-dlya-ustroystva-v-Windows-7-04.png

Как переназначить COM порт для устройства в Windows 7-04

Добавляем переменную DEVMGR_SHOW_NONPRESENT_DEVICES. Устанавливаем для неё значение в 1.

Kak-perenaznachit-COM-port-dlya-ustroystva-v-Windows-7-05.png

Как переназначить COM порт для устройства в Windows 7-05

Нажимаем везде «ОК» и выходим. Далее идём в Диспетчер устройств (Мой Компьютер > Свойства > Диспетчер устройств). В пункте меню «Вид» включаем отображение скрытых устройств.

Kak-perenaznachit-COM-port-dlya-ustroystva-v-Windows-7-06.png

Как переназначить COM порт для устройства в Windows 7-06

Теперь нам стали видны наши неиспользуемые устройства, занимающие COM порты и мы можем удалить их.

Kak-perenaznachit-COM-port-dlya-ustroystva-v-Windows-7-07.png

Как переназначить COM порт для устройства в Windows 7-07

В Диспетчере устройств (Мой Компьютер > Свойства > Диспетчер устройств) выбираем устройство, которому мы хотим изменить COM порт.

Kak-perenaznachit-COM-port-dlya-ustroystva-v-Windows-7-08.png

Как переназначить COM порт для устройства в Windows 7-08

На вкладке «Параметры порта» нажимаем «Дополнительно».

Kak-perenaznachit-COM-port-dlya-ustroystva-v-Windows-7-09.png

Как переназначить COM порт для устройства в Windows 7-09

Назначаем желаемый номер для COM порта и нажимаем «ОК».

Kak-perenaznachit-COM-port-dlya-ustroystva-v-Windows-7-10.png

Как переназначить COM порт для устройства в Windows 7-10

Вот так вот просто переназначить COM порт для устройства в Windows 7.

Материал сайта pyatilistnik.org

Мар 28, 2015 20:16icon2.jpgЗдравствуйте, уважаемые читатели блога Help начинающему пользователю компьютера. В данной статье мы рассмотрим опции БИОС для настройки COMпорта.COM Port 1Данная опция задает адрес ввода/вывода и номер прерывания для последовательного порта COM1.Значения опции:3F8/IRQ4 – адрес 3F8 и прерывание IRQ4;3E8/IRQ4 – адрес 3E8 и прерывание IRQ4;Auto – автоматическое определение адреса ввода/вывода и номер прерывания;Disabledотключает порт COM1.Данная опция может встретиться также под следующими названиями:COM PortOnboard Serial PortOnboard Serial Port 1OnBoard Serial Port AOnBoard Serial UART 1Serial 1Serial Port 1Serial Port ASerial Port AddressSerial Port1 AddressCOM Port 2Данная опция задает адрес ввода/вывода и номер прерывания для последовательного порта COM2.Значения опции:2F8/IRQ3 – адрес 2F8 и прерывание IRQ3;2E8/IRQ3 – адрес 2E8 и прерывание IRQ3;Auto – автоматическое определение адреса ввода/вывода и номер прерывания;Disabled – отключает порт COM2.Данная опция может встретиться также под следующими названиями:Onboard Serial Port 2OnBoard Serial Port BOnboard Serial UART2Onboard UART 2Serial 2Serial Port 2Serial Port BSerial Port2 AddressSerialPort 1/2 MidiС помощью данной опции можно переключить последовательные порты COM1 и COM2 в режим совместимости с інтерфейсом MIDI.Значения опции:Enabled – включить поддержку;Disabled – отключить поддержку.Base I/O AddressОпция позволяет задать адрес, который будет использоваться последовательным портом.Значения опции: 3F8; 2F8; 3E8; 2E8.InterruptОпция позволяет задать прерывание, которое будет использоваться последовательным портом.Значения опции: IRQ 3; IRQ 4.COMPortsAccessedВыход с энергосберегающего режима при каждом проявлении активности устройств, подключенных к COM-порту.Значения опции:On – использовать данный способ;Off – отключитьДанная опция может встретиться также под следующими названиями:COM Ports ActivityLPT & COMВыход ПК из энергосберегающего режима при активности параллельного и (или) последовательного портов.Значения опции:NONE – запретить;LPT – выход ПК из энергосберегающего режима при активности параллельного порта;COM – выход ПК из энергосберегающего режима при активности последовательного порта;LPT/COM – выход ПК из энергосберегающего режима при активности параллельного и (или) последовательного портов.Данная опция может встретиться также под следующими названиями:Wake Up Events LPT & COMCom 2 ModeДаная опция позволяет настроить использование последовательного порта COM 2 при подключении к нему инфракрасного порта.Значения опции:Standard (или Disabled)COM-порт работает в стандартном (обычном) режиме;Enabled – режим инфракрасного порта включен;HPSIR (или IrDA) – используется инфракрасный порт фирмы HP;ASKIR – используется инфракрасный порт фирмы Sharp;SCR – порт функционирует как считыватель смарт-карт.Данная опция может встретиться также под следующими названиями:Serial Port 2 ModeSerial Port B ModeUART 2 ModeUART Mode SelectUART2 Use Infrared COM Port 2 ModePort2 ModeIR Function SelectIRFunctionDuplexОпция позволяет указать режим работы последовательного порта, при подключении к нему инфракрасного порта.Значения опции:Half (или HalfDuplex) – полудуплексный режим;Full (или FullDuplex) – полнодуплексный режим.Данная опция может встретиться также под следующими названиями:IR Duplex ModeUR2 Duplex ModeUART 1/2 Duplex ModeDuplex SelectInfrared Duplex TypeTX, RX Inverting EnableОпция доступна если последовательный порт используется для подключения к нему инфракрасного порта и предназначена для указания, какие сигналы следует инвертировать, а какие нет.Значения опции:YES– сигнал передатчика (TX) не инвертируется, а сигнал приемника (RX) инвертируется;NOсигнал передатчика (TX) инвертируется, а сигнал приемника (RX) не инвертируется.Поделиться:До сих пор существует множество устройств, которые подключаются к компьютеру через СОМ порт, но, поскольку в состав современных компьютеров все реже входят СОМ порты, то связь с СОМ устройствами выполняется через USB порты дополненными специальными преобразователями сигналов. Значительное повышение частоты сигналов в USB линии (в сравнении с сигналами СОМ порта) накладывает ограничение на длину линий, повышает их стоимость и требует решения вопросов согласования линий. В этой работе на примере контроллера Arduino UNO рассматривается подключение СОМ устройства к компьютеру через протяженные несогласованные линии.

Структура канала USB – плата Arduino UNO

Типовая схема подключения контроллера Arduino UNO к компьютеру через USB порт показана на Рисунок 1. Со стороны компьютера канал связи виден как стандартный СОМ порт. Но, на самом деле, это виртуальный СОМ порт с которым компьютер обменивается пакетами данных на частоте 12 МГц, а специализированный контроллер, расположенный на плате Arduino UNO, преобразует пакеты USB данных в последовательность бит в формате асинхронного интерфейса UART с уровнями 0/5В, которые и используются основным контроллером Arduino UNO (микросхема ATmega328P) для загрузки программ и обмена данными с компьютером в процессе выполнения программ. 2iwvrtekjdf8h4twgmv_jssw8lw.pngРисунок 1. Типовое подключение контроллера Arduino UNO к компьютеру через USB порт. Временная диаграмма последовательной передачи данных по правилам UART устройства с уровнем сигналов 0/5В показана на Рисунок 2. Данные передаются байтами. Помимо данных последовательность содержит стартовый и стоповый биты и может включать другие служебные биты, например, бит контроля четности, применение которого задается в настройках СОМ порта, там же устанавливается и одна из стандартных скоростей передачи. Примечание. В семействе асинхронного интерфейса UART наиболее известен стандарт физического уровня RS-232, применяемый COM-портом компьютера. СОМ порт не имеет сигналов синхронизации, временные интервалы формируются как передатчиком так и приемником с точностью тактирования не хуже 5%.ug_vj2s1gxtbm4ioynzmitutzbe.pngРисунок 2. Временная диаграмма UART последовательной передачи данных (01001011) микросхемы ATmega328P контроллера Arduino UNO. Контроллер Arduino UNO содержит специализированный контроллер для преобразования UART сигналов в USB последовательность и наоборот. Порт USB компьютера осуществляющий связь с виртуальным СОМ портом работает в режиме Full-speed на частоте 12 Мбит/с (Рисунок 3). Этот режим поддерживает как USB 1.0. так и USB 2.0.ydej1qukjvqangi6zonbiydjfga.pngРисунок 3. Измеренный 4В сигнал на дифференциальной линии USB–COM контроллера Arduino. Длина USB кабеля 2м. Частота сигналов на USB линии 12 МГц. Для формирования сигналов использовалась запись данных в СОМ порт контроллера. Частота USB данных 12 МГц не изменялась при записи в СОМ порт как на скорости 9600 бит/c так и 115200 бит/c. Данные по шине USB передаются пакетами (Рисунок 4). Размеры пакета зависят от типа выполняемой передачи. Каждый пакет в режиме Full-speed содержит 8 бит синхронизации тактов приемника и передатчика (Sync), 8 бит идентификатора пакета (PID) и 2 бита конца пакета (EOP). Блок данных может составлять от 0 до 1023 байт. cr3-ujyheflh6sj__2zo-prq8iu.pngРисунок 4. Пример передачи пакета по дифференциальной линии USB 1.1 в режиме Full-speed [2]. Изменение состояние дифференциального сигнала соответствует передаче нуля, сохранение уровней — соответствует передаче единицы. Для улучшения синхронизации на единичных последовательностях принудительно вставляют нуль на каждые 6 единиц подряд. Кроме пакета данных передаются и другие пакеты. Для выполнения всех передач по USB требуется, чтобы 2 или 3 пакета информации были переданы между хост-контроллером и приемником. Если передача оказалась успешной, пункт назначения возвращает пакет квитирования. При обнаружении ошибки во время передачи генерируется пакет отсутствия уведомления. Дифференциальные сигналы USB передаются по витой паре экранированного 4-проводного кабеля. По стандарту, сечение сигнальных проводников высокоскоростного кабеля USB 2.0 должно быть 28 AWG и от 20 до 28 AWG для жил питания, в зависимости от длины кабеля (см. Таблица 1). Таблица 1. Примерное соответствие длины и диаметра проводов USB2 кабеля. Размер провода [3]tlq-n5ntaa7ceqqrmrlrl4pommw.png Для увеличения длины USB кабеля его снабжают встроенными усилителями сигнала. По требованию спецификации USB 2.0 для режима High-speed (до 480 Мбит/с) задержка распространения сигнала в кабеле не должна превышать 5,2 нс/м и быть не более 26 нс, что и определяет максимальную длину кабеля 5 м. Задержка на метр длины в коаксиальном кабеле обратно пропорциональна скорости распространения волны в м/c, которая вычисляется какhgr0p6tmrr-mqtdzwumn2obwemq.png, где с – скорость света 3*10^8 м/с; е — диэлектрическая проницаемость материала внутреннего изолятора; u — магнитная проницаемость изолятора. Для полиэтилена с u= 1 и е= 2,2 фазовая скорость равна 2*10^8 м/с и, соответственно, задержка 5 нс/м. Для уменьшения потерь сигнала важно обеспечить однородность волнового сопротивления (в.с.) сигнальной линии. Изменение в.с. может быть связано с некачественной заделкой кабеля, плохим согласованием элементов линии, низким качеством разъёма и др. Волновое сопротивление кабеля определяется его конструкцией. В.с. коаксиального кабеля в области высоких частот (30 кГц и выше) вычисляется по следующей формуле.wr2qa5s3wixm9gidi0cizczzxxg.png где L – продольная индуктивность закороченного кабеля, Гн; C – поперечная ёмкость разомкнутого кабеля, Ф; e — диэлектрическая проницаемость изолятора; D — диаметр изолятора; d – диаметр проводника. Величина в.с. не зависит от длины кабеля. Диэлектрическая проницаемость изоляторов лежит в диапазоне 1… 7: 1 – воздух, вакуум; 1.3… 2.4 – полиэтилен; 2.5..6 — резина; 5..7 – фарфор; 6..7 – слюда; 7 — стекло. Величина в.с. витой пары USB 2.0.кабеля составляет 90 ± 15% Ом [5]. Расчет в.с. экранированной витой пары должен учитывать и взаимное расположение проводников. В согласованном кабеле у которого нагрузка по концам, имеет сопротивление, равное в.с., вся передаваемая электромагнитная энергия полностью поглощается приемником без отражения. В неоднородных линиях и при несогласованных нагрузках в местах электрической несогласованности возникают отраженные волны и часть энергии возвращается к началу линии. Коэффициент отражения волн в кабеле равен отношениюlc1_zv8vvaebj5zlhmoro8n4wto.png, где rH — сопротивление нагрузки; Z – в.с. кабеля. Включении несогласованных элементов в USB линию может значительно исказить сигнал. Например, линия оказывается неработоспособной при включение в неё эектровводов из силового кабеля с волновым сопротивлением 10… 40 Ом.

Структура канала USB – RS-232 – плата Arduino UNO

Для обеспечения устойчивой связи удаленного СОМ устройства с компьютером через USB порт длина USB канала сведена к минимуму, на выходе USB линии поставлен USB – RS-232 преобразователь, который через длинную линию подключен к преобразователю уровней +15/-15В == 0/5В, находящегося вблизи контроллера Arduino и подключенного к его UART порту, как показано на Рисунок 5. Скорость обмена данными в этой структуре такая же как и при подключении Arduino к компьютеру через USB кабель, но частота сигнала в протяженной линии почти в 100 раз ниже — как 0,115200 Мбит/с и 12 Мбит/с. aoixvsiwqa2bxaxfyi4si28pjc4.pngРисунок 5. Схема подключения контроллера Arduino UNO к компьютеру через USB порт и длинные несогласованные линии. Обозначение контактов GND, передатчика Tx и приемника Rx на стандартном разъеме DB-9 СОМ порта компьютера показано вверху слева. Со стороны устройства сигналы TxD и RxD на разъема DB-9 надо поменять местами. Преобразователь RS232 уровней (Рисунок 5) не меняет последовательность бит. Он изменяет уровни сигнала 0/5 В в +12/-12 В и наоборот (Рисунок 6).huhzyv_qkyh-u5stayyesqssjps.pngРисунок 6. Временная диаграмма и уровни сигналов преобразователя RS232. Для преобразования уровней сигналов RS232 могут использоваться микросхемы, например, MAX232 (компании Maxim Integrated Products), SP232 (Sipex), ADM232 (Analog Devices). Эти микросхемы имеют одинаковые характеристики и назначения выводов. Подключение преобразователя MAX232 показано на Рисунок 7 [6].wa-snvrydrpgkci0u5zropit6sm.png Рынок предлагает множество модулей преобразователей уровней построенных на базе перечисленных и других микросхем. Внешний вид одного из таких модулей показан на (Рисунок 5). К компьютеру устройство можно подключить через стандартный COM порт, если он есть, или использовать преобразователь USB-RS232 (другие названия: USB-COM конвертеры, переходники или адаптеры), связанный с USB портом напрямую или через собственный USB кабель. Внешний вид USB преобразователей показан на Рисунок 5. Вариант реализации макета линии COM устройство – USB порт компьютера без RS-232 линии показан на Рисунок 8.ggy7kifuyccl_a3p7ka1nxkjd2g.pngРисунок 8. Вариант подключения контроллера Arduino UNO к преобразователю USB-COM компьютера. Для проверки работоспособности канала обмена данными между контроллером Arduino UNO и компьютером через длинную несогласованную линию был собран провод показанный на Рисунок 9 и Рисунок 10. Куски провода соединялись скруткой или удерживались в гнездах разъемов на трении.w6cf0_7_a1cjyprnsocoucxj-hy.pngРисунок 9. Канал RS232 из составного кабеля 9,5 м.z38jctb63agdqbbixhraumnjoyk.pngРисунок 10. Куски провода канала RS232 из составного кабеля 9,5 м. Передача и прием данных через СОМ порт контроллера Arduino UNO контролировалась утилитой компьютера COM Port Toolkit. Используемая для тестирования линии программа Arduino UNO, передающая в СОМ порт байты данных и переключающая светодиод контроллера по приходу внешних команд, показана ниже.

void setup() {   pinMode(LED_BUILTIN, OUTPUT);     Serial.begin(115200);  // запуск последовательного порта, 9600,115200 }  void loop() {   if (Serial.available() >0) {     mode = Serial.read(); // read byte        switch (mode) {       case 1:          digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on          break;       case 2:          digitalWrite(LED_BUILTIN, LOW);   // turn the LED off         break;       }   }   Serial.print(5); // 6 or 9 }

Осциллограммы сигналов, снятые на концах состоящей из кусков линии RS-232 показаны на Рисунке 11. Данные передаются на частоте 115200 бит/с.elskyjzafswwxi_kjgbh9on4nzg.pngРисунок 11. Сигнал амплитудой +7.5/-8 В на концах RS-232 линии составного кабеля длиной 9,5 м. Частота передачи данных 115200 бит/с. Сигнал не имеет заметных искажений.

Прошивка контроллера Arduino UNO

Загрузка программ в контроллер Arduino выполняется при помощи его внутреннего загрузчика, который запускается сразу после включения питания контроллера, или после нажатия на кнопку reset платы, или когда компьютер через линию USB выдаёт сигнал сброса. При подключении платы Arduino через канал RS-232 с двумя сигнальными линиями Tx и Rx при отсутствии линии сигнала сброса загрузка выполнялась в следующем порядке. 1. Запускалась среда разработки Arduino (как и в режиме загрузки через USB). d2n4mhhajdk4svjjwfahw_deety.png 2. Загружалась программа (как и в режиме загрузки через USB). 3. Прошивка программы запускалась командой Ctrl+U или через кнопку qyqjxayayuyxvan0djqmj8yd6ow.png (как и в режиме загрузки через USB) 4. Дополнительно, после запуска прошивки и заполнения прогресс индикатора 2ogplo_yniuyzwiy2kuijgjyv_k.png нажималась кнопка Reset 5qesi1azhl2-au0tage8o9aytce.png на плате контроллера Arduino приблизительно на 0,5 секунды. Успешная прошивка завершается сообщением hv-gztekiubul7lxfng034vlyy8.png. Прошивка выполнялась успешно и при кратковременном отключении питания контроллера, вместо нажатия на кнопку Reset. Запуск загрузчика контроллера Arduino можно выполнять и в автоматическом режиме от компьютера, без нажатия на кнопку Reset или кратковременного отключения питания. Для этого необходимо, например, канал RS-232 с Tx, Rx, и GND дополнить линией RTS и подключить ее через преобразователь уровней ко входу RESET контроллера Arduino.

Заключение

  1. Передача СОМ данных через протяженную USB линию осуществляется пакетами на более высоких частотах (12 МГц) и требует согласованной линии.
  2. Сведение до минимума длины USB тракта и использование протяженной линии для передачи СОМ данных напрямую позволило обеспечить надежную передачу данных через куски несогласованных проводов общей длинной 9,5 м.
  3. Передача RS-232 данных на низких частотах по линиям с малой ёмкостью (менее 2500 пФ) может осуществляться на расстояния до 300 м.
  4. Использование дифференциальных линий RS-422 или 485 для удаленной связей с USB портом компьютера позволяет увеличить расстояние до 1200 м, но при решении вопроса согласования линий.

Литература

1. WikipediA. The Free Encyclopedia. 2. WikipediA. The Free Encyclopedia. 3. WikipediA. The Free Encyclopedia. 4. Способы передачи по витым парам. 5. USB2.0 А вилка B вилка мультимедийный кабель. 6. +5V-Powered, Multichannel RS-232 Drivers/Receivers. 7. Dr. Bob Davidov. Преобразователь интерфейса порта последовательной передачи данных. 8. Dr. Bob Davidov. Используемые источники:

  • http://pyatilistnik.org/kak-perenaznachit-com-port-dlya-ustroystva-v-windows-7/
  • http://xiod.ru/bios-nastroyka-com-porta/
  • https://habr.com/post/341172/

Рейтинг автора
5
Подборку подготовил
Максим Уваров
Наш эксперт
Написано статей
171
Ссылка на основную публикацию
Похожие публикации