Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсовой по схемотехнике.docx
Скачиваний:
6
Добавлен:
20.11.2019
Размер:
619.07 Кб
Скачать

Министерство транспорта Российской федерации

Федеральное агентство железнодорожного транспорта

Самарский государственный университет путей сообщения

Кафедра информационных систем и телекоммуникаций

ПЕРЕДАТЧИК КЛАВИАТУРЫ PC

Пояснительная записка к курсовой работе

Выполнил:

студент гр. 1181 Башарова И. М.

Проверил:

Иванов В. В.

Самара 2010

Реферат

Курсовая работа.

Пояснительная записка 19с., 4 рис., 3 табл., 3 источника.

ПОСЫЛКА ТАКТОВ, БИТ ПАРИТЕТА, 11-Й ИМПУЛЬС, СБРОС, ПРЕОБРАЗОВАНИЕ, РЕГИСТРЫ СДВИГА.

Объектом разработки является передатчик клавиатуры PC.

Цель работы – создать схему передатчика клавиатуры PC.

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

Содержание

Введение………………………………………………………………………...4

  1. Анализ технического задания………………………………………….8

  2. Функциональная схема………………………………………………..11

  3. Обоснование схемотехнических решений и элементной базы при разработке принципиальной схемы………………………………….12

    1. Принципиальная схема устройства и описание работы ее

элементов ……………………………………………………………...14

  1. Моделирование устройства средствами пакета Micro-Cap…………16

Заключение…………………………………………………………………….17

Список использованных источников………………………………………...18

Приложения……………………………………………………………………19

Введение

Для подключения клавиатуры предназначен последовательный синхронный интерфейс, состоящий из 2-х обязательных сигналов, КВ-Data, KB-Clock. Необязательный сигнал KB-Reset сбрасывает клавиатуру низким уровнем сигнала. Интерфейс на системной плате XT реализован аппаратной логикой – регистром сдвига, параллельный выход которого подключается ко входам порта А системного интерфейса i8255. По приему байта от клавиатуры вырабатывается аппаратное прерывание IRQ2, обработчик которого может прочитать принятый байт из порта 60h. С помощью бит 7 и 6 порта 61h возможны программная блокировка и сброс клавиатуры соответственно. Сброс клавиатуры ХТ осуществляется обнулением линии KB-Clock.

Интерфейс клавиатуры АТ построен на микроконтроллере i8042, обеспечивающим, в отличии от ХТ, двунаправленный интерфейс с клавиатурой. Передача информации к клавиатуре используется для управления индикаторами ее состояния и программирования параметров (автоповтор, набор скан-кодов).

Хотя электрический интерфейс клавиатур ХТ и АТ совпадает (за исключением двунаправленного обмена в АТ), логические форматы посылок существенно отличаются. POST способен производить диагностику клавиатуры. подключение клавиатуры неподходящего типа или отсутствие клавиатуры он воспримет как ошибку. Если проверка клавиатуры разрешена в BIOS Setup, то по этой ошибке POST будет дожидаться получения кода клавиши F1.

Программируемый микроконтроллер i8042 имеет встроенное ПО, которое хранится в масочном внутреннем ПЗУ и обеспечивает вырабатывание запроса прерывания по приему скан-кода от клавиатуры и отработку управляющих команд от ЦП. Кроме управления клавиатурой через программно-управляемые и программно-читаемые линии внешних портов контроллера формируются сигналы управления вентилем Gate A20, аппаратного системного сброса, а также считываются сигналы от конфигурационных джамперов системной платы. Контроллер i8242В, кроме интерфейса клавиатуры, поддерживает аналогичный интерфейс дополнительного устройства, например PS/2-Mouse. Контроллер имеет два порта, доступ к которым осуществляется через команды контроллера.

Порт ввода, доступный по команде C0h, используется для чтения состояния джамперов и ключа:

  • Бит 7 – если 0, то клавиатура заблокирована ключом (KeyLock)

  • Бит 6 – исходный видеорежим: 0=GGA, 1=MDA

  • Бит 5 – системная перемычка: 0=замкнута

  • Бит 4 – системное ОЗУ: 0=512 Кбайт и более. 1=256Кбайт

  • Бит 1 – вход данных дополнительного интерфейса

  • Бит 0 – вход данных интерфейса клавиатуры.

