USB 2.0 : какова реальная скорость? | Мир ПК
Пользователи ПК оценили по достоинству действительно универсальные USB-порты своих машин. Однако высокоскоростные периферийные устройства, типа внешних жестких дисков, вполне могут превратить обеспечиваемую USB скорость передачи данных, равную 1,5 Мбайт/с (12 Мбит/с), в то узкое место, которое будет сдерживать общую производительность системы. Что же, обратитесь в таком случае к порту USB 2.0, иначе называемому Hi-Speed USB (высокоскоростной USB-порт). По заявлению разработчиков, в нем сочетаются универсальность предшественника, совместимость с нынешними USB-продуктами и скорость обмена данными, достигающая 60 Мбайт/с (480 Мбит/с). Это в 40 раз быстрее, чем позволяли аппараты с USB 1.1.
Для того чтобы выяснить, соответствуют ли реальные свойства USB 2.0 рекламным обещаниям, мы провели серию тестов. Первыми были дисководы CD-RW, которые в полной мере реализовать скоростные преимущества USB 2.0 не смогли.
Но с началом массового выпуска плат расширения и периферийных аппаратов стандарта USB 2.
0 мы решили исследовать их более детально.
Хорошая новость: хотя некоторые из производителей периферийных устройств рекомендуют для каждого из своих продуктов конкретный адаптер USB 2.0, испытания, проведенные в Тестовом центре журнала PC World, продемонстрировали значительную степень совместимости между продуктами с портами Hi-Speed USB. Быстродействие, однако, не соответствует широко разрекламированным обещаниям. Максимальное ускорение переноса данных, достигнутое при обмене информацией между ПК и внешним жестким диском, свелось к увеличению в 12,6 раза. При тестировании других устройств с USB 2.0, дисковода CD-RW и сканера прирост производительности оказался существенно меньшим по причине более низкой пиковой производительности самих этих аппаратов.
И все же Hi-Speed USB — это отнюдь не пустышка. По сравнению с любыми другими модернизациями, кроме разве что установки интерфейса IEEE 1394, — это самый эффективный способ вложения денег. Пользователь получает реальный шанс реализовать дополнительные преимущества современных внешних устройств.
Прогресс тем более впечатляет, если учесть, что ожидаемая стоимость платы PCI USB 2.0 вместе с соответствующим кабелем — менее 100 долл. (Здесь и далее даны цены в США. — Прим. ред.)
Тесты и их результаты
Мы проанализировали работу пяти плат PCI c портами Hi-Speed USB: USB2connect 3100LP корпорации Adaptec (49 долл.), USB 2.0 F5U220 фирмы Belkin (69 долл.), USB 2.0 U2PCI-5 компании Keyspan (59 долл.), OrangeUSB 2/0 Hi-Speed PCI производства Orange Micro (69 долл.) и, наконец, USB 2.0 5-Port PCI компании SIIG (40 долл.) Для каждой из них использовался драйвер, предоставляемый производителем.
Все пять перечисленных USB 2.0 PCI-плат тестировались со следующими устройствами: 200-долл. внешним жестким диском Personal Storage 3000LE фирмы Maxtor емкостью 40 Гбайт и скоростью вращения 5400 об/мин, 400-долл. планшетным фотосканером Perfection 2450 компании Epson и 200-долл. внешним 24X/10X/40X-дисководом CD-RW 241040UE VeloCD производства TDK.
Тест проводился на ПК IBM NetVista в следующей конфигурации: процессор Intel Pentium 4 с тактовой частотой 1,4 ГГц, оперативная память объемом 256 Мбайт, внутренний жесткий диск на 60 Гбайт и операционная система Windows XP Professional.
Мы поочередно устанавливали платы на этот компьютер и тестировали их со всеми тремя периферийными устройствами перед тем, как переходить к испытанию следующей платы. Чтобы результаты были сопоставимы, тесты для USB 1.1 проводились с использованием интегрированных портов USB 1.1 того же самого ПК (см. табл. «USB 2.0 против 1.1…»)
Начнем с главного: каждая из комбинаций платы и периферийного устройства работала. Это, конечно, закономерно для продуктов, соответствующих какому бы то ни было единому стандарту. Тем не менее оказалось приятной неожиданностью, так как некоторые из производителей, рекомендуя для каждого из своих устройств с USB 2.0 совершенно конкретную плату PCI, заставляли сомневаться в совместимости различных комбинаций плат и периферии. Например, когда компания Sony прошлой осенью выпустила изящный комбинированный дисковод CD-RW/DVD-ROM (модель CRX85U/A2), то она, ссылаясь на результаты «многочисленных тестов на совместимость», советовала использовать плату производства компании Adaptec.
В настоящее время, оставляя в силе прежние рекомендации, представитель Sony отмечает, однако, что их дисковод должен работать с любой платой, несущей на себе логотип Hi-Speed USB.
На упаковках всех протестированных нами PCI-адаптеров этот логотип имелся. Его наличие означает, что продукт прошел тест на совместимость, введенный поддерживающей соответствующий стандарт организацией USB Implementers Forum (USB-IF).
Второе наше наблюдение — это поразительное сходство в быстродействии плат: различие по этому параметру в большинстве тестов составило 1% или менее того. Мы приписываем этот результат в основном тому обстоятельству, что во всех платах использован один и тот же контроллер фирмы NEC.
Уже после того, как мы завершили тестирование, о котором здесь рассказано, компания Microsoft выпустила окончательную версию драйвера USB 2.0 для операционной системы Windows XP. По заявлению ее представителей, вскоре появятся драйверы для Windows 2000. А вот аналогичных планов в отношении операционных систем Windows Me и Windows 98 у нее, к сожалению, нет.
Довольно-таки шустро
Из трех периферийных устройств, которые мы протестировали, наибольший прирост скорости передачи данных показал внешний жесткий диск компании Maxtor. Среднее время, потребовавшееся пяти платам на завершение копирования файлов на этот диск, составило 58 с — в 12,6 раза быстрее, чем 12 мин 13 с, затраченные при использовании порта USB 1.1. Средний показатель для пяти адаптеров в тесте на работу с Photoshop составил 4 мин 24 с — в 8,5 раза быстрее, чем 37 мин 19 с для порта USB 1.1. Но при всем этом простенький анализ показал, что внутренний жесткий диск со скоростью вращения 5400 об/мин и стандартной шиной UDMA/100 работает значительно быстрее протестированного внешнего с портом USB 2.0.
Однако обвинять диск компании Maxtor не стоит: он-то как раз способен на устойчивую передачу данных со скоростью до 46,7 Мбайт/с (около 374 Мбит/с). Это медленнее, чем теоретический максимум, достижимый Hi-Speed USB, но все же много быстрее, чем фактически показанная им скорость в 11,2 Мбайт/с (90 Мбит/с).
Чтобы выяснить причину замедления, мы обратились к Джейсону Зиллеру, президенту USB-IF и менеджеру по техническим инициативам компании Intel. По его словам, по меньшей мере от 10 до 15% всей заявленной скорости в 60 Мбайт/с (480 Мбит/с) уходит на протокольные (служебные) данные, т. е. на поддержание коммуникационного протокола между платой и периферийным устройством. Кроме того, считает Д. Зиллер, за более низкие, чем ожидалось, показатели, несут ответственность ОС и контроллер, пока еще не вполне оптимизированные для обеспечения максимального быстродействия. По мере того как производители соответствующих микросхем и создатели драйверов будут отлаживать свою продукцию, реальная производительность USB 2.0 возрастет.
Сканеры и дисководы CD-RW
Наши тесты с использованием внешнего дисковода CD-RW компании TDK также выявили значительное приращение быстродействия, обеспечиваемое Hi-Speed USB, хотя ограничения, присущие даже очень быстрому накопителю CD-RW, не позволяют получить прирост производительности, подобный тому, который показал жесткий диск.
В тесте на извлечение цифровых аудиоданных наши пять плат Hi-Speed USB завершили задачу со средним результатом в 98 с, что означало четырехкратное ускорение по сравнению с 6 мин 32 с для порта USB 1.1. В тесте с записью на CD-R интерфейс Hi-Speed USB дал пятикратное приращение быстродействия: скорость передачи составила около 2,7 Мбайт/с (21 Мбит/с). Заявленная для дисковода производительность, 24X, теоретически должна быть в состоянии обеспечить максимальную скорость передачи данных, равную 3,6 Мбайт/с (28,8 Мбит/с), а для чтения — 40X, т. е. 6 Мбайт/с (48 Мбит/с).
Результаты, полученные при тестировании CD-RW, оказались сопоставимы с показателями внутренних дисководов, исследованных нами ранее. Это означает, что с портом USB 2.0 пользователю уже не приходится приносить быстродействие в жертву удобству применения внешнего аппарата.
В случае сканера ограничения на скорость передачи данных еще более заметны. Сканер фирмы Epson в нашем тесте на передачу изображения с разрешением 300 т/д работал с портом USB 2.
0 в 1,7 раза быстрее, чем с портом USB 1.1, а при разрешении 1600 т/д приращение скорости было двукратным. По словам инженеров фирмы Epson, это соответствует их ожиданиям, поскольку буферы памяти большинства сканеров попросту слишком малы для того, чтобы в полной мере реализовать преимущества Hi-Speed USB. Но даже с учетом этого сканирование изображения высокого разрешения было завершено через Hi-Speed USB всего лишь за 6 мин 44 с — почти на 7 мин быстрее, чем при использовании USB 1.1. Эта разница может оказаться действительно существенной, если приходится часто и много сканировать.
Вполне может статься, что скоро каждый ПК будет укомплектован Hi-Speed USB. В январе 2002 г. фирма Gateway стала первым крупным поставщиком ПК, предлагающим системы с Hi-Speed USB на системной плате. Джейсон Зиллер из USB-IF ожидает, что другие производители компьютерных систем последуют этому примеру уже в ближайшие месяцы.
Готовьтесь к повсеместному распространению
Но настоящий прирост производительности пользователи ощутят только тогда, когда добавлять в свои продукты оборудование для USB 2.
0 станут производители наборов микросхем. Зиллер говорит, что компания Intel запустит в производство новый набор микросхем со встроенным Hi-Speed USB предстоящим летом, а фирмы Silicon Integrated Systems и Via Technologies намерены добавить Hi-Speed USB к линейкам своей продукции в течение ближайших месяцев.
А пока что, если вы намереваетесь приобретать новый сканер, внешний дисковод CD-RW, внешний жесткий диск или любое другое периферийное устройство, которое способно хотя бы частично использовать более высокую скорость передачи данных, обеспечиваемую USB 2.0, мы рекомендуем оснастить компьютер платой расширения. В конце концов, любая модернизация, которая позволяет безболезненно увеличить быстродействие ПК в два—пять раз (или даже больше) и обходится при этом менее чем в 100 долл., заслуживает внимания.
USB 3.0 против USB 2.0 — сравнение скорости в реальных задачах – Вадим Стеркин
В прошлый раз мы измеряли скорость чтения и записи флэшек USB 2.0 и 3.0 с помощью CrystalDiskMark.
Теперь настало время посмотреть, в какой выигрыш по времени выливается использование USB 3.0 при повседневных действиях с флэшкой.
Чаще всего я использую флэшки для копирования фильмов и документов. Поэтому меня интересовали именно эти два аспекта.
Наборы файлов для копирования
Очевидно, фильмы – это большие файлы, а документы по сравнению с ними — маленькие. Я создал два набора файлов:
- Большие – первый попавшийся под руку рип фильма размером в 1.5 Гб, а также запись футбольного матча Россия – Ирландия, из двух таймов по 750 Мб каждый. Этого достаточно, чтобы поездка из Москвы в Питер на Сапсане прошла незаметно 🙂 Общий объем файлов составил 3 Гб.
- Маленькие – папка с записями блога, которая содержит документы в формате DOCX, а также их экспортированные в HTML версии с картинками в отдельных папках. Всего в папке было 635 файлов общим объемом 78 Мб.
Сначала эти наборы копировались с диска на флэшки Transcend JF620 (USB 2.
0) и ADATA S102 (USB 2.0 и USB 3.0), а затем копировались обратно. Время засекалось вручную с помощью утилиты 1Time.
Скорость работы флэшек при подключении к порту USB 2.0
Transcend и ADATA сравнивались по длительности чтения и записи обоих наборов файлов.
Чтение
Напомню, что утилита CrystalDiskMark показала скорость последовательного чтения 29 Мб/с для Transcend и 30 Мб/с для ADATA.
Папка с записями блога скопировалась на диск с обоих флэшек моментально, поэтому я определил это время в 1 секунду. А вот с фильмами наблюдалась другая картина — ADATA справилась с набором больших файлов почти в два раза быстрее. Как видите, результаты программных тестов не всегда верно отражают реальную ситуацию!
Запись
Исходя из тестов CrystalDiskMark, скорость последовательной записи ADATA была на треть выше, чем у Transcend.
Эксперимент с обоими наборами файлов показал примерно то же самое. Большие файлы скопировались ровно на 30% быстрее, а маленькие – почти на 40%.
Скорость работы ADATA S102 при подключении к портам USB 2.0 и 3.0
Я поочередно подключал флэшку к разным портам и выполнял операции с обоими наборами файлов. Однако в этот раз я добавил к тесту еще одну переменную — скорость диска!
Скорость USB 2.0 проверялась при обмене данными с твредотельным накопителем Kingston SSDNow V100. Однако в системе также установлен типовой ноутбучный труженик — Toshiba MK 7559, 5400 rpm. Интересно было посмотреть, насколько флэшка USB 3.0 может соревноваться с таким диском.
Чтение
Напомню, что CrystalDiskMark оценила скорость последовательного чтения в 119 Мб/с при подключении к USB 3.0, что почти в 4 раза быстрее, чем при использовании интерфейса 2.0.
При копировании с флэшки на диск набора маленьких файлов ощутимой разницы опять не обнаружилось – трудно сделать это быстрее, чем за 1 секунду.
Перенос больших файлов завершился в 2.5 раза быстрее. По-моему, 3 Гб за 20 секунд – очень приличная скорость! Однако снова видно расхождение с тестами CrystalDiskMark — на сей раз в сторону более скромных результатов в реальных условиях.
USB 3.0 против HDD 5400 rpm
Также заметьте, что копирование файлов на HDD заняло больше времени, нежели на SSD. Это значит, что скорость чтения с флэшки USB 3.0 оказалась выше скорости записи диска 5400 rpm. И тест CrystalDiskMark это подтверждает:
Запись
Скорость последовательной записи ADATA в утилите CrystalDiskMark была оценена в 35 Мб/с при подключении к порту USB 3.0 против 22 Мб/с при использовании порта 2.0.
Набор маленьких файлов записался на флэшку фактически с одинаковой скоростью, т.е. интерфейс USB 3.0 не дал ощутимого преимущества. Запись же больших файлов заняла на 25% меньше времени, чем при использовании USB 2.0. Здесь тоже результаты оказались скромнее, чем обещали цифры CrystalDiskMark.
USB 3.0 против HDD 5400 rpm
В данном случае разницы между SSD и HDD не наблюдается. Это неудивительно, ведь скорость чтения с HDD намного выше, чем запись на USB 3.0.
Таким образом, SSD дает преимущество только при копировании данных с флэшки USB 3.
0 на диск.
Выводы
- Скорость чтения, т.е. копирования данных с флэшки на диск, ощутимо возросла лишь при переносе больших файлов, который завершился в 2.5 раза быстрее. При этом она оказалась выше скорости записи стандартного ноутбучного жесткого диска (5400 rpm) — именно он являлся узким местом во время операции.
- Скорость записи, т.е. копирования данных с диска на флэшку, также возросла только при переносе больших файлов, который завершился на 25% быстрее
Конечно, эти показатели могут варьироваться в зависимости от набора файлов, но общая картина понятна.
Тем не менее, интерфейс USB 3.0 позволяет быстрее обмениваться файлами между флэшкой и жестким диском компьютера, причем эта разница особенно ощутима при чтении данных с флэшки.
В целом, прирост производительности соответствовал моим ожиданиям, хотя я рассчитывал на чуть больший выигрыш при записи.
В любом случае, я не разочарован, потому что флэшка ADATA оказалась быстрее Transcend даже при подключении к порту USB 2.0. Несмотря на то, что ADATA вмещает в два раза меньше данных (16 Гб против 32 Гб), для меня скорость имеет большее значение, чем объем.
А что вы думаете об этих результатах? Стоит ли покупать устройства USB 3.0 сейчас ради такого выигрыша в производительности или это не имеет смысла?
Если у вас есть возможность протестировать устройства USB 3.0 при выполнении ваших повседневных задач, поделитесь результатами в комментариях!
Последовательные мосты USB-UART
Преобразователи или мосты USB-UART представляют собой последовательный порт для вашего компьютера и отправляют последовательные данные по паре проводов.
Их можно использовать для последовательного подключения к другому устройству. В этом посте мы рассмотрим, как это работает.
Приложения
С точки зрения хакеров наиболее интересным применением UART являются встроенные устройства. Большинство встроенных устройств имеют разъем UART на плате. Устройство отправляет консольный вывод и принимает команды через интерфейс UART. Часто это дает прямой доступ к корневой оболочке.
Связь UART иногда также необходима для взаимодействия с отладочной платой, такой как Arduino или ESP8266, хотя большинство этих плат имеют встроенный преобразователь USB в последовательный порт.
Несколько других протоколов основаны на связи UART, например, порты IrDA, DMX, MIDI и смарт-счетчика P1. Их можно использовать с мостами USB-UART, но для их работы требуется дополнительный взлом.
Связь с помощью UART
Когда два устройства обмениваются данными с помощью UART, они соединяются как минимум тремя проводами:
- Общая масса, или 0 В, или отрицательный провод источника питания.

