Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

lr3_ipu

.pdf
Скачиваний:
10
Добавлен:
09.05.2015
Размер:
474.61 Кб
Скачать

Министерство образования Российской Федерации Федеральное государственное бюджетное образовательное учреждение

высшего профессионального образования «Южно-Уральский государственный университет» (национальный исследовательский университет)

Приборостроительный факультет Кафедра «Электронно-вычислительные машины»

Лабораторная работа №3

«Интерфейс PS/2»

по курсу «Интерфейсы периферийных устройств»

Руководитель:

/ В.А. Руднев / “______“ _____________ 2014г.

Авторы работы: студенты группы ПС-424

/ К.В. Гажа /

/ Д.Ф. Красилов /

/ В.А. Миронов /

“______“ _____________ 2014г.

Челябинск 2014

Цель: Изучение интерфейса PS/2, режимов работы, скорости, формат посылок. Эмуляция интерфейса с помощью микроконтроллера, анализ посылок на анализаторе. Подключение PS/2 мыши, изучение формата посылок, инициализации. Считывание перемещений мыши программой в модуле микроконтроллера.

Содержание работы:

1.Анализ задания;

2.Составление алгоритма работы микроконтроллера в качестве Хоста;

3.Написание программы, для организации обмена информацией;

4.Подключение мыши к «Преобразователю уровней» и организация

посылки пакетов информации и снятие временной диаграммы обмена.

 

 

 

230101.2013.724.ПЗ ЛР

Лист

Изм. Лист № докум.

Подпись

Дата

2

 

 

 

1 АНАЛИЗ ЗАДАНИЯ

1.1 Описание интерфейса

Интерфейс PS/2 расшифровывается как Personal System/2. Широкую

популярность он приобрел благодаря использованию для взаимодействия с манипулятором типа мышь в компьютерах Apple Macintosh и позднее в ОС

Windows для IBM PC в конце 80-х.

Интерфейс мыши PS/2 использует двунаправленный последовательный протокол, по которому передаются данные о движении и состоянии кнопок вспомогательному диспетчеру устройств компьютера (хосту). Диспетчер, в свою очередь, посылает команды для мыши, чтобы установить частоту обмена, разрешение, ее перезагрузку, выключение и т. д. Напряжение питания на линии передачи 5В ~100 мА. На Рис. 1 показано обозначение контактов разъема PS/2.

Рисунок 1 – Назначение контактов разъёма PS/2

Стандартный интерфейс мыши PS/2 поддерживает следующие входы: перемещение по координате X (вправо/влево), перемещение по координате Y (вверх/вниз), левая кнопка, средняя кнопка, правая кнопка. Данный тип мыши является стандартом, но сейчас уже не используется. Мышь периодически читает эти входы, обновляет связанные с ними счетчики и устанавливает флаги, чтобы в дальнейшем отправить хосту текущее состояние кнопок и перемещение.

 

 

 

230101.2013.724.ПЗ ЛР

Лист

Изм. Лист № докум.

Подпись

Дата

3

 

 

 

У стандартной мыши есть два 9-разрядных счетчика с флагами переполнения, которые отслеживают перемещение: по координате X и по координате Y. Их содержание, а также состояние трех кнопок мыши отправляется хосту в виде 3-хбайтового пакета данных. Счетчики перемещения определяют смещение мыши относительно ее предыдущей позиции, когда было совершено перемещение или когда пришла команда Resend (0xFE).

Когда мышь читает свои входы, она записывает текущее состояние своих кнопок и постепенно увеличивает/уменьшает счетчики перемещения согласно значению перемещения, которое произошло относительно последнего значения. Если любой из счетчиков переполнится, то будет установлен соответствующий флаг переполнения.

1.2 Пакет данных о перемещениях

Стандартная мышь PS/2 посылает информацию о движении/кнопках хосту, используя следующий 3-х байтовый пакет (табл. 1).

Таблица1. Формат посылки от стандартной мыши.

Байт

Бит 7

 

Бит 6

Бит

Бит

Бит 3

Бит 2

