Главная » Delphi » Немного о программах реального времени под Windows

0

Когда Intel в 2004 году объявила о том, что всем нам в недалеком будущем предстоит стройными рядами переходить на последовательный интерфейс PCI Express, я, как инженер-электронщик, задумался— а чем, собственно, последовательные интерфейсы лучше параллельных? Ведь изученные в свое время до мельчайших деталей стандартные СОМ и LPT демонстрировали в сравнении совершенно обратную картину— при примерно равном быстродействии логики. СОМ совершенно законно имел скорость примерно в 10 раз более низкую, чем LPT. Если считать в одних и тех же единицах, то максимальная скорость СОМ достигает 115 Кбит/с, a LPT — до 1,3 Мбит/с, что логично: параллельный порт передает 8 бит за I такт, а последовательный — за 10 (считая стартовые/стоповые биты). Оказалось же вот что: даже учитывая этот коэффициент, более быструю последовательную логику делать дешевле. И еще намного дешевле становится раскладка печатных плат — не только из- за площади, а еще и из-за требования к длине проводников, разница в которой для параллельной передачи при современных скоростях оказывается узким местом. Но нам здесь не придется разбирать эти скоростные интерфейсы — существует очень много технических задач, которые не требуют обмена с подобными скоростями. Как пример "ширпотребовских" устройств такого типа можно привести широко распространившиеся в последние годы модули GPS, обычно имеющие СОМ-интерфейс и работающие на скоростях порядка 9600 бод. И большинство устройств научного, медицинского или инженерного назначения нормально обмениваются данными именно со скоростями того же порядка.

СОМ-порт отчасти ошибочно еще называют портом RS-232 (Recommended Standard, рекомендованный стандарт). Правильно сказать так: СОМ-порт передает данные, основываясь на стандарте последовательного интерфейса RS- 232. Последний, кроме собственно протокола передачи, стандартизирует также и электрические параметры, и даже всем знакомые разъемы DB-9 и DB-25. Есть и еще один термин, который имеет непосредственное отношение к этой теме: UART (Universal Asynchronous Receiver-Transmitter, универсальный асинхронный приемопередатчик). UART есть составная часть СОМ- порта, его основа, то устройство, которое собственно передает и принимает данные, и к которому адресуются пользовательские программы. Кроме UART, в СОМ-порт входит преобразователь уровня UART/RS-232. Некоторые технические подробности, включая приемы программирования UART со стороны микроконтроллеров и схемы сопрягающих устройств, те, кто этим интересуется, могут узнать из приложения 4. Для того чтобы писать работающие программы, сведений, излагаемых в этой главе (и в указанном приложении), достаточно, а тех, кто желает изучить вопрос более подробно, я бы отослал к книге [33], которая, несмотря на некоторое количество досадных неточностей и излишних "наворотов", является отличным справочником гю программированию последовательного порта (включая даже такую экзотику, как реализация режима Plag&Play для RS-232).

Что же касается USB, то, вопреки распространенному мнению (и многочисленным рекламным заявлениям), это не замена COM. USB — это не столько последовательный интерфейс для обмена данными, сколько шина для подключения устройств различного типа в режиме Plag&Play. Можно сказать так: для системы USB — это скорее PCl-устройство, но ни в косм случае не UART. С помощью USB можно эмулировать передачу данных в режиме UART, но для этого требуются специальные драйверы н переходные устройства. Далее мы рассмотрим некоторые возможности по организации такого режима для обмена данными. В целом же рассмотрение USB выходит за рамки книги — это, во-первых, слишком обширная, а во-вторых, специфическая тема, которую стоит специально изучать, если вы собираетесь заняться проектированием Plag&Play-ycTpoHCTB со скоростным обменом данными. Для введения в тему USB я рекомендую книгу [29], которая на момент написания этих строк являлась единственным достаточно полным и относительно последовательным изложением построения интерфейса USB на русском языке. А теперь займемся собственно программированием СОМ-порта.

Источник: Ревнч Ю. В.  Нестандартные приемы программирования на Delphi. — СПб.: БХВ-Петербург, 2005. — 560 е.: ил.

По теме:

  • Комментарии