- Передающий контакт (Tx) одного устройства подключен к приемному контакту (Rx) другого устройства.
- Аналогично Rx подключается к Tx.
- Для изолированных адаптеров Vcc или положительный провод источника питания.
Теперь устройства могут отправлять данные друг другу, изменяя напряжение на линиях Tx, и считывать данные, проверяя напряжение на линии Rx. UART использует бинарный протокол, поэтому существует только два уровня напряжения: высокий и низкий.
Нет тактового сигнала и согласования между двумя устройствами. Для правильной связи оба устройства должны быть заранее настроены на использование одной и той же скорости связи, называемой скоростью передачи данных.
Скорость в бодах
Скорость в бодах — это число битов в секунду, передаваемых по проводу. Обычная скорость передачи составляет 9600 бит в секунду. В этом случае один бит занимает 1 ∕ 9600 секунд или 104 мкс.
Передающая сторона переключает сигнал каждые 104 мкс, а принимающая сторона проверяет напряжение на линии каждые 104 мкс.
Это все еще будет работать, если это на пару процентов. Это иногда происходит с микроконтроллерами, у которых есть проблемы с поддержанием точных часов.
Наиболее распространенными скоростями передачи являются 9600 и 115200. Кроме того, существует несколько стандартных скоростей передачи, таких как 19200 и 38400. Теоретически вы можете использовать любую скорость передачи данных, но старые интерфейсы поддерживают только стандартные скорости передачи данных. Можно использовать разные скорости передачи для отправки и получения, хотя это довольно редко.
Стартовый, стоповый биты и биты четности
Кадры UART состоят из стартового бита, семи или восьми битов данных, дополнительно бита четности и одного или двух стоповых битов. На сегодняшний день наиболее распространенной конфигурацией является использование восьми битов данных, без бита четности и одного стопового бита, или 8N1. Таким образом, передающая сторона сначала отправляет стартовый бит, затем восемь битов данных, а затем стоповый бит.
Уровни напряжения
UART используют два напряжения: одно напряжение указывает на 0 бит, а другое напряжение указывает на 1 бит. Какое конкретно напряжение используется, зависит от устройства:
- Последовательные порты RS232 используют отрицательное и положительное напряжения, до -15В и 15В.
- Некоторые устройства используют 0 В и 5 В, например Arduino Uno, работающий от 5 В.
- Большинство устройств используют 0 В и 3,3 В.
- Некоторые устройства используют 0 В и 1,8 В.
Для RS232 отрицательное напряжение равно логической 1, положительное напряжение равно 0. Для большинства других устройств UART 0 В соответствует 0 биту, а более высокое напряжение соответствует 1 биту.
Чтобы не поджарить устройство, важно использовать правильное напряжение. Подключение вашего 3,3-вольтового моста к 15-вольтовой линии RS232 быстро разрушит его.
Напряжение в диапазоне от 0 до напряжения питания (Vcc) также называется уровнями напряжения TTL.
Уровни напряжения TTL 5 В считают все выше 2 В высоким логическим уровнем и, таким образом, могут также получать данные от устройств UART 3,3 В. Таким образом, в этом случае можно обмениваться данными с 5-вольтовым UART, используя 3,3-вольтовый UART.
Модуль преобразователя USB в UART
Чтобы ваш компьютер мог общаться по UART, вам нужно устройство, которое преобразует компьютерные байты в сигналы UART; модуль преобразователя USB в UART. Это небольшое устройство, которое подключается к вашему USB-порту и имеет по крайней мере выходы заземления, Rx и Tx. Он притворяется последовательным портом к вашему компьютеру. Компьютер отправляет данные на этот последовательный порт, а модуль преобразует их в сигналы UART.
Отличия микросхем
Мост USB-UART имеет микросхему специально для этой цели. Существует несколько часто используемых семейств микросхем:
- Цзянсу Циньхэн / ЧМ Ч440
- Силикон Лабс CP2102
- Продуктивный PL2303
- ФТДИ FT232
Имеются разные версии с разными характеристиками:
| Чип | Цена | Напряжение ввода/вывода | Максимальная скорость передачи | Размер буфера | GPIO | Лист данных |
|---|---|---|---|---|---|---|
| Ч440 | 0,25 € | 3,3/5 В | 2 Мбит/с | 32 + 32 В | 0 | Ч440 |
| Ч441 | 0,75 € | 3,3/5 В | 2 Мбит/с | 32 + 32 В | 0 | Ч441 |
| СР2102 | 0,75 € | 3,3 В 1 | 1 Мбит/с | 576 + 640 Б | 0 | КП2102/9 |
| КП2102Н | 1,50 € | 3,3 В | 3 Мбит/с | 512 + 512 Б | 7 | КП2102Н |
| PL2303HXD | 0,90 € | 12 Мбит/с | 512 Б | 4 | ПЛ2303ХСД | |
| PL2303TA | 0,70 € | 1,8–3,3 В | 6 Мбит/с | 512 Б | 2 | ПЛ2303ТА |
| ФТ232Р | 3,50 € | 1,8–5 В | 3 Мбит/с | 128 + 256 В | 4 | ФТ232Р |
| FT231X | 1,80 € | 1,8–4 В | 3 Мбит/с | 512 + 512 Б | 4 | ФТ231С |
- Максимальное выходное напряжение CP2102 и PL2302HXD составляет 3,3 В, но на входе они могут принимать до 5 В, что делает их совместимыми с 5-вольтовыми устройствами UART.
Помимо различий в чипах, качество драйверов также различается между различными чипами. Некоторые чипы имеют драйверы Windows, встроенные в Windows или распространяемые через Центр обновления Windows, что обеспечивает работу по принципу plug-and-play. Другие чипы имеют драйверы, которые надежно приводят к сбою операционной системы при чтении и записи на устройство значительных объемов данных. Linux является исключением в этом отношении, поскольку драйверы Linux пишутся, поддерживаются и проверяются разработчиками ядра, а не производителем чипа.
FTDI является самым длинным и ранее был единственной реализацией, доступной для мостов USB-UART. Они были настолько распространены, что мост часто называли FTDI по названию компании, изготовившей микросхему преобразователя. В настоящее время их быстро вытесняют гораздо более дешевые китайские микросхемы-преобразователи.
Поддельные чипы FTDI
Чипы FTDI FT232 довольно популярны и относительно дороги (3,50 евро).
Это привело к росту количества подделок из Китая. Эти имитации имеют логотип FTDI и работают правильно, и их трудно отличить от подделок.
FTDI это не понравилось. В 2014 году они выпустили обновление драйвера, которое работает только с настоящими чипами FTDI, и блокируют поддельные чипы. Позже они отказались от этого неоднозначного поведения, но это серьезно подорвало их репутацию. Несмотря на это, поддельные чипы FT232 по-прежнему широко используются и доступны.
Отличия адаптеров
Самые дешевые адаптеры просто имеют USB-порт и контактный разъем, напрямую подключенный к чипу. Обычно они выставляют только землю, положительное напряжение (Vcc), Rx и Tx, а не другие модемные линии управления данными, такие как RTS и CTS.
Существуют также адаптеры с гальванической развязкой. Они используют землю и Vcc устройства, с которым вы хотите связаться, и не соединяют электрически устройство с вашим компьютером. Это защитит ваш компьютер от высокого напряжения, предотвратит появление контуров заземления и уменьшит шум.
Эти адаптеры дороже, но они могут спасти жизнь вашему компьютеру, если вы когда-нибудь по ошибке подключите мост к высокому напряжению.
Руководство покупателя
При выборе моста USB-UART имейте в виду следующее:
- Уровень напряжения. Определите уровень напряжения, который вы хотите использовать. Некоторые мосты поддерживают как 3,3 В, так и 5 В, и есть небольшая перемычка для переключения напряжения.
- Драйверы. Проверьте, есть ли драйверы для моста, который вы хотите купить, для вашей платформы.
- Мигающие светодиоды. Они выглядят круто и могут помочь вам в устранении неполадок.
- USB-разъем. Некоторые мосты подключаются прямо к вашему компьютеру, но часто удобно иметь USB-кабель между компьютером и мостом, чтобы у вас было больше места на столе. Мосты с разъемами mini-USB довольно распространены, но я предпочитаю разъемы micro-USB.
- Особенности. Вам нужны специальные функции, такие как инвертированные сигналы или специальное СППЗУ? Проверьте техпаспорт чипа.