Бит 1

Бит 0

 

 

 

 

5

4

 

 

 

 

1

Y-

 

X-

Y

Х

всегда

Средняя

правая

левая

 

переполнение

 

переполнение

знак

знак

1

кнопка

кнопка

кнопка

 

 

 

 

бит

бит

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

X-перемещение

 

 

 

 

 

 

 

3

Y-перемещение

 

 

 

 

 

 

 

Значения перемещения это два 9-разрядных целых числа, где старший значащий бит, появляется битом “X/Y знакв 1-м байте из передаваемого пакета данных. Их значение представляет смещение мыши относительно ее предыдущей позиции, определенной текущим разрешением. Диапазон отсылаемых значений лежит в пределах от -255 до +255. Если этот диапазон будет превышен, то установится соответствующий бит переполнения.

 

 

 

230101.2013.724.ПЗ ЛР

Лист

Изм. Лист № докум.

Подпись

Дата

4

 

 

 

1.3 Режимы работы

Есть четыре режима работы:

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

2.поток (Stream) – рабочий режим по умолчанию, в котором мышь отправляет пакеты данных о перемещениях, когда происходит перемещение или изменяются состояния кнопок;

3.удаленный (Remote) – хост должен упорядочить пакеты данных о перемещениях;

4.обратный (Wrap) – диагностический режим, в котором мышь отправляет каждый полученный пакет назад к хосту.

1.3.1 Режим сброса (Reset)

Мышь переходит в режим сброса при включении питания или в ответ на команду Reset (0xFF). После ввода этого режима мышь выполняет

диагностическую самопроверку и устанавливает следующие значения по умолчанию:

Частота дискретизации =100 значений в секунду

Разрешение =4 значения на 1мм

Масштабирование =1:1

Создание отчетов данных = отключено

После режима самодиагностики мышь отправляет хосту результат проверки – 0xAA (успешно) или 0xFC (ошибка).

Следующим значением после 0xAA или 0xFC мышь отправляет свой ID=0×00. Это значение указывает на то, что это мышь, а не клавиатура или иное устройство. В некоторых описаниях протокола указано, что хост не должен передавать данные, пока тот не получит ID устройства. Однако некоторые BIOS’ы

 

 

 

230101.2013.724.ПЗ ЛР

Лист

Изм. Лист № докум.

Подпись

Дата

5

 

 

 

отправляют команду Reset (0xFF) сразу после команды 0xAA, полученной после того, как включенное питание было сброшено.

Как только мышь отправила свой ID устройства хосту, она входит в потоковый режим.

1.3.2 Потоковый режим (Stream)

В потоковом режиме мышь отправляет данные перемещения, когда

обнаруживается перемещение или изменение в состоянии одной или более кнопок мыши. Максимальная частота, на которой можно сообщить об этих данных, известна как частота дискретизации. Этот параметр изменяется в пределах от 10 до 200 значений в секунду (по умолчанию – 100 значений в секунду). Хост может изменить это значение, используя команду Set Sample Rate (0xF3).

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

Enable Data Reporting (0xF4).

Потоковый режим рабочий режим по умолчанию или режим, в который можно установить, используя команду Set Stream Mode (0xEA).

1.3.3 Удаленный режим (Remote)

В удаленном режиме мышь читает свои входы и обновляет счетчики/флаги на текущей частоте дискретизации, но не отсылает автоматически пакеты данных, если произошло перемещение. Вместо этого хост опрашивает мышь, используя команду Read Data (0xEB). После получения этой команды мышь отсылает

единственный пакет данных о перемещениях и сбрасывает свои счетчики перемещения.

Мышь входит в удаленный режим при получении команды Set Remote Mode (0xF0). Удаленный режим используется редко.

 

 

 

230101.2013.724.ПЗ ЛР

Лист

Изм. Лист № докум.

Подпись

Дата

6

 

 

 

1.3.4 Обратный режим (Wrap)

