- Войдите или зарегистрируйтесь, чтобы оставлять комментарии
Продолжаем цикл обзоров PCIe-адаптеров, оснащенных последовательными портами. Сегодня на тестовом столе плата Dynamode RS232 — адаптер COM-портов, рассчитанный на установку в PCI Express слот персональной платформы. В качестве PCIe-контроллера на Dynamode RS232 используется чип CH382 китайского разработчика Qinheng Electronics (иногда его именуют Jiangsu Haoheng или Jiangsu Yuheng), оперирующего под брендом WCH, что следует понимать, как WinChipHead.
UART для PCI Express
Контроллер CH382 — это полноценный двухпортовый UART с подключением к шине PCI Express, совместимый с программной моделью классического асинхронного порта 16C550A или его более продвинутой версии 16C750. Последнее обусловлено тем, что CH382 оснащен буфером FIFO глубиной в 256 байт. Классическая модель последовательного порта строилась на использовании 16-байтного буфера, накладывающего известные ограничения на производительность COM-порта и загрузку центрального процессора: CPU обязан обслуживать прерывания на каждую принятую или переданную порцию байтов, во избежание переполнения FIFO-буфера.
Аппаратная реализация в пространстве портов ввода-вывода в ряде случаев становится неоспоримым преимуществом адаптера Dynamode RS232 по сравнению с ранее исследованным I-360 от ST Lab, где последовательные порты отображаются в пространстве памяти, а совместимость с классической программной моделью UART существует только на уровне API. Конечно, для дизайна новых систем предпочтительным вариантом является Memory Mapped IO: у адаптера, задействующего порты ввода-вывода, больше шансов на совместимость с программными продуктами, использующими непосредственное взаимодействие с оборудованием.
Еще одно существенное отличие CH382 от 16Cx50 — в скорости передачи данных. Стандартно UART последовательного порта тактируется частотой 1,8432МГц, что при целочисленном делении на 16 обеспечивает производительность в 115200 бод. PCIe-контроллер от WinChipHead способен на большее. Он поддерживает скорость передачи до 8 мегабод, т.е. около 8Мбит в секунду. Это стало возможным благодаря встроенной осцилляции, источником опорной частоты для которой служит внешний кварцевый резонатор 22,1184МГц.

В составе контроллера CH382 есть и расширенный двунаправленный параллельный порт с поддержкой EPP/ECP, но на плате адаптера Dynamode RS232 его линии не распаяны на соответствующий разъем.
RS232-тракт: что интересного?
RS232-тракт построен на базе преобразователя уровней MAX3243CAI. В его задачи входит обслуживать интерфейс с набором сигналов от –12 до +12 Вольт. Питаясь от 3-вольтового источника, чип MAX3243 за счет конденсаторной схемы в состоянии обеспечить приемлемые уровни двуполярного питания интерфейсных цепей.
Замеры показывают, что в ненагруженном состоянии напряжение линий DTR и RTS составляет —5,43 Вольта. Диагностический разъем с обратной связью (loopback) несколько просаживает выходные сигналы до –5,14В. «Мышь», которая питается от MAX3243, чувствует себя значительно лучше, по сравнению с подключением к I-360, где в качестве буферов используются близкие по характеристикам чипы ZT3243. Уровень выходных сигналов на Dynamode RS232 с нагрузкой пусть и не идеален, но вполне сносен. Его значение держится стабильно на отметке +6,01В.
Конечно, схемное решение вместо MAX3243 просит преобразователь уровней ADM2209, тем более, что шина PCI Express обеспечивает питание +12В. Видимо, компания Dynamode, как производитель адаптера, не слишком верит в будущее своего детища и перфекционизму предпочитает соображения экономии, что сразу ставит плату COM-портов на полку бюджетных решений.
Windows 10 и производительность
Пакет драйверов, загруженных с сайта http://www.wch.cn/, без проблем решает задачу инсталляции Dynamode RS232 в операционной системе Windows 10. Работоспособность COM-портов, реализованных на данной плате, вполне соответствует ожиданиям. Убедимся в этом с помощью PComm Performance Analyzer, разработанного Moxa Technology:

Настораживает, что при тестировании одного последовательного порта на скорости 115 Кбод загрузка процессорного ядра в среднем составляет 5%. Оценим ситуацию, повысив портовую скорость до предельной для утилиты от Moxa — 920 Кбод (плата Dynamode RS232 способна на большее):

При таких условиях тестирования проявляется слабое место адаптеров, у которых UART реализован по классической схеме портов ввода-вывода: высокая загрузка процессорного ядра, отсутствие поддержки мультипоточности, полный отказ от технологии энергосбережения в рабочем режиме (процессор потребляет максимальную мощность в обеспечение наивысшей частоты тактирования).
Почему последний герой?
Хотя ценник на адаптеры COM-портов для PCIe-шины, где главное действующее лицо — компания Moxa, выглядит оптимистично, рынок для бюджетных устройств данного класса неумолимо сужается. Во-первых, уменьшается количество периферии, требующей RS232-интерфейс. Во-вторых, огромное давление оказывают адаптеры USB-to-COM — и низкой ценой, и производительностью, и хорошей совместимостью. Поэтому в ближайшем будущем вряд ли появится отважный стартап, затраты которого окупятся разработками на поле PCIe-to-COM. Приемлемое качество WCH также будет барьером на пути новичка. Это при условии, что WinChipHead сможет удержаться на плаву.