- Скорость. Вам нужны особенно быстрые или необычные скорости? Проверьте техпаспорт чипа.
- Гальваническая развязка. Как описано выше, электрическое отключение соединения USB от контактов ввода-вывода защищает компьютер от повреждения.
- Сигналы управления модемом. Если вам нужны управляющие сигналы RTS, CTS, DSR, DTR, DCD и RI, убедитесь, что ваш мост имеет для них контакты.
Я думаю, что чипы FTDI самые лучшие. Они также самые дорогие, и трудно определить, есть ли у вас настоящий чип или дешевая подделка.
Для обычного использования UART подойдет любой чип. С самым дешевым мостом на AliExpress (0,50 евро) вы можете нормально общаться со встроенными устройствами.
Драйверы
Ваш компьютер должен уметь общаться с модулем, а для этого вам нужны драйверы. Если вы подключите модуль к компьютеру, вы должны получить последовательный порт. Если этого не происходит, вероятно, вам нужен драйвер.
В Linux драйверы поставляются с ядром.
MacOS поставляется со встроенными драйверами для определенных микросхем. Некоторые микросхемы FTDI поддерживаются в MacOS 10.9 или 10.10, а некоторые микросхемы Ch440 и PL2303 поддерживаются в MacOS 10.14. Для других чипов нужны драйвера на MacOS. Например, драйвер Ch440 можно установить с помощью homebrew с помощью следующей команды:
варочная бочка устанавливает wch-ch44x-usb-serial-driver
В качестве альтернативы вы можете использовать отличное приложение Serial для macOS, которое поставляется с собственными драйверами.
В Windows вам потребуются драйверы. Для чипов FTDI их можно получить через Центр обновления Windows, а для других установщик можно найти на сайте производителя.
Некоторые из этих драйверов сомнительного качества и могут сделать вашу систему нестабильной. Я мог надежно вывести из строя свой Mac, прочитав и записав большой объем данных в последовательный порт при использовании драйвера Ch440.
Поиск имени последовательного порта
Мост USB-UART добавляет к вашему компьютеру последовательный порт. Чтобы общаться через UART, вы должны читать и писать в правильный последовательный порт. Если вы не можете найти правильный порт, возможно, у вас проблемы с драйверами или USB-подключением к мосту.
Linux
Устройство называется что-то вроде /dev/ttyUSB0. Если вы подключите устройство и посмотрите в журналах ( sudo dmesg ), строка обычно указывает, где подключено вновь найденное устройство:
macOS
Устройство называется примерно так /dev/tty.wchusbserial1410. Я не нашел надежного способа получить имя файла этого порта. Вы можете попробовать следующее:
- Просмотрите журналы, используя
sudo dmesg. - Выведите список USB-устройств, используя
ioreg -p IOUSBили перейдя в «Об этом Mac», «Системный отчет», «USB».
Если ничего не помогает, перечислите все файлы в /dev, подключите устройство, снова перечислите и сравните два:
$ ls /dev > перед.txt $ ls /dev > после.txt $ diff до.txt после.txt 268а269,270 > cu.usbserial-1410 > cu.wchusbserial1410 444а447,448 > tty.usbserial-1410 > tty.wchusbserial1410
Windows
В Windows порт называется COM3 или другим номером. Вы можете найти правильный номер порта в диспетчере устройств.
Связь с последовательным портом
Вам необходимо программное обеспечение, которое устанавливает скорость передачи и отправляет и получает байты через последовательный порт. Используйте tio в Linux, Putty в Windows и Serial в macOS. Не используйте экран .
При использовании Putty в Windows отключите квитирование программного обеспечения, которое включено по умолчанию. В меню Serial установите Flow control на None .
Обычно требуется программное обеспечение, которое поддерживает произвольные скорости передачи данных и информирует вас о том, что происходит. В связи с этим экрана и gtkterm недостаточно.
В то время как экран может установить последовательное соединение и может работать правильно, он не информирует вас, когда он не может делать то, что вы хотите. Если вы запустите команду screen /dev/ttyUSB0 128000 , вы можете ожидать, что скорость передачи будет установлена на 128000. Однако это неподдерживаемая скорость передачи, и screen молча возвращается к 9600. Вроде все в порядке, за исключением скорости передачи. неправильно.
Еще более странно, что screen /dev/ttyUSB0 4098 использует скорость передачи 115200, потому что константа ядра B115200 равна 4098 , а screen интерпретирует данное число в любом случае.
у.е. 9Команда 0314, по крайней мере, сообщает вам, что скорость передачи данных не поддерживается.
Все, что вы вводите, отправляется по последовательной линии, что может затруднить выход из программы. Для выхода используйте следующие сочетания клавиш:
- экран: ctrl-a, k, y
- тио: ctrl-t, q
- у.
е.: ~. введите
Поиск интерфейса UART на устройстве
Если вы хотите подключиться к встроенному устройству, первым делом нужно найти правильные контакты на плате. Часто имеется ряд из четырех или пяти контактов, по крайней мере, с заземлением, Vcc, Rx и Tx. Иногда штифты отсутствуют и остаются только отверстия. Часто такое соединение маркируется как J5 или другим номером.
На следующем изображении вы видите интерфейс UART на модеме Huawei. Устройство пришло с пустыми контактными площадками, и я припаял к нему контакты. На шелкографии можно увидеть маленькую таблицу с описанием контактов: Tx, Gnd, Vcc, Rx. Контакты на правой стороне — это контакты JTAG. Наличие UART и JTAG в одном разъеме позволяет легко подключить отладочный кабель к плате для отладки. По тем же причинам отладочные порты часто находятся сбоку платы.
Если вы подозреваете, что контакт является линией UART, первым делом измерьте напряжение с помощью мультиметра. Сначала найдите хорошее соединение для общей массы и подключите к нему черный провод мультиметра.
Затем измерьте напряжение на подозрительных контактах красным щупом. Линия Tx будет 3,3 В в режиме ожидания. Продолжайте измерения, перезагружая устройство. Данные часто отправляются при загрузке, поэтому мы можем использовать это, чтобы определить, отправляются ли данные по линии. Если данные отправляются, напряжение временно упадет ниже 3 В в соответствии с показаниями мультиметра.
Теперь вы определили, что линия имеет допустимое напряжение и на ней есть активность. Это еще не означает, что линия является линией UART, она может использовать другой протокол, такой как I2C или SPI. Один из способов определить это — использовать логический анализатор или осциллограф для просмотра электрических сигналов. Или вы можете подключить мост USB к UART и посмотреть, работает ли он.
В примере ниже камера имеет пять отверстий, изначально спрятанных под белой наклейкой. Это позволяет получить доступ к интерфейсу UART извне. Однако я не смог заставить это работать и припаял провода к контактным площадкам.
Пэды имеют маркировку TP41, TP42 и т. д., где TP означает контрольную точку.
Подключение к устройству
Перед подключением к устройству убедитесь, что оно излучает напряжение, совместимое с вашим мостом. Линии RS232, например, используют -15 и +15 В, что может легко испортить ваш мост. Даже если напряжение приемлемо, вы можете установить резистор 300 Ом между вашим мостом и устройством, чтобы предотвратить слишком большие токи.
При подключении моста UART к устройству подключите землю, Tx и Rx. Rx моста соединяется с Tx устройства и наоборот.
Необходимость подключения Vcc зависит от того, используете ли вы изолированный мост. Если у вас есть изолированный мост, между вашим USB-портом и контактами ввода-вывода нет электрического соединения. Тем не менее, контакты ввода-вывода все еще должны выдавать напряжение, и для этого сторона ввода-вывода нуждается в Vcc.
Если ваш адаптер не изолирован, подключение Vcc вашего моста к устройству может повлиять на напряжение, уже подаваемое на устройство.
Если устройство получает питание от другого источника питания, оно уже имеет определенный уровень напряжения на выводе Vcc. Если вы подключите вывод Vcc моста, а напряжение будет другим, будет протекать ток, который может повредить устройство.
Альтернативой является отключение устройства от источника питания и подача питания через мост USB-UART. Однако большинство мостов могут подавать только до 100 мА или около того, что недостаточно для большинства устройств.
Определение скорости передачи данных
Обычный способ — попробовать стандартные скорости передачи данных до тех пор, пока вывод не станет разборчивым. В качестве альтернативы скорость передачи данных можно определить путем измерения длины самого короткого импульса. При скорости передачи 9600 один бит занимает 1 ∕ 9600 секунды. Поэтому, если мы измерим длительность одного бита, мы сможем определить скорость передачи данных.
Проще всего это сделать с помощью логического анализатора, который просто показывает синхронизацию в интерфейсе:
В качестве альтернативы это возможно с помощью микроконтроллера, использующего входной захват для измерения длительности импульса.
Я создал программу автобода, которая работает на Arduino Uno и может надежно определять скорость передачи данных до 200 000 бит/с.
При использовании неправильной скорости передачи обычно отображается тарабарщина, хотя также возможно, что вы вообще ничего не видите.
Устранение неполадок
Первый шаг — определить, где находится проблема: между вашим компьютером и мостом или между мостом и устройством, к которому вы хотите подключиться?
Обнаружение проблемы
- Получает ли ваш компьютер дополнительное устройство COM или tty при подключении моста? Если нет, то у вас проблема с драйвером.
- Проверьте светодиоды на мосту.
- Загорается ли индикатор Tx при отправке данных? Тогда соединение между вашим компьютером и мостом в порядке.
- Светодиод Rx горит, но вы ничего не видите в своем терминальном приложении? Тогда соединение между мостом и устройством в порядке, а проблема между вашим компьютером и мостом.

