Интерфейс – что это такое. Что такое интерфейс

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

Нередко можно услышать или прочесть выражения: «понятный интерфейс», «сложный интерфейс» и т.д. Давайте разберемся в значении этого слова и поймем, в каких случаях оно используется.

Слово «интерфейс» заимствовано из английского языка, где буквально означает «между лицами» , т.е. используется в значениях: «взаимодействие, разделение, внешний вид». В современной IT-сфере интерфейсом называют унифицированные системы связи, обеспечивающие обмен информацией между различными объектами.

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

Интерфейс представляет собой систему связи между различными узлами и блоками сложного оборудования, а также между техникой и пользователем. Он выражается в логической (системы представления информации) и физической (характеристики информационных сигналов) форме.

Так, логически компьютерные интерфейсы представляют собой сложные математические системы, основанные на понятиях Булевой алгебры, а физически – это совокупность чипов и других электронных деталей, медных проводов и импульсов электрического тока.


В целом компьютерный интерфейс обеспечивает функционирование компьютера – связь процессора с оперативной памятью, устройствами печати и т.д., а также обмен информации с другими компьютерами (в сети Интернет) и с человеком.

Грубо говоря, без интерфейса работа вычислительных устройств попросту невозможна. Сегодня в компьютерной технике используются различные виды интерфейсов, необходимые для профессиональной работы программиста и для пользования обычных людей компьютерами.

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

По сравнению с вводом команд через командную строку графический интерфейс значительно более прост и понятен, причем нередко для пользования им не нужны специальные знания. Нередко его называют дружелюбным и интуитивно понятным.

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


Однако с каждым годом усложняется и графический интерфейс: он становится трехмерным, приобретает новые формы и способы выражения, становится все более удобным и эффектным внешне.

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

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

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


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

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

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

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

Для чего необходим интерфейс

Он исполняет роль некой системы связи между различными блоками оборудования, а еще техники и пользователя. Он может выражаться как в логической , так и физической форме. Логически — это сложные алгоритмы, в основе которых лежит Булева алгебра, а физически это различные чипы, детали, провода и прочее, объединенные между собой.

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

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

Мы живем в веке информационных технологий. Современные реалии наполняют нашу жизнь терминами и понятиями, которые мы активно используем, далеко не всегда будучи уверенными в их значении. Например, вы сможете дать определение слову «интерфейс»? А насколько ваше определение корректно?

Если обратиться к различным источникам, можно получить несколько толкований слова «интерфейс»:

  • это граница между двумя устройствами или системами, обусловленная их качествами
  • это все множество средств и способов, обеспечивающее взаимодействие между двумя структурами или системами

Например, если вы – автолюбитель, то руль, педали и рычаг переключения скоростей – интерфейс управления автомобилем. Панель микроволновой печи, где вы можете выставить время и мощность нагревания, — ее интерфейс. Дистанционный пульт кондиционера или телевизора тоже можно назвать интерфейсом. У корабля он является рубкой. Таким образом, интерфейс – это посредник или проводник, помогающий управлять чем-либо.

Этот термин возник вместе с появлением первых ЭВМ – электронных вычислительных машин. Тогда взаимодействие осуществлялось посредством перфокарт, которые нужно было вставить в машину. Может быть, у кого-то дома еще лежат стопки этих желтых картонок с рядами отверстий по краям. Для того, чтобы управлять вычислительной машиной того времени, «команды» ей программисты набивали вручную на перфокарте с помощью шила.

Виды интерфейсов

Благодаря этому экскурсу в историю мы только что открыли, что бывают разные виды интерфейса. Этот, посредством перфокарт, называется командным интерфейсом . Получив команды в виде перфокарт, компьютер выдавал результат. Это так называемая пакетная технология. Человек формировал пакеты задач в виде перфокарт, они в свою очередь обрабатывались пакетом программ. Результат распечатывался на бумаге. Метод был неидеальным, так как слишком велик был риск человеческого фактора.
Технологии шагнули вперед, и на компьютерах начали устанавливать операционные системы с функцией командной строки. Перфокарты более не использовались. Для ввода команд применялась клавиатура. Результат отображался на экране монитора. Это технология командной строки. Она применяется и до сих пор. Обычному пользователю ноутбука ни к чему знать, где находится командная строка, а вот профессионалы ей пользуются как основным инструментом работы. Если вы хотите себя почувствовать себя хакером, найдите через Пуск – Стандартные командную строку, и, удерживая клавишу Alt, наберите код 128. В командной строке отобразится символ «А». Если набрать код 160, мы получим «а».

Интерфейс Windows 8