Это эхо”-режим, в котором каждый байт, полученный мышью, отсылается назад к хосту. Даже если полученный байт будет соответствовать системной команде, то мышь не станет отвечать на эту команду, а только отправит данный байт назад хосту. Однако есть два исключения: команды Reset (0xFF) и Reset Wrap Mode (0xEC). Мышь обработает их как допустимые команды и не отправит назад хосту.

Обратный режим используется редко.

1.4 Передача информации

Устройство может начать передачу данных хосту по своей инициативе в любой момент, когда передача не ведётся, но разрешена. Признаком разрешения передачи является наличине на обеих линиях — Clock и Data — логических единиц (естественно, при условии, что ранее начатая передача 11-разрядного пакета уже закончена, поскольку обе линии могут быть единичными и в процессе передачи) (рис. 2).

Рисунок 2 – Содержание 11 битового пакета информации, при передаче Утройство Хост.

Последовательность передачи одного бита выглядит следующим образом. Когда на линии Clock находится логическая единица, устройство выставляет нужный бит (единицу или нуль) на линию Data, а затем, выждав 5—25 мкс, выставляет на Clock логический нуль, тем самым давая понять хосту, что на

 

 

 

230101.2013.724.ПЗ ЛР

Лист

Изм. Лист № докум.

Подпись

Дата

7

 

 

 

линии Data находится нужный бит. Выждав ещё некоторое время, устройство вновь выставляет на линии Clock логическую единицу, а затем в течение не менее 5 мкс не изменяет состояние линий Clock и Data. Общий период времени, необходимый для передачи одного бита, составляет от 60 до 100 мкс, что соответствует частоте синхроимпульсов, передаваемых по линии Clock, в 10— 16,7 кГц.

При передаче в обратную сторону команд от контроллера на материнской плате компьютера к клавиатуре или мыши протокол отличается от описанного выше.

Последовательность передаваемых бит здесь другая (рис. 3):

1.хост контроллер опускает сигнал Clock в ноль на время примерно 100 микросекунд;

2.хост контроллер опускает сигнал Data в ноль формируя старт бит;

3.хост контроллер отпускает сигнал Clock в логическую единицу, устройство фиксирует старт бит;

4.далее устройство генерирует сигнал Clock, а хост контроллер подает передаваемые биты;

5.после того, как хост контроллер передал все свои биты, включая бит четности и стоп бит, устройство посылает последний бит «ноль», который является подтверждением приема.

Рисунок 3 – Схема передачи Хост-Устройство.

 

 

 

230101.2013.724.ПЗ ЛР

Лист

Изм. Лист № докум.

Подпись

Дата

8

 

 

 

2 АЛГОРИТМ ОСУЩЕСТВЛЕНИЯ ОБМЕНА ИНФОРМАЦИЕЙ

Начало

инициализации

мыши

Конец

инициализации

мыши

Начало

Инициализация LCD и вывод маски,

для отображения состояния мыши

Отпускаем от земли линии DATA & CLK

Отправляем мыши команду Reset

Ждём подтверждения и системной информации

Отправляем

команду

Remote mod

Ждём

подтверждения

Задержка.

Отправляем мыши 1 байт запрос

состояния

Получаем 4 байта: 1 подтверждения и 3 с информацией

Состояние Нет изменилось?

Да

Обновление информации на LCD о состоянии

мыши

Рисунок 4 – Блок-схема работы Хоста с мышью.

230101.2013.724.ПЗ ЛР

Изм. Лист

№ докум.

Подпись Дата

Лист

9

3 КОД ПРОГРАММ ПРЕДСТАВЛЕН В ПРИЛОЖЕНИИ А.

4 ВРЕМЕННАЯ ДИАГРАММА ОБМЕНА ДАННЫМИ

Для снятия временной диаграммы настроим работу триггера «Логического анализатора» на работу по сигналу «CLK» (рис. 5).

Рисунок 5 – Схема подключения анализатора.

Рисунок 6 – Временная диаграмма обмена информацией.

 

 

 

230101.2013.724.ПЗ ЛР

Лист

Изм. Лист № докум.

Подпись

Дата

10

 

 

 

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]