20 February 2018

Эмуляторы терминалов

Research and forecasts in IT
Sandbox
Добрый день. Вашему вниманию представляется публикация о роли терминалов в истории развития компьютерной индустрии. Данная статья основана на личном опыте, размышлениях автора и анализе литературных источников. В дальнейшем содержание статьи может уточняться. Данная публикация адресована специалистам, занимающимся разработкой устройств по передаче, приёму и обработке сигнала в системах связи, интересующимся историей развития технологий.

Терминал — электронное или электромеханическое устройство [1], используемое для организации диалогового взаимодействия пользователя с компьютером, как правило состоящее из клавиатуры и дисплея, подключённое через сетевой интерфейс к удалённому серверу. Первые варианты таких терминальных систем появились в то время, когда ещё не существовало понятия персонального компьютера ввиду огромных размеров ранних ЭВМ. До 70-x годов прошлого века в качестве монитора многими пользователями использовался [2] принтер, на котором распечатывалась реакция ЭВМ на команды, вводимые с клавиатуры.

image


Многотерминальные системы [3] позволяли одновременную работу с ЭВМ нескольких пользователей, каждый из которых получал собственный терминал для работы с компьютером, а их количество определялось его вычислительной мощностью. Такие многотерминальные системы стали прообразом современных вычислительных сетей. В 13 лет Билл Гейтс был буквально загипнотизирован [4] компьютерным терминалом, установленным в здании школы, и каждую свободную минуту он и его друзья проводили рядом с ним. «Мы жили в параллельной вселенной» — говорил потом об этом времени сам Билл Гейтс.

image

В 1978 году компания DEC выпустила терминал VT100 [5], который использовал для соединения с сервером линию связи с последовательной передачей данных, при которой данные передаются последовательно по одному биту за один промежуток времени. Стандарт последовательного интерфейса RS-232 (RS расшифровывается, как Recommended Standard) был разработан [6] и предложен в 1962 году ассоциацией электронной промышленности (Electronic Industries Associations, EIA) для связи аппаратных средств передачи данных (Data Communication Equipment – DCE), например, компьютеров, с аппаратными средствами приёма данных (Data Terminal Equipment – DTE) такими, как терминалы, принтеры, модемы и другие периферийные устройства. В последующих изменениях стандарта RS-232B и RS-232C была изменена величина амплитуды напряжения передаваемого сигнала: в первоначальном стандарте она равнялась 25 Вольт, и была уменьшена до 12 и 5 Вольт соответственно. Версия стандарта RS-232C [7], принятая в 1969 году, стала стандартом для производителей компьютерной техники, многие из которых, включая таких производителей, как National Instruments [8], опустили букву «С» в стандарте и обозначают его просто как RS-232. Последующие версии стандарта RS-232D и RS-232E содержат небольшие изменения [6]. Следует отметить, что не все производители всегда [9] строго следовали спецификации.

image

Для контролирования потока данных последовательный интерфейс использует [10] счётчик времени (сигнал синхронизации, clock). Передатчик и приёмник используют этот счётчик для определения моментов времени, в которые необходимо посылать и считывать соответствующий бит данных. Существует два формата последовательной передачи данных — синхронный и асинхронный.

При синхронной передаче данных передатчик и приёмник используют общий счётчик времени, генерируемый общим источником. Генерация передаваемых бит на стороне приёмника синхронизируется с этим счётчиком, а приёмник использует этот счётчик для определения моментов времени, в которые следует считывать принимаемые биты. Синхронные интерфейсы применяются для коротких линий связи длиной порядка 15 футов (около 4.5 метров) или менее того, или между компонентами одной печатной платы. Для более длинных линий связи синхронные методы последовательной передачи данных оказываются менее эффективны ввиду необходимости передачи синхронизирующего сигнала, требующего отдельной линии связи и подверженного шуму.

image

При асинхронной передаче данных такая линия cвязи не требуется, т.к. приёмник и передатчик генерируют свои собственные синхронизирующие сигналы. Каждому переданному байту данных предшествует стартовый бит для синхронизации счётчиков, а за переданным байтом следует один или два стоповых бита для обозначения конца переданного байта данных. Одним из наиболее известных форматов асинхронной последовательной передачи данных является формат 8-N-1, при котором посылается один стартовый бит, далее следует байт передаваемых данных, а за ним следует один стоповый бит. Символ N обозначает, что передаваемые данные не включают бит паритета (parity bit), используемый для коррекции ошибок. Например, в формате 7-E-1 посылается один стартовый бит, семь бит данных, один бит паритета и один стоповый бит. Бит паритета может быть чётным (Even), нечётным (Odd), установаленным (Mark) и сброшенным (Space). Чётный бит паритета устанавливается таким, что биты данных вместе с битом паритета содержат чётное количество единичных бит. Нечётный бит паритета устанавливается таким, что биты данных вместе с битом паритета содержат нечётное количество единичных бит. Установленный (Mark) бит паритета всегда равен единице, а сброшенный (Space) всегда равен нулю. Бит паритета позволяет определить только ошибку в одном бите. Например, последовательность бит 0110000, переданная с чётным битом паритета 0, может измениться из-за шума телефонной линии на 0111100, однако приёмник не определит наличие ошибки, так как чётность сохранится.

image


«Я был блестящим инженером. Hewlett-Packard пять раз отклоняла мою идею создания персонального компьютера. Позже, когда они увидели Apple II, то сказали, что это лучший продукт, который они когда-либо видели.» Стив Возняк

image