Прогресс не стоит на месте, и со временем выработался привычный для нас вид интерфейса – графический интерфейс . Именно к нему можно применить понятие дружественного или интуитивно понятного интерфейса. За его появление стоило б поблагодарить Стива Джобса, но, к сожалению, с благодарственным письмом ему мы немного опоздали. Он первый сообразил, как можно облегчить управление компьютером, используя мышь. Его конкуренты не придумали ничего нового, лишь много позже скопировали этот способ взаимодействия машины и человека. Мы управляем компьютером, кликая мышкой по иконам программ. Даже человек без навыка работы на компьютере довольно быстро сообразит, как набрать текст или запустить пасьянс «Косынка», ориентируясь только на картинки. Называется такой тип управления компьютером «WIMP» интерфейсом. W – window (окно), I – image (картинка, изображение), M – menu (меню), P – pointer (указатель). То есть можем открывать окошки на мониторе, выбирать необходимые нам пиктограммы или картинки, работать в программах посредством меню, используя курсор мыши или тачпада, или навигационные клавиши клавиатуры.

Чем более простой и понятный интерфейс имеет игра или программа, тем больше вероятности, что она приживется на нашем компьютере. Именно поэтому сейчас так востребована профессия разработчика. От него зависит, канет ли программа в Лету или обоснуется на ноутбуке. Но мало разработать удобный интерфейс. Его необходимо постоянно оптимизировать и выпускать обновления.
Все знают, кто такой маркшейдер, благодаря фразе: «Окей, Гугл, кто такой маркшейдер?» Вот так ненавязчиво мы подошли к третьему виду интерфейса – SILK интерфейсу . S – speech (речь), I – image (картинка, образ), L – language (язык), K – knowledge (знание). При таком типе интерфейса управлять программой или компьютером можно, используя свое поведение. Например, Гугл на наших телефонах управляется речью. Это речевая технология. Во многих играм своим персонажем можно управлять, двигаясь самому. Компьютер получает команды через движения человека, считываемые видеокамерой. Это биометрическая технология.

В течение передачи по интерфейсу SPI данные одновременно передаются и принимаются по двум линиям синхронно с синхроимпульсами сдвига. Полярность и фаза последовательных синхроимпульсов сдвига - это основной компонент, определяющий формат передачи данных по интерфейсу SPI. Полярность последовательных синхроимпульсов соответствует свободному логическому состоянию линии синхронизации и поэтому также определяет, какой фронт синхроимпульса является активным ребром. Для того, чтобы свободное логическое состояние линии синхронизации было определено как низкое логическое состояние (активным фронтом синхроимпульса является нарастающий фронт), бит выбора полярности синхроимпульсов (CKPOL; SPICF.0) должен быть сброшен в 0, а установка этого бита в единицу (CKPOL = 1) определит свободное состояние синхроимпульса как высокое логическое состояние, т.е. активным фронтом синхроимпульса будет являться спадающий фронт. Фаза последовательных синхроимпульсов определяет, какой фронт используется для выборки данных последовательным регистром сдвига. Бит выбора фазы синхроимпульсов (CKPHA; SPICF.1) определяет по активному или неактивному фронту будет осуществляться захват данных. Когда CKPHA установлен в 1, то данные выбираются по неактивному фронту синхроимпульса (возвращение синхроимпульса в свободное состояние). Когда CKPHA сброшен в 0, то данные выбираются по активному фронту синхроимпульсов (переход синхроимпульса в активное состояние). Совместно биты CKPOL и CKPHA позволяют определить четыре возможных формата передачи данных по SPI интерфейсу. Эти форматы приведены на рисунке 43.

Каждый раз, когда активный фронт используется для выбора данных (CKPHA = 0), цикл передачи должен быть начат с установки сигнала SSEL. Поэтому между передачами сигнал SSEL должен переводиться в неактивное состояние. Наоборот, когда для выборки используется неактивный фронт (CKPHA = 1), сигнал SSEL может остаться низким между пакетами данных, при этом начало передачи определяется первым активным фронтом синхроимпульса.

Рисунок 43. Форматы передачи данных по SPI интерфейсу (определяется битами CKPOL и CKPHA)

Длительность SPI посылки

Чтобы гибко подстраиваться под различную длительность посылки данных, в регистре настройки модуля SPI имеется бит выбора длительности посылки (CHR). Бит CHR позволяет выбирать длительность посылки 8 или 16 бит. При загрузке 8- битных данных в буферный регистр SPIB, байт, предназначенный для передачи, должен быть помещен в младший байт передаваемого слова. При приеме 8- битных данных слово также находится в младшем байте регистра SPIB. В режиме обмена 8- битными данными старший байт буферного регистра SPIB не определен.

Скорости обмена данными по SPI интерфейсу

При работе в режиме ведомого, синхроимпульсы формирует внешнее ведущее устройство SPI интерфейса. Для правильной работы в режиме ведомого, частота синхроимпульсов не должна превышать частоту системных синхроимпульсов, деленную на 8.

