AVR313
- Интерфейс со стандартной АТ клавиатурой персонального компьютера
- Использует только две линии ввода-вывода. Одна линия должна быть подключена к выводу, имеющем функцию внешнего прерывания
- Не требуется внешних компонентов
- Законченная программа на C, осуществляющая преобразование интерфейса клавиатуры в последовательный интерфейс
Большинство микроконтроллеров требуют обеспечения интерфейса ч пользователем. В данном примере применения описывается способ обеспечения такого интерфейса при помощи стандартной АТ клавиатуры персонального компьютера (ПК).
Физический интерфейс между клавиатурой и микроконтроллером показан на рисунке 1. Под синхроимпульсы и данные задействованы две сигнальные линии. В клавиатуре сигнальные выходы представляют собой каскады с открытыми коллекторами и подтягивающими резисторами. Это позволяет одновременно и клавиатуре и микроконтроллеру устанавливать низкий уровень на линии. В качестве разъемов можно использовать 5- выводной DIN разъем или миниатюрный 6- выводной mini-DIN разъем. Назначение контактов этих разъемов приведено в таблице 1.
Рисунок 1. Физический интерфейс между клавиатурой и микроконтроллером.
Таблица 1. Назначение контактов АТ клавиатуры
АТ компьютер | ||
Сигналы | 5- выводной DIN41524 | 6- выводной mini-DIN (PS2) |
Синхроимпульсы | 1 | 5 |
Данные | 2 | 1 |
Не используется | 3 | 2,6 |
GND | 4 | 3 |
+5 В | 5 | 4 |
Экран | Экран | Экран |
Временная диаграмма передачи данных от клавиатуры показана на рисунке 2. При передаче используется следующий протокол: сначала передается старт-бит (всегда «0»), затем восемь бит данных, один бит проверки на нечетность и один стоп-бит (всегда «1»). Данные должны считываться в тот момент, когда синхросигнал имеет низкое значение. Формирование синхросигнала осуществляет клавиатура. Длительность как высокого, так и низкого импульсов синхросигнала обычно равняются 30-50 мкс.
Ведущая система может послать клавиатуре команды путем удерживания линии синхроимпульсов в низком состоянии. После этого на линии данных устанавливается низкий сигнал (старт-бит). Затем линия синхронизации должна быть освобождена. После этого клавиатура сформирует 10 синхроимпульсов. Данные должны быть установлены до спадающего (заднего) фронта синхроимпульса. После приема десятого бита клавиатура проверяет наличие на линии данных высокого сигнала (стоп-бит). При обнаружении высокого уровня на линии данных клавиатура выставляет на ней низкий уровень, который сигнализирует ведущему устройству что данные получены. Программное обеспечение данного примера применения не будет посылать клавиатуре никаких команд.
АТ клавиатура сопоставляет каждой нажатой клавише свой персональный скан-код. При нажатии клавиши посылается ее скан-код. Если кнопка удерживается нажатой в течение некоторого времени, то посылка скан-кода повторяется. Обычно скорость повторения посылки скан-кода равняется 10 раз в секунду. При отпускании кнопки передается код отпускания ($F0). У большинства кнопок скан-код имеет размер 1 байт. Некоторые клавиши, например «Home», «Ins», «Del» и т.д. имеют размер скан-кода от двух до пяти байт. Первый байт у них всегда равняется $E0. Это также относится и к коду отпускания кнопок, т.е. он будет иметь вид E0 F0 хх …
АТ клавиатуры имеют три набора скан-кодов, причем по умолчанию используется второй комплект кодов. Данный пример применения использует только второй комплект скан-кодов.
Программное обеспечение данного примера применения просто преобразует интерфейс АТ клавиатуры в RS-232 интерфейс. Скан-коды, полученные от клавиатуры преобразуются в соответствующие ASCII коды и передаются при помощи UART. Исходный текст программы написан на С и может быть легко преобразован для использования любым AVR микроконтроллером, имеющим СОЗУ.
Замечание: линк-файл (AVR313.xcl), включенный в данный пример применения, должен использоваться вместо стандартного линк-файла. Это делается при помощи меню XLINK — Options. Линк-файл применяется только для микроконтроллера AT90S8515.
Прием данных от клавиатуры осуществляется при помощи функции обработки прерываний INT0_interrupt. Эта функция работает независимо от остальной части программы.
Алгоритм весьма прост: По спадающему фронту синхроимпульса сохраняется значение, присутствующее на линии данных. Это легко реализовать, если подать синхросигнал на вывод INT1 или INT0. Функция обработки прерывания будет выполняться по каждому спадающему фронту синхросигнала. После приема всех битов производится декодирование данных. Выполняет декодирование данных функция decode. Для символьных кнопок функция сохраняет в буфере соответствующий ей ASCII код. При этом учитывается, была ли нажата ли клавиша Shift при нажатии символьной кнопки. Другие специальные кнопки типа функциональных кнопок, навигационных кнопок (стрелочки, прокрутка страниц и т.д.), Ctrl и Alt игнорируются.
Преобразование принятых скан-кодов в ASCII коды производится при помощи двух таблиц, одна из которых содержит символы, соответствующие просто нажатой кнопке, а другая — нажатию кнопки при нажатой кнопке Shift.
Изменения и уточнения
Если ведущее устройство выйдет из синхронизма с клавиатурой, то все принятые данные будут неверными. Один из способов решения этой проблемы — использование времени ожидания. Если за 1.5 мс не было получено 11 битов, то принимается решение о возникновении ошибки. Счетчик битов должен быть сброшен, а неправильные данные — отвергнуты.
Для установки параметров клавиатуры, например типовой скорости обмена данными и типового времени задержки, необходимо передать клавиатуре специальные команды. Выше было описано, как это реализовать. Конкретный формат команды надо смотреть в техническом описании клавиатуры.
Интерфейс клавиатуры
Клавиатуры бывают проводные и беспроводные (wireless, cordless и т. д.). Последние, как следует из названия, не требуют кабельного подключения (точнее, могу; работать и так и так). Они используются редко, так как имеют очень высокую цену. Для работы им нужны батарейки, к тому же их размер больше из-за размещения в нем блока приемника.
Говоря об интерфейсе, имеют в виду проводные клавиатуры. Используются следующие интерфейс:
1. AT, он же DIN. Используется для . 1стемных плат с
питанием AT. Представляет собой толстый круглый разъем —
5-контактный DIN. Чаще всего на таких клавиатурах пишут
AT, реже DIN, а иногда вообще ничего не пашут (что и озна
чает AT, так как PS/2 всегда пишется).
2. PS/2. Используется для системных тлат с питанием
АТХ. Представляет собой тонкий круглый разъем — 6-кон
тактный miniDIN. Такой же используется для PS/2 мыши, и,
чтобы их не перепутать, в спецификации РС’99 для этих ште
керов предусмотрена различная цветовая раскраска: фиоле
товый — для клавиатуры и зеленый — для мыши.
3. USB. Может использоваться со всеми более-менее но
выми системными платами, так как в последних есть USB пор
ты и поддержка в BIOS. Разъем — плоской, прямоугольной
В настоящий момент интерфейсы AT и PS/2 одинаково представлены, т. е. одна и та же модель доступна с обоими интерфейсами. Так как порты AT и PS/2 полностью совместимы, то существуют переходники i оба направления, позволяющие подключать клавиатуру к порту другого типа. Следует выбирать не твердый короткий переходник, а с гибким кабелем.
USB-интерфейс является более современным и предоставляет больше возможностей, тем более что согласно спецификации РС’2001 не должны поддерживаться порты, работающие через шину ISA: COM, LPT, PS/2. Всех их заменят USB. К тому же USB-порт обладает большей пропускной способностью, чем указанные порты старых типов, и г.озволяет цеплять шлейфом другие устройства, например подключить к клавиатуре мышь.
Интерфейс связи клавиатуры с персональным компьютером. Временная диаграмма передачи данных от клавиатуры в системный блок ПК
Возможность изменения конфигурации реализуется путем создания виртуальных сетей (Virtual local area network, VLAN). VLAN представляет собой логически (программно) обособленный сегмент основной сети. Обмен данными происходит только в пределах одной VLAN. Устройства разных VLAN не видят друг друга. Самое главное, что из одной VLAN в другую не передаются широковещательные сообщения.
VLAN можно создать только на управляемых устройствах; самые дешевые модели (часто их называют офисными) такую возможность не поддерживают. Одна VLAN может объединять порты нескольких коммутаторов (VLAN с одинаковым номером на разных коммутаторах считаются одной и той же VLAN).
Варианты создания VLAN:
На практике существует несколько технологий создания VLAN. В простейшем случае порт коммутатора приписывается к VLAN определенного номера (port based VLAN или группировка портов). При этом одно физическое устройство логически разбивается на несколько: для каждой VLAN создается «отдельный» коммутатор. Очевидно, что число портов такого коммутатора можно легко изменить: достаточно добавить или исключить из VLAN соответствующий физический порт.
Второй способ заключается в отнесении устройства к той или иной VLAN на основе МАС-адреса. Например, так можно обосабливать камеры видеонаблюдения, IP-телефоны и т. п. При переносе устройства из одной точки подключения в другую оно останется в прежней VLAN, никакие параметры настройки менять не придется.
Третий способ заключается в объединении устройств в сеть VLAN по сетевым протоколам. Например, можно «отделить» протокол IPX от IP, «поместить» их в разные VLAN и направить по различным путям.
Четвертый способ создания VLAN состоит в многоадресной группировке.
Обычно рекомендуется включать магистральные порты коммутаторов (порты, соединяющие коммутаторы) во все VLAN, существующие в системе. Это значительно облетает администрирование сетевой структуры, поскольку иначе в случае отказа какого-либо сегмента и последующего автоматического изменения маршрута придется анализировать все варианты передачи данных VLAN. Важно помнить, что ошибка в таком анализе, неправильный учет какого-либо фактора приведет к разрыву VLAN.
VLAN открывают практически безграничные возможности для конфигурирования сетевой инфраструктуры, соответствующей требованиям конкретной организации. Один и тот же порт коммутатора может принадлежать одновременно нескольким виртуальным сетям, порты различных коммутаторов — быть включенными в одну VLAN и т. п.
Программная структура характеризует наличие и тип программного обеспечения для реализации АСУ отдельных компонентов и всей ИАСУ в условиях их полной программной и информационной совместимости. Она предполагает, что комплекс работ программы разрабатывается независимо от иерархической структуры организации. Менеджер программы руководит выделенной ему командой, а функциональные менеджеры не имеют влияния на персонал программы.
ПС диссертации применяется в работах, содержащих научное обоснование проекта, программы, ориентированных на решение прикладной проблемы. Такие работы отличаются четкой практической направленностью; решаемые в них научные проблемы целиком подчинены задаче подведения научного фундамента под принимаемые или подлежащие принятию решения в самых разных областях деятельности, что сближает эти работы с управлением объектами, процессами, явлениями, сферами деятельности, людьми, обществом.
Общая программная структура заключается во введении резидентного монитора операционной системы, действующего как регулировщик уличного движения. Монитор отвечает за выделение программе пространства памяти, передачу ее в основную память, инициирование ее выполнения и реализации ее ВВ посредством вызова и выполнения по мере необходимости подпрограмм ВВ. Так как положение программы в памяти изменяется от одного выполнения к другому, невозможно полностью определить адреса в загрузочном модуле. Одно из решений этой проблемы — заставить загрузчик модифицировать все адресные обращения путем прибавления коэффициента перемещения; но это связано с потерями времени. Другая процедура — использовать базовую адресацию и заставить резидентный монитор загружать коэффициент перемещения ( который присваивается самим монитором) в регистр базового адреса.
Билет №1. — ИПУ
Интерфейс связи клавиатуры с персональным компьютером. Временная диаграмма передачи данных от клавиатуры в системный блок ПК.
Клавиатура — основное средство ввода информации пользователем в ПК. Главными элементами клавиатуры являются наборное поле и микропроцессорная схема управления Наборное поле клавиатуры представляет собой матрицу клавиш (клавишных переключателей с механическими контактами). По назначению клавиши можно разделить на символьные, функциональные, служебные. Каждой клавише присваивается соответствующий код (номер клавиши), называемый позиционным, или скэн-кодом клавиши. Микропроцессорная схема управления обеспечивает сканирование наборного поля, определение скэн-кода нажатой клавиши, организацию последовательной передачи кодов нажатых клавиш в контроллер клавиатуры ПК и др.
Нажатая клавиша обнаруживается в процессе непрерывного сканирования наборного поля путем циклически последовательной посылки сигнала низкого уровня на каждый из столбцов наборного поля и считывания кода строк. Нажатая клавиша соединяет соответствующие строку и столбец. При этом низкий потенциальный уровень столбца воспроизводится на выходе строки.
Рис. 3.1. Структура клавиатуры
Рис. 3.2. Временные диаграммы передачи данных от клавиатуры
Зафиксировав, в какой столбец в данный момент времени был послан сигнал низкого уровня, и в какой строке получен сигнал высокого уровня, микропроцессорная схема управления клавиатурой локализует пересечение и определяет скэн-код нажатой клавиши. Затем эта схема по линии “Данные “ выдает в последовательном коде информацию о нажатой клавише (ее скэн-код) в котроллер клавиатуры ПК. Каждый бит передаваемых данных сопровождается синхронизирующим импульсом (СИ). Временные диаграммы передачи приведены на рис. 3.2. Код данных начинается с так называемой маркерной единицы, с помощью которой логические схемы контроллера клавиатуры уведомляются о начале выдачи очередного байта данных.
Таким образом, типичная клавиатура соединяется с системным устройством ПК с помощью четырехпроводного кабеля: по проводам в ПК передаются два вида сигналов – данные и синхронизирующие импульсы, а два других служат для подачи напряжения питания + 5 В и “земли”.
Типы клавиатур
Здравствуйте, уважаемые читатели блога Help начинающему пользователю компьютера. Сегодня мы рассмотрим основные типы клавиатур для PC -совместимых компьютеров. Компьютерные клавиатуры классифицируются по нескольким признакам:
- Тип установленных клавиш (конструкции клавиш);
- Количество клавиш;
- Интерфейс для подключения клавиатур к ПК;
- Тип корпуса клавиатуры.
Механические клавиатуры. Механические клавиши представляют собой совокупность металлических контактных площадок и пружины, которая возвращает клавишу в исходное положение. Иногда конструкцию дополняет металлическая пластина, прогибающаяся при нажатии клавиши. При этом ощущается сопротивление клавиши и издается характерный щелчок. Клавиатуры данного типа очень надежные (выдерживают до 20 млн. срабатываний), но не очень распространены в связи с их дороговизной.
Полумеханические клавиатуры . Полумеханические клавиши также имеют металлические контактные площадки. Разница (по сравнению с механическими) состоит в том, что вместо металлической пружины используется упругий элемент, изготовленный из резины или другого подобного материала.
Мембранные клавиатуры . Контактные площадки клавиш данного типа состоят из токопроводящего полимерного материала, а роль упругого элемента выполняет полимерная пленка. Хотя клавиатуры с мембранными клавишами уступают механическим и полумеханическим конструкциям по надежности (в среднем мембранные клавиши выдерживают около 10 млн. нажатий), но из-за своей дешевизны они наиболее распространенные. Кроме того мембранные клавиатуры более устойчивые к загрязнению и воздействию влаги.
Есть также клавиатуры с другими конструкциями клавиш, но они в настоящее время не используются, поэтому их рассматривать не будем.
- 83-клавишная клавиатура PC и XT ;
- 84-клавишная клавиатура AT ;
- 101-клавишная расширенная клавиатура;
- 104-клавишная расширенная клавиатура Windows .
- Мультимедийные клавиатуры
101-клавишная расширенная клавиатура. Время изготовления — 1986 год (компания IBM ). Была стандартом клавиатур для всех PC -совместимых систем, пока не появилась 104-клавишная клавиатура Windows . 101-клавишная клавиатура может быть условно разделена на следующие области:
Рис.1 101-клавишная расширенная клавиатура. |
104-клавишная клавиатура Windows. Время изготовления – 1995 год (была представлена вместе с Windows 95). Сравнительно с 101 – клавишной клавиатурой используются три новые клавиши, используемые при работе с Windows (левая и правая Windows -клавиша и клавиша < Application (приложение)>).
Мультимедийные клавиатуры. Современные клавиатуры, помимо ста четырёх клавиш, очень часто снабжаются дополнительными клавишами. Эти клавиши предназначены для упрощённого управления некоторыми функциями (основными или наиболее использованными) компьютера: управление громкостью звука, проигрывателем, сетевыми возможностями компьютера, наиболее популярными программами, управление состоянием окон операционной системы (свернуть, закрыть, перейти к следующему или к предыдущему), управление состоянием компьютера (ждущий режим, спящий режим, выключить компьютер). Многие из этих функций относятся к сфере мультимедиа – отсюда и название.
Наиболее распространенными интерфейсами, используемыми в настоящее время для подключения клавиатур к ПК, являются PS/2 и USB , хотя в последние годы значительно возросла популярность беспроводных клавиатур.
Эргономичные. Конструкции клавиатур данного типа учитывают естественное положение рук во время набора (в таких конструкциях клавиатура преломлялась в центре, клавиши находились под прямым углом к естественному положению кистей рук при наборе). Эргономичная клавиатура дает возможность повысить производительность и избежать опасности некоторых хронических заболеваний.
Первые модели гибких клавиатур появились в 2002 году. К преимуществам гибких клавиатур также можно отнести высокую влаго- и пылезащищенность (если клавиатура загрязнилась – достаточно промыть ее под струей воды).
Интерфейс клавиатуры
Клавиатура представляет собой набор переключателей, объединенных в матрицу. В момент нажатия клавиши процессор, интегрированный в клавиатуру, вычисляет координаты текущей нажатой клавиши в матрице. Также он определяет продолжительность нажатия и способен обработать одновременное нажатие двух и более клавиш. Клавиатура имеет собственный буфер, в который заносится информация при одновременном или слишком быстром нажатии клавиш. Далее информация передается в операционную систему с сохранением нужной последовательности нажатия.
Нередко при нажатии клавиши возникает эффект дребезжания, при котором контакт возникает не сразу, а после ряда кратковременных размыканий и замыканий. Микросхема, установленная в клавиатуре, должна подавлять данный эффект и отличать его от последовательных нажатий одной и той же клавиши. Осуществить это несложно, поскольку дребезжание или переключение контактов происходит значительно быстрее, чем при работе пользователя.
Клавиатуру, фактически, можно представить в роли небольшого компьютера, который общается с основной системой одним из двух способов:
— через порт USB;
— через последовательный канал передачи информации при помощи разъема PS/2.
Клавиатуры первых моделей компьютеров использовали контроллер 8048, а более новые компьютеры использовали микросхему 8049 с интегрированной памятью ROM или другие чипы, совместимые с контроллером 8049 и 8048. Процессор сканирует матрицу переключателей, фиксирует и устраняет дребезжание, формирует при нажатии клавиши определенный скан-код и отправляет его системной плате. Данный чип обладает собственной памятью и встроенным последовательным интерфейсом.
В персональных компьютерах PC/XT последовательный интерфейс клавиатуры соединяется с чипом 8255 программируемого периферийного интерфейса (PPI – Programmable Peripheral Interface) на материнской плате. Данный чип, в свою очередь, подключен к контролеру прерываний посредством линии IRQ 1, используемой для оповещения о том, что информация с клавиатуры доступна. Сами данные из чипа 8255 отправляются центральному процессору через порт ввода-вывода используя адрес 60h. Появление сигнала на линии IRQ 1 заставляет процессор запустить подпрограмму обработки прерываний, которая расшифровывает скан-коды, получаемые с клавиатуры, и определяет дальнейшие действия.
В персональных компьютерах типа AT интерфейс клавиатуры подключается к контролеру клавиатуры на материнской плате. Роль контролера выполняет чип 8042 универсального интерфейса периферийных устройств (UPI – Universal Peripheral Interface).
Клавиатура, использующая порт USB, функционирует практически так же, как и при использовании разъема mini-DIN или DIN. Микросхемы контролера, интегрированные в клавиатуру, получают и интерпретируют данные перед отправкой в систему через порт USB. Некоторые микросхемы имеют логическую часть USB-концентратора, что позволяет устройству работать непосредственно в роли концентратора USB. Получив данные с клавиатуры, USB-порт отправляет их на 8042-совместимый контроллер, обрабатывающий данные так же, как другие данные от клавиатуры. Рекомендую прочесть мою статью, которая поможет вам если не работают клавиши на клавиатуре. Из интересного на сегодня. Если вас интересует ремонт дверей установка замков Сокол, то я думаю, что лучше обратиться к профессионалам.