С развитием компьютерной техники терминальные комплексы стали вытесняться персональными компьютерами, эмуляторы терминалов стали популярным способом эмуляции дисплейных терминалов в какой-либо другой системе отображения информации, а набор ASCII символов и управляющих последовательностей терминала VT100 стал стандартом для таких эмуляторов, как Teraterm и пр. Информация на дисплее и управляющая информация, вводимая с устройства ввода пользователем, могут быть преобразованы в последовательные сигналы и переданы междy подключённым устройством и терминалом. Клавиатура используется для передачи кодов. Некоторые клавиши посылают один или несколько кодов немедленно при нажатии. Другие клавиши такие, как CTRL и SHIFT, не посылают коды при нажатии, но модифицируют коды, посылаемые при нажатии других клавиш. Клавиатура содержит четыре клавиши со стрелками в четырёх разных направлениях. Эти клавиши передают управляющие последовательности. При получении таких последовательностей терминалом курсор сместится на один символ вверх, вниз, направо или налево.

Пользователи могут использовать эмуляторы терминалов, установленные на персональных компьютерах (ПК), включающих экран и устройства ввода такие, как мышь и клавиатура, для проверки и управления устройствами. Эмулятор терминала можно, например, использовать для отладки работы операционной системы компьютера. Для обработки сообщений об ошибках некоторые операционные системы посылают их на последовательный порт компьютера. Для обработки сообщений об ошибках к последовательному порту компьютера подключается терминал (или компьютер с эмулятором терминала), который интерпретирует сигнал на выходе последовательного порта в виде последовательности команд терминала. Эти команды позволяют отображать текст на экране терминала. В качестве другого примера можно привести маршрутизаторы, предоставляющие возможность настройки подключением эмулятора терминала через порт с поддержкой интерфейса командной строки (Command line interface, cli). Ещё одной областью применения таких программ является настройка и управление различными платами, релейными модулями и т.д.

RS-232 интерфейс хорошо зарекомендовал себя и прослужил около двух десятилетий как один из основных портов для подключения перифирийных устройств. Использование существовавших интерфейсов вместо создания новых позволяло производителям IBM и др. ускорить разработку новых компьютеров и дать возможность пользователям подключать к ним принтеры и модемы, уже выпущенные на рынок. Однако с увеличением производительности вычислительной техники и разнообразия перефирийных устройств старые интерфейсы стали затруднять их использование и ограничивать коммуникацию. Это послужило созданию новых аппаратных портов таких, как USB-порт [11], первая спецификация которого была опубликована в январе 1996 года. Каждое USB устройство должно реализовывать USB протокол, определяющий, как устройство регистрирует и отвечает на запросы и другие события USB порта, посылает и принимает данные. Обычно эти функции выполняет микроконтроллер или интегральная схема специального назначения (application-specific integrated circuit, ASIC), входящая в состав устройства. Типичный USB контроллер включает USB приёмопередатчик, механизм последовательного интерфейса (Serial Interface Engine), буферы для USB данных, и регистры для хранения конфигурации, статуса, и усправляющей информации USB связи. Механизм последовательного интерфейса — интерфейс, берующий на себя выполнение основных функций протокола USB спецификации. ASIC может требоваться для крупномасштабных приложений, требующих высокой производительности.

image

Развитие компьютерной индустрии сделало массово доступными множество электронных устройств, поддерживающих различные аппаратные порты для их настройки и передачи информации. Помимо таких контактных подключений, как последовательный (RS-232, COM-порт) и USB-порт, появились различные варианты портов для бесконтактных подключений на основе таких беспроводных технологий, как Wi-Fi, Bluetooth и пр.

Хотя рост объемов передаваемой информации привёл к появлению таких новых высокоскоростных интерфейсов, как USB, интерфейс RS-232 по-прежнему находит своё применение, что можно объяснить, например, его надёжностью и легкой программируемостью. Одновременно с быстрым развитием программируемых терминалов становятся всё более популярными электронные устройства с сенсорными экранами (например смартфоны, планшетные компьютеры и т.д.), позволяющие пользователям вводить информацию через дисплей. Эмуляция терминалов на таких устройствах является одним из направлений дальнейшего развития терминалов.

image


Ссылки и сноски
[1] А.В. Ильин, В.Д. Ильин Большая российская энциклопедия.
[2] А. Петропавловский, С. Филлипов «Терминальные системы в России» Виртуальный Компьютерный Музей
[3] В. Олифер, Н. Олифер «Компьютерные Сети»
[4] А. Уолтер «Инноваторы. Как несколько гениев, хакеров и гиков совершили цифровую революцию»
[5] «The DEC VT100 Terminal» Columbia University Computing History.
www.columbia.edu/cu/computinghistory/vt100.html
[6] T. Schultz «C and the 8051»
[7] А.Ю. Кузьминов «Интерфейс RS232 Связь между компьютером и микроконтроллером от DOS к Windows98/XP»
[8] NI RS-232C Standard Conformance digital.ni.com/public.nsf/allkb/1C8F13D0806056F886256FAC00649176
[9] B. Glass «RS-232 Serial Interface Spec Is Anything But Standard», Info World, May 22, 1989
[10] J. Axelson «Serial Port Complete. Programming and Circuits for RS-232 and RS-485 Links and Networks»
[11] J. Axelson «USB Complete. Everything You Need to Develop Custom USB Perfipherals»
Tags:terminalemulatorrs-232usbwi-fibluetoothбилл гейтсvt100
Hubs: Research and forecasts in IT
+5
7.8k 26
Comments 24
Top of the last 24 hours