- Отключите мост от устройства и соедините Rx и Tx моста вместе. Отражается ли ваш ввод в терминале? Тогда соединение с мостом в порядке.
Проблемы с USB
- Проверьте, распознает ли ваша операционная система устройство USB.
- В Linux: lsusb
- В macOS: ioreg -p IOUSB
- В Windows: проверьте диспетчер устройств.
- Просмотр журналов (используя dmesg) при подключении устройства к компьютеру.
- Отключите мост, перечислите все устройства (ls /dev), снова подключите мост и сравните их.
- Попробуйте использовать другой заведомо исправный USB-кабель.
- Повторите попытку несколько раз, чтобы исключить временную проблему.
Удаленные проблемы
- Скорость передачи данных правильная?
- Использует ли мост ту скорость передачи данных, о которой вы думаете?
- Использует ли устройство инвертированную линию передачи данных?
- Должна ли на устройстве быть включена последовательная связь? Есть ли у него линия запроса данных?
- Правильно ли заземление подключено к устройству?
Заключение
Использование моста USB-UART может быть довольно простым, если он работает, или может быть болезненным, если он не работает.
Я удивлен, что так много можно рассказать об UART.
Подробнее
Чипы
- ASIX MCS7810
- Atmel ATMEGA8U2 или 16U2 с прошивкой Arduino USBSerial
- Кипарис CY7C65211 или CY7C65213
- Микрочип MCP2200
- Продуктивный PL2303HX
- Силикон Лабс CP210x
- Техасские инструменты TUSB3410
- WCH-IC Ch440
Изолированные адаптеры
- Плата отладки DUPPA
- Микрочип MCP2200
- МикроЭлектроника USB UART 2 Щелчок
- Изолированный оценочный комплект Silicon Labs USB
- Sunrom 1435 USB - изолированный конвертер UART промышленного класса
- UC-3100P Изолированный преобразователь TTL USB в UART
- Оптически изолированный адаптер ZeptoBit USB-UART
- мкАрт.
Статьи
- Обратный инжиниринг последовательных портов
- Багги CP2102N Заменен
- Использование аппаратных последовательных портов
- Какую скорость передачи данных я могу использовать (без ошибок)? Обзор
- : мост USB-UART CP2102N
- Начало работы с UART: 60-летний протокол, который все еще жив и здоров
- Пользовательская скорость передачи данных Linux
- Установка произвольной скорости передачи данных в Linux
- FTDI FT232RL: настоящий против подделки
- µArt Кароли Падос
- Ch440, Ch441 Совместимость с чипом USB-RS-232
- Преимущества гальванической развязки
Твиты
- @az6667: у меня недостаточно быстрый UART
- @TubeTimeUS: j10 выглядит как заголовок UART
- @KristinPaget: не покупайте FT232 — встроенный регулятор 3v3 может выдавать только 50 мА
- @hamityanik: Я думаю, проблема с драйверами CP2102N для MacOS
- @stefandz: только что обнаружил вторую ошибку в техническом описании @siliconlabs CP2102N .
- @protosphere_: PL2303 настолько ненадежный, что я хочу перевернуть стол Аппаратное обеспечение