Порт ввода, доступный для записи и чтения по командам D1h и D0h соответственно, имеет следующее назначение бит:

  • Бит 7 – последовательные данные клавиатуры

  • Бит 6 – синхронизация клавиатуры

  • Бит 5 – запрос прерывания от дополнительного интерфейса (IRQ12)

  • Бит 4 – запрос прерывания от клавиатуры (IRQ1)

  • Бит 3 – синхронизация дополнительного интерфейса

  • Бит 2 - последовательные данные дополнительного интерфейса

  • Бит 1 – вентиль линии адреса А20 (Gate A20)

  • Бит 0 – альтернативный сброс процессора (без формирования общего сигнала сброса).

Контроллер расположен в пространстве ввода/вывода по адресам 60h и 64h,причем по чтению скан-кода клавиатуры из порта 60h сохраняется совместимость с ХТ. Назначение регистров контроллера клавиатуры приведено в таблице. Регистр данных контроллера в режиме записи используется для подачи команд, относящихся к клавиатуре и собственно контроллеру. Признаком готовности контроллера является нулевое значение бита 1 регистра состояния (порт 064h)

Порт, R/W

Назначение

060 RW

Порт данных 8042

064 R

регистр состояния 8042

 

Бит 7 - ошибка четности

 

Бит 6 - тайм-аут приемника/общий тайм-аут*

 

Бит 5 - тайм-аут передатчика/выходной буфер

 

дополнительного интерфейса полон*

 

Бит 4: 1 - клавиатура на замке

 

Бит 3:

 

1 - команда,

 

0 - данные

 

Бит 2:

 

0 – Power ON,

 

1 - Reset OK (состояние завершения

 

системного сброса)

 

Бит 1:

 

1 - входной буфер полон,

 

0 - готовность к приему команды/данных

 

Бит 0: 1 - выходной буфер полон

064 W

Регистр команд 8042

*Второе назначение бита относится к контроллеру i8242В, имеющему дополнительный интерфейс для подключения PS/2-Mouse.

Общие команды контроллера i8042:

  • DF – разрешить управление линией А20

  • DD – запретить управление линией А20

  • D1 – запись в порт вывода i8042

  • D0 – чтение в порт вывода i8042

  • C0 – чтение порта ввода i8042

  • AE – разрешение клавиатуры

  • AD – запрещение клавиатуры

  • AC – чтение ОЗУ контроллера

  • AB – тест синхронизации и данных

  • AA – внутренний тест контроллера

  • 60 – запись контроллера

  • 20 – чтение контроллера

Команды управления клавиатурой АТ:

  • FFResetсброс и тест клавиатуры

  • FE – Resend – повтор последней передачи

  • FB-FDSet Key Typesустановка автоповтора отдельных клавиш

  • F7-FASet All Keysустановка операции автоповтора клавиатуры

  • F6 – Set Defaultсброс в начальное состояние и разрешение сканирования

  • F5 – Default Disableсброс в начальное состояние и запрет сканирования

  • F4 – Enable KBклавиатура ответит байтом подтверждения АСК и продолжит сканирование

  • F3 – Set Typematic Rate/Delayзадание задержки и частоты повтора кодов. Последующий байт данных имеет следующий формат:

Бит 7=0.

Биты [6:5] – задержка, мс:

00=250, 01=500, 10=1000.

Биты [4:0]=00-1Fh – скорость повторов, 1/с:

00h=30,0 05h=18,5 0Ah=12,0 12h=6,0

01h=26,7 06h=17,1 0Ch=10,0 14h=5,0

02h=24,0 07h=16,0 0Dh=9,2 17h=4,0

03h=21,8 08h=15,0 0Fh=8,0 1Ah=3,0

04h=20,0 09h=13,3 10h=7,5 1Fh=2,0

F2 – Read ID Codeзапрос на двухбайтный идентификатор

EEEchoэхо-диагностика: возвращает 0EEh.

  • EDSet/Reset Mode Indicatorsуправление индикаторами клавиатуры. Последующий байт данных:

Бит 0: 1=включить Scroll Lock

Бит 1: 1=включить Num Lock

Бит 2: 1=включить Caps Lock

  • AD – запрет сканирования

  • AE – разрешение сканирования

По нажатии клавиши ее скан-код попадает в регистр данных. По отпускании в регистр данных попадает сначала префикс отпускания, затем – скан-код. В ХТ префикса нет, по отпускании передается скан-код с единицей в бите.

Из регистра данных контроллера кроме скан-кода возможно получение ответов на команды, префикса кода отпускания клавиши (F0) или кодов особых случаев:

  • FAACK подтверждение приема команды

  • AATest OKвнутренний тест прошел

  • FDDiagnostic Failureошибка внутреннего теста

  • EEEcho Responseответ на эхо-команду

  • 00, FFBuffer Errorпереполнение буфера или неидентифицированная клавиша.