Меню Рубрики

Установка платы с ком портом

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

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

Типовая схема подключения контроллера Arduino UNO к компьютеру через USB порт показана на Рисунок 1. Со стороны компьютера канал связи виден как стандартный СОМ порт. Но, на самом деле, это виртуальный СОМ порт с которым компьютер обменивается пакетами данных на частоте 12 МГц, а специализированный контроллер, расположенный на плате Arduino UNO, преобразует пакеты USB данных в последовательность бит в формате асинхронного интерфейса UART с уровнями 0/5В, которые и используются основным контроллером Arduino UNO (микросхема ATmega328P) для загрузки программ и обмена данными с компьютером в процессе выполнения программ.


Рисунок 1. Типовое подключение контроллера Arduino UNO к компьютеру через USB порт.

Временная диаграмма последовательной передачи данных по правилам UART устройства с уровнем сигналов 0/5В показана на Рисунок 2. Данные передаются байтами. Помимо данных последовательность содержит стартовый и стоповый биты и может включать другие служебные биты, например, бит контроля четности, применение которого задается в настройках СОМ порта, там же устанавливается и одна из стандартных скоростей передачи.

Примечание. В семействе асинхронного интерфейса UART наиболее известен стандарт физического уровня RS-232, применяемый COM-портом компьютера.

СОМ порт не имеет сигналов синхронизации, временные интервалы формируются как передатчиком так и приемником с точностью тактирования не хуже 5%.


Рисунок 2. Временная диаграмма UART последовательной передачи данных (01001011) микросхемы ATmega328P контроллера Arduino UNO.

Контроллер Arduino UNO содержит специализированный контроллер для преобразования UART сигналов в USB последовательность и наоборот. Порт USB компьютера осуществляющий связь с виртуальным СОМ портом работает в режиме Full-speed на частоте 12 Мбит/с (Рисунок 3). Этот режим поддерживает как USB 1.0. так и USB 2.0.


Рисунок 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 байт.


Рисунок 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]

Для увеличения длины USB кабеля его снабжают встроенными усилителями сигнала.
По требованию спецификации USB 2.0 для режима High-speed (до 480 Мбит/с) задержка распространения сигнала в кабеле не должна превышать 5,2 нс/м и быть не более 26 нс, что и определяет максимальную длину кабеля 5 м.

Задержка на метр длины в коаксиальном кабеле обратно пропорциональна скорости распространения волны в м/c, которая вычисляется как

,
где с – скорость света 3*10^8 м/с; е — диэлектрическая проницаемость материала внутреннего изолятора; u — магнитная проницаемость изолятора. Для полиэтилена с u= 1 и е= 2,2 фазовая скорость равна 2*10^8 м/с и, соответственно, задержка 5 нс/м.

Для уменьшения потерь сигнала важно обеспечить однородность волнового сопротивления (в.с.) сигнальной линии. Изменение в.с. может быть связано с некачественной заделкой кабеля, плохим согласованием элементов линии, низким качеством разъёма и др.

Волновое сопротивление кабеля определяется его конструкцией. В.с. коаксиального кабеля в области высоких частот (30 кГц и выше) вычисляется по следующей формуле.


где 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]. Расчет в.с. экранированной витой пары должен учитывать и взаимное расположение проводников.

Читайте также:  Установка программного обеспечения ps3

В согласованном кабеле у которого нагрузка по концам, имеет сопротивление, равное в.с., вся передаваемая электромагнитная энергия полностью поглощается приемником без отражения. В неоднородных линиях и при несогласованных нагрузках в местах электрической несогласованности возникают отраженные волны и часть энергии возвращается к началу линии.
Коэффициент отражения волн в кабеле равен отношению

,
где 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 Мбит/с.


Рисунок 5. Схема подключения контроллера Arduino UNO к компьютеру через USB порт и длинные несогласованные линии. Обозначение контактов GND, передатчика Tx и приемника Rx на стандартном разъеме DB-9 СОМ порта компьютера показано вверху слева. Со стороны устройства сигналы TxD и RxD на разъема DB-9 надо поменять местами.