— Какой чип USB-UART обеспечивает максимальную скорость передачи данных с платами Arduino?
Просматривая в интернет-магазинах адаптеры USB/TTL, я наткнулся на широкий ассортимент продуктов, и мне было трудно выбрать тот, который обеспечит наибольшую скорость передачи данных. Я сравнивал таблицы данных чипов, которые я видел до сих пор, чтобы понять, какие скорости передачи поддерживаются:
- FT232R (FTDI): от 183 до 3M бод, включая 250k , 500k и 1M , 128 RX/ 256 ТХ ФИФО
- PL2303 (Prolific): от 75 до 1,2 Мбод, не включая 250k, 500k и 1M, 256 RX / 256 TX FIFO
- CP2102 (Silicon Labs): от 300 до 921600 бод, включая 250k и 500k , 576 RX/640 TX FIFO
- Ch440G (WCH): от 50 до 2M бод, не включая 250k, 500k и 1M, неизвестный размер FIFO
Как объяснено здесь, 500k, 1M и 2M особенно важны, потому что это самые высокие скорости передачи данных, поддерживаемые кристаллами 16 МГц.
Более того, передача данных становится ограниченной процессором выше 500k, поэтому реальные скорости передачи данных практически одинаковы для всех трех скоростей передачи.
Правильно ли я предполагаю, что для получения максимальной скорости передачи данных мне, по сути, нужно держаться подальше от PL2303 и предпочесть адаптеры FT232R, а два других чипа находятся посередине? Или есть другие факторы, которые я не учел и которые могут повлиять на мой выбор?
- USB
- оборудование
- UART
9
Вот мой опыт использования вышеуказанных чипов за последние два года:
FT232R самый быстрый, хорошо работает с любыми скоростями. Адаптеры UART с ним иногда дороже аналогов.
PL2303 хорош, если вы не планируете работать быстрее, чем 115200. Кроме того, он имеет самое сильное опорное напряжение 3,3 В (доступно на некоторых адаптерах как выход 3,3 В), которое можно использовать как источник питания 3,3 В 20 мА.




txt
$ ls /dev > после.txt
$ diff до.txt после.txt
268а269,270
> cu.usbserial-1410
> cu.wchusbserial1410
444а447,448
> tty.usbserial-1410
> tty.wchusbserial1410
е.: ~. введите