При работе в режиме ведущего, микроконтроллер сам формирует синхроимпульсы SPI интерфейса. Скорость обмена данными определяется коэффициентом деления системных синхроимпульсов, который задается значением регистра коэффициента деления для SPI интерфейса (SPICK). Модуль SPI поддерживает 256 различных коэффициентов деления. Частота синхроимпульсов SPICK определяется следующей формулой:

где коэффициент деления частоты системных синхроимпульсов = (SPICK.7:0) + 1

Так как скорость обмена данными по SPI интерфейсу зависит от частоты системных синхроимпульсов, то изменение частоты этих синхроимпульсов, например при активизации одного из режимов управления питанием, изменит скорость обмена данными по SPI интерфейсу. Попытка же активизировать режим управления питанием при передачи данных по SPI интерфейсу (STBY = 1) игнорируются.

Обратите внимание, однако, что в режиме управления питанием (PMME = 1) запись в регистр SPIB в режиме ведущего и установка активного сигнала на выводе SSEL в режиме ведомого квалифицируются как активизация режима переключения источника (SWB = 1). В режиме останова синхронизация модуля SPI приостанавливается.

  • DIY или Сделай сам
  • О пользе управления шторой через rs-485

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

    Самым простым было бы найти переходник USB-RS485 и начать тестирование. Но такого переходника поблизости не оказалось. Если заказывать, пришлось бы какое-то время ждать. Быстрее сделать. У меня есть несколько переходников USB-UART на всех популярных микросхемах, но пользуюсь я в основном парой переходников на CP2103. Выглядят они примерно так:

    Примерно, потому что установлены разъёмы и выведены дополнительные сигналы. Всего-то нужно сделать переходник UART-RS485. В магазине были куплены несколько MAX485. Возможно, было бы проще, использовать что-то вроде MAX13487 c автоматическим переключением передачи и приёма. Но в местном магазине я таких не нашёл (возможно просто плохо искал). Честно говоря, мне и за MAX485 ехать в магазин было лень. Поначалу было желание сделать приём на ОУ, а передатчик на транзисторах - это же так просто протестировать работает электрокарниз AM72E по этому протоколу, или нет.

    Назад в «Современную электронику»

    Дело за схемой. За основу я взял схему из журнала «Современная электроника» №1 за 2007г. Выглядело всё радужно. В статье говорится, что «Выводы GPIO микроконтроллера CP2103 по-умолчанию запрограммированы как управляющие выходы и соответствуют их использованию в схеме адаптера USB-RS485». Оказалось, что это не мой случай. Переходники у меня давно. Редкая вещь, попавшая мне в руки, не подвергается «улучшению». Прошивки в переходниках небыли исключением и даже если в девичестве могли понукать RS485, то теперь эти навыки были напрочь отшиблены.

    Вечер переставал быть томным. Нужно было что-то, что переключит MAX485 с передачи на приём. Кстати, на передачу переходник отлично работал. В общем-то, и этого могло оказаться достаточно т. к. читать с AM72E особенно нечего.

    Вариантов было много. MAX485 на плате установлен на панельку, и без труда может быть заменён на микросхему, с автопереключением приём-передача. Но это вообще не вариант т. к. надо ехать в магазин. Ещё у меня есть переходники на FT232, а эти микросхемы могут переключать MAX485. Слишком просто. И у меня уже зрел план, как мне поразвлечься с AM72E и для FT232 места в нём не было. Нужно дополнить схему так, чтобы при появлении стартового бита на TX UART"а, MAX485 переключилась с приёма на передачу и находилась в этом состоянии на время передачи всего байта, а затем снова переключилась на приём. Обратившись к накопленному до меня опыту через google, я выяснил, что решается эта проблема при помощи таймера NE555. Действительно, чего мудрить. Но ничего из таймеров семейства NE555 у меня не было. Дальше вы знаете: магазин - лень.

    Одновибратор для лентяя… не нужен

    Сделать одновибратор можно миллионом способов. Я даже хотел по-быстрому переделать плату и поставить STM8S003 для этих целей. На первый взгляд это может выглядеть как из пушки по воробьям, но если вы сравните схемы на NE555 и STM8S003, то схема на МК окажется даже проще т. к. из внешних элементов нужен только один конденсатор. Программа - буквально несколько строчек на ассемблере. С ценой тоже всё неплохо - стоит дешевле, чем MAX485 в нашем магазине. С аппаратным таймером (на NE555) есть одна проблема. Он отлично будет работать на одной скорости. Как только вам будет нужно изменить скорость обмена, вам придётся перестраивать таймер. Мне частенько попадаются устройства, которые при старте выдают в UART отладочную информацию на одной скорости, а после загрузки переходят в режим обмена на другой. Да и мало ли почему вам может потребоваться изменить скорость! Каждый раз лезть при этом в схему не захочется. Вот тут-то таймер на STM8 может помочь - программу можно написать так, чтобы нужные тайминги выставлялись по-сигналу и не требовали вмешательства. Это не очень сложно. Я вообще не понимаю, почему мне нужно что-то знать о скорости обмена по UART. Ещё много лет назад мне попадались устройства UART, которые автоматически определяли скорость, на которой подключилось другое устройство и на лету на неё настраивались.

    Я знаю, что вам хотелось бы увидеть схему без STM8S003. Ладно, пойду вам на встречу. И без этого я сумею из простого теста сделать что-то интересное. В схеме вообще не будет одновибратора:

    Что и как здесь работает, объяснять не буду - всё стандартно и очевидно. Скажу только, что перемычки возле резисторов R5 и R7 я не ставил, т. е. схему можно сделать проще, убрав все перемычки и эти два резистора. Максимум, что вам может понадобится, это R5. Встречаются устройства, которые при ответе, просто отпускают линию при передаче последних битов, если это единицы. Тогда, без R5, последний байт может искажаться. В нашем случае это не принципиально т.к. последним передаётся старший байт контрольной суммы ответа. Схема будет работать и без R1, но нам он понадобится позже.

    У меня это выглядит так:

    Не расстраивайтесь, если не видите всех элементов, которые есть на схеме. Я вначале сделал плату по схеме из статьи, а затем экспериментировал со схемой переключения приём-передача. Транзистор (DTC143 в SOT23, сразу с базовым резистором) и SMD резисторы напаяны прямо на дорожки с обратной стороны платы.

    Если вы поставите MAX13487, то от схемы вообще ничего не останется. Ещё лучше - возьмите стандартный переходник USB-RS485. Но тогда вы будете привязаны проводами к шторам. Глупое зрелище. Стал бы я заморачиваться с переходником UART-RS485, если бы у меня не было коварного плана?

    Lua нам в помощь

    С железом на этом закончим. Надо писать программу. Программа только для теста. Ничего сложного. Нужно команды для AM72E отправить в последовательный порт. Ну, ещё можно почитать, что он там нам отвечает. Для опытов возьмём компьютер с Windows. Надо выбрать язык, на котором будем писать. Первое, что мне пришло на ум - powershell. Не, не буду я вас мучить powershell. Тогда python. Всем хорош питон - код на нём переносим на любую операционку, понятен, можно сразу прикрутить графический интерфейс, а для Windows ещё и упаковать как экзешник так, что мало кто поймёт, что программа на питоне. И всё равно не python. Примеров работы с последовательным портом на питоне и без этого много - желающие могут найти самостоятельно. Программу напишем на Lua. Да уж, странный выбор. Вообще-то выбора у меня большого и не было. Либо C, либо Lua. Почему - об этом позже. Можно и на C. Но нет, не в этот раз. Просто потому, что на C я пишу код так, что через пару месяцев сам не могу его понять, не приняв веществ расширяющих сознание. Шучу. Так я пишу на любом языке.

    Lua нужно установить. Берём отсюда: https://code.google.com/p/luaforwindows/downloads/list . Устанавливается практически в один клик. В комплекте достаточное количество модулей. Есть всё необходимое. В том числе и для графического интерфейса - iup. Если решите, что он вам понадобится - используйте на здоровье. Но мы обойдёмся командной строкой. Нам только для тестирования. И нам понадобится модуль, для работы с последовательным портом. Если бы мы решили проводить тестирование под Linux или Mac OS, то с последовательным портом можно было бы работать без дополнительного модуля - просто как с файлом. Для доступа к UART под Windows нам нужен модуль luars232. В сборке он уже есть. Дополнительно ничего искать и устанавливать не надо.

    Файл с программой - curtain.lua - всего несколько десятков строчек. При желании можно ещё сократить. Как пользоваться, объяснять не буду. Покажу картинку:

    Сделаю только одно пояснение. Это и так очевидно, но если строка начинается с символа «>», то эта строка введена с клавиатуры. Если этого символа в начале строки нет, то строка получена от программы.

    Я и не рассчитывал, что всем всё будет понятно. Командная строка, как и провода, нам не понадобятся. Сейчас важно только то, что RS485 на AM72E прекрасно работает. Нет, у меня был момент, когда всё собрав и проверив, я начал отправлять команды в AM72E, а он никак не реагировал. Мысль о том, что RS485 всё-таки не работает, промелькнула у меня в голове. Но потом я посмотрел под стол, туда, где у меня сетевой удлинитель, и увидел, что AM72E надо бы ещё подключить к сети. После этого, при отправке команды «Close», я услышал весёлое жужжание двигателя - всё работает.

    Чуток передохну и перейду к реализации своего «коварного плана» - научу свой электрокарниз принимать команды через WiFi. О чем отчитаюсь в следующей статье.