Интерфейс RS-232 имеет следующие характеристики [7,8].
Способ передачи сигнала Однофазный
Максимальное количество приемников 1
Максимальная скорость передачи 460 кбит/c
Максимальная длина кабеля 15 м (для 460 кбит/c)
Синфазное напряжение на выходе ± 25В
Импеданс нагрузки 3 ..7 кОм
Допустимый диапазон сигналов на входе приемника ± 25В
Чувствительность приёмника ± 3В
Входное сопротивление приёмника 3 ..7 кОм
Ёмкость нагрузки не более 2500 пкФ*
______________________
* При использовании кабеля с малой емкостью связь может поддерживаться на расстояниях до 300 м [1].

Преобразователь RS232 уровней (Рисунок 5) не меняет последовательность бит. Он изменяет уровни сигнала 0/5 В в +12/-12 В и наоборот (Рисунок 6).


Рисунок 6. Временная диаграмма и уровни сигналов преобразователя RS232.

Для преобразования уровней сигналов RS232 могут использоваться микросхемы, например, MAX232 (компании Maxim Integrated Products), SP232 (Sipex), ADM232 (Analog Devices). Эти микросхемы имеют одинаковые характеристики и назначения выводов. Подключение преобразователя MAX232 показано на Рисунок 7 [6].


Рисунок 7. Схема подключения преобразователя уровней MAX232. Схема обеспечивает уровень выходного напряжения приблизительно ± 7.5 В соответствующий интерфейсу RS-232.

Рынок предлагает множество модулей преобразователей уровней построенных на базе перечисленных и других микросхем. Внешний вид одного из таких модулей показан на (Рисунок 5).

К компьютеру устройство можно подключить через стандартный COM порт, если он есть, или использовать преобразователь USB-RS232 (другие названия: USB-COM конвертеры, переходники или адаптеры), связанный с USB портом напрямую или через собственный USB кабель. Внешний вид USB преобразователей показан на Рисунок 5.

Вариант реализации макета линии COM устройство – USB порт компьютера без RS-232 линии показан на Рисунок 8.


Рисунок 8. Вариант подключения контроллера Arduino UNO к преобразователю USB-COM компьютера.

Для проверки работоспособности канала обмена данными между контроллером Arduino UNO и компьютером через длинную несогласованную линию был собран провод показанный на Рисунок 9 и Рисунок 10. Куски провода соединялись скруткой или удерживались в гнездах разъемов на трении.


Рисунок 9. Канал RS232 из составного кабеля 9,5 м.


Рисунок 10. Куски провода канала RS232 из составного кабеля 9,5 м.

Передача и прием данных через СОМ порт контроллера Arduino UNO контролировалась утилитой компьютера COM Port Toolkit.

Используемая для тестирования линии программа Arduino UNO, передающая в СОМ порт байты данных и переключающая светодиод контроллера по приходу внешних команд, показана ниже.

Осциллограммы сигналов, снятые на концах состоящей из кусков линии RS-232 показаны на Рисунке 11. Данные передаются на частоте 115200 бит/с.


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

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

Загрузка программ в контроллер Arduino выполняется при помощи его внутреннего загрузчика, который запускается сразу после включения питания контроллера, или после нажатия на кнопку reset платы, или когда компьютер через линию USB выдаёт сигнал сброса.

Читайте также:  Установка аварийного источника энергии

При подключении платы Arduino через канал RS-232 с двумя сигнальными линиями Tx и Rx при отсутствии линии сигнала сброса загрузка выполнялась в следующем порядке.

1. Запускалась среда разработки Arduino (как и в режиме загрузки через USB).

2. Загружалась программа (как и в режиме загрузки через USB).
3. Прошивка программы запускалась командой Ctrl+U или через кнопку (как и в режиме загрузки через USB)
4. Дополнительно, после запуска прошивки и заполнения прогресс индикатора нажималась кнопка Reset на плате контроллера Arduino приблизительно на 0,5 секунды.

Успешная прошивка завершается сообщением

.

Прошивка выполнялась успешно и при кратковременном отключении питания контроллера, вместо нажатия на кнопку Reset.

Запуск загрузчика контроллера Arduino можно выполнять и в автоматическом режиме от компьютера, без нажатия на кнопку Reset или кратковременного отключения питания. Для этого необходимо, например, канал RS-232 с Tx, Rx, и GND дополнить линией RTS и подключить ее через преобразователь уровней ко входу RESET контроллера Arduino.

источник

Устанавливаем дополнительную плату с быстрыми портами

Последовательный порт Параллельный порт Эти «скромные» последовательные и параллельные порты, находящиеся на задней панели вашего ПК, выполняют довольно ответственную работу — обеспечивают соединение компьютера с внешним миром. Однако если

Эти «скромные» последовательные и параллельные порты, находящиеся на задней панели вашего ПК, выполняют довольно ответственную работу — обеспечивают соединение компьютера с внешним миром. Однако если вы хотите подключить к ПК внешний модем со скоростью передачи данных 56 кбит/с, накопитель Zip или другое быстродействующее устройство, для которого требуется параллельный порт, то ваша машина потребует модернизации.

Об этом следует задуматься и тогда, когда вы используете старую модель ПК с двумя последовательными и одним параллельным портами, расположенными на отдельной плате, так как они не могут обеспечить необходимой скорости передачи данных при работе с современными периферийными быстродействующими устройствами. Но даже для новейших компьютеров, у которых порты, как правило, расположены на системной плате, для подсоединения внешнего высокоскоростного модема или подключения к параллельному порту различных периферийных устройств также может понадобиться дополнительная высокоскоростная плата ввода-вывода.

На системной плате последовательные порты располагаются рядом с так называемой микросхемой UART (Universal Asynchronous Receiver/Transmitter — универсальный асинхронный приемник-передатчик). В старых ПК использовалась UART моделей 8250 и 16450, уже не отвечающих требованиям новейших высокоскоростных модемов. В современных же ПК применяется модель 16550, а наличия UART 16650 и 16750 вполне достаточно для обеспечения ISDN-соединения. Данные микросхемы обычно не встраиваются в системную плату. (Внутренние модели модемов имеют встроенную в них UART соответствующего типа, поэтому проблем с ними не возникает.)

В большинстве ПК имеется всего один параллельный порт, который поддерживает стандарты Enhanced Parallel Port (улучшенный параллельный порт) и Extended Capabilities Port (порт с расширенными возможностями). Такие порты обеспечивают скорость передачи данных от 1 до 2 Мбайт/с, которой вполне достаточно для решения большинства задач. Однако при подключении дополнительных периферийных устройств, чтобы избежать проблем с передачей данных, может потребоваться установка второго параллельного порта (например, если вы используете принтер и сканер одновременно, необходимо выключать один из них).

Ряд компаний предлагают большой выбор дополнительных плат ввода-вывода. Самыми известными производителями подобных устройств являются Lava Computer ( www.lavalink.com ) и Siig ( www.siig.com ). Компания Pacific Commware ( www.turbocom.com ) производит плату TurboExpress Port 920 (стоимостью около 80 долл.) с UART 16750. Установка в ПК дополнительной платы параллельного порта обойдется вам в 30 долл. Если же ваш старый ПК нуждается в полном комплекте портов ввода-вывода, то такая плата с двумя последовательными портами (по одному кристаллу UART 16550 для каждого порта) и одним параллельным будет стоить примерно 40 долл. Данные устройства устанавливаются в ISA-разъемы, но некоторые производители предлагают их и для PCI-разъемов.

В недалеком будущем все используемые в настоящее время порты будут заменены Universal Serial Bus (универсальной последовательной шиной), которая станет основным стандартом для большинства периферийных устройств. Однако не имеет смысла устанавливать плату USB в старый ПК — поддерживающие данную технологию периферийные устройства довольно редки и требуют наличия ОС Windows 95 OEM Service Release 2. Переход на платы USB будет иметь смысл при появлении Windows 98 и более богатого выбора периферийных устройств, поддерживающих данный стандарт.

Ниже описывается установка новых плат с последовательным или параллельным портами.

Последовательный порт

1. Проверьте ваши последовательные порты. Для получения точной информации о ваших COM-портах может потребоваться специальная утилита. Показанная на рисунке программа Nuts & Bolts компании Helix ( www.helixsoftware.com ) предлагает современные средства диагностики.

Читайте также:  Установка задний амортизатор на классике

Для получения информации о конфигурации портов воспользуйтесь утилитой Microsoft System Diagnostic (MSD). Ее можно найти на компакт-диске с дистрибутивом Windows 95 в каталоге OtherMsd. Запустите ее и выберите для просмотра списка COM-портов и получения информации о типе UART раздел COM Ports (COM-порты). (Если ваша мышь подключена к одному из них, то в отчете вы увидите, что UART данного порта работает неправильно. Однако сдвоенные последовательные порты всегда используют одну и ту же модель UART, поэтому указанная в списке самая быстродействующая UART используется для них обоих. Кроме того, иногда утилита MSD не может определить тип современных UART.

При работе в среде Windows 3.x можно найти утилиту MSD в каталоге DOS. В отличие от Windows 95 данная утилита определяет COM-порты однозначно.

2. Приобретите новую плату. Если в ПК установлена старая модель UART, то лучше приобрести комбинированную плату ввода-вывода, которая заменит сразу и параллельный и последовательные порты, например I/O Professional производства компании Siig (на рисунке слева).

Если планируется использовать модем со скоростью передачи данных 56 кбит/с, то лучше приобрести дополнительную плату с одним высокоскоростным портом с UART 16550. Обратите внимание на плату I/O Expander 2S компании Siig (на рисунке справа). Она имеет 9- и 25-контактные последовательные порты.

3. Установите плату. Произведите резервное копирование ваших данных. Выключите ПК и снимите его крышку. Если вы удаляете старую плату ввода-вывода, то отсоедините подключенные к ней кабели от мыши и модема.

При наличии перемычек или переключателей на новой плате прочтите прилагаемую к ней инструкцию. (Чаще встречаются платы без перемычек, поддерживающие технологию Plug & Play.)

Найдите на системной плате свободный разъем, вставьте в него новую плату и закрепите ее винтами. Если необходимо, подсоедините кабели мыши и модема.

Включите ПК и убедитесь, что все работает корректно. Установите поставляемое вместе с платой ПО. Если у вас современный ПК и на новой плате нет перемычек, то ее конфигурирование должно произойти автоматически. На старых моделях ПК (или при использовании системы Windows 3.x) плату без перемычек придется сконфигурировать с помощью поставляемого ПО.

Если старые порты встроены в системную плату, то, чтобы заработала новая плата, возможно, придется их отключить (с помощью установок BIOS).

Параллельный порт

1. Проверьте параллельный порт. Современные модели ПК имеют встроенные на системной плате порты ввода-вывода. Определить, поддерживает ли параллельный порт быстродействующие режимы EPP и ECP, относительно легко. Войдите в программу установки параметров BIOS и выберите раздел конфигурации портов (обычно обозначенный как Integrated Peripherals). Если же параллельный порт находится на отдельной плате, то обратитесь к прилагаемому Руководству пользователя. С помощью свободно распространяемой утилиты parallel.exe компании Parallel Technologies (www.lpt.com) также можно определить, поддерживает ли порт режимы EPP и ECP.

2. Купите новую плату. Если только требуется добавить в ПК второй параллельный порт, то лучшим выбором будет простая плата с одним портом, например Parallel Pro компании Siig. Убедитесь, что вы покупаете плату, поддерживающую режим EPP/ECP (иногда такие модели маркируются как IEEE 1284).

Если установить более двух параллельных портов, то могут возникнуть конфликтные ситуации с адресами ввода-вывода и запросами на прерывания.

3. Установите новую плату. Произведите резервное копирование данных, выключите ПК и снимите с него крышку.

Как правило, платы с параллельными портами имеют перемычки, поэтому внимательно прочтите Руководство пользователя. Для второго параллельного порта обычно устанавливаются адрес ввода-вывода 278 и прерывание IRQ 5. Порты, поддерживающие режим ECP, требуют также канал прямого доступа к памяти, обычно первый. Найдите свободный разъем, вставьте в него новую плату и закрепите ее винтами. Не закрывайте крышку корпуса ПК, пока не убедились, что все работает корректно.

Включите ПК. Если при установке параллельных портов не было добавлено другого оборудования, то для их работы не требуется установки специального ПО или проведения (как правило) дополнительных процедур конфигурации.

Проверьте, открыты ли ваши порты. Если вы работаете в среде Windows 95, то нажмите кнопку «Пуск» (Start), выберите пункты меню «Настройка Панель управления» (Settings Control Panel) и щелкните мышью на значке «Система» (System). Выделите закладку «Устройства» (Device Manager). Если рядом с названием порта стоит восклицательный знак, то это свидетельствует о существовании проблемы. Найдите в справочной системе Windows 95 раздел «Разрешение конфликтов между оборудованием» (Hardware Conflict Troubleshooter) и следуйте инструкциям данного раздела.

источник