- •Реферат
- •Содержание
- •Введение
- •Анализ технического задания.
- •Функциональная схема
- •Обоснование схемотехнических решений и элементной базы при разработке принципиальной схемы.
- •Принципиальная схема устройства и описание работы.
- •Моделирование устройства средствами пакета Micro-Cap.
- •Заключение
- •Список использованной литературы
- •Приложения
Министерство транспорта Российской федерации
Федеральное агентство железнодорожного транспорта
Самарский государственный университет путей сообщения
Кафедра информационных систем и телекоммуникаций
ПЕРЕДАТЧИК КЛАВИАТУРЫ PC
Пояснительная записка к курсовой работе
Выполнил:
студент гр. 1181 Башарова И. М.
Проверил:
Иванов В. В.
Самара 2010
Реферат
Курсовая работа.
Пояснительная записка 19с., 4 рис., 3 табл., 3 источника.
ПОСЫЛКА ТАКТОВ, БИТ ПАРИТЕТА, 11-Й ИМПУЛЬС, СБРОС, ПРЕОБРАЗОВАНИЕ, РЕГИСТРЫ СДВИГА.
Объектом разработки является передатчик клавиатуры PC.
Цель работы – создать схему передатчика клавиатуры PC.
В процессе работы создано устройство, передающее KB-Clock сигнал. Разработаны функциональная и принципиальная схемы.
Содержание
Введение………………………………………………………………………...4
Анализ технического задания………………………………………….8
Функциональная схема………………………………………………..11
Обоснование схемотехнических решений и элементной базы при разработке принципиальной схемы………………………………….12
Принципиальная схема устройства и описание работы ее
элементов ……………………………………………………………...14
Моделирование устройства средствами пакета 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 – чтение контроллера
Команды управления клавиатурой АТ:
FF – Reset – сброс и тест клавиатуры
FE – Resend – повтор последней передачи
FB-FD – Set Key Types – установка автоповтора отдельных клавиш
F7-FA – Set 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 – запрос на двухбайтный идентификатор
EE – Echo – эхо-диагностика: возвращает 0EEh.
ED – Set/Reset Mode Indicators – управление индикаторами клавиатуры. Последующий байт данных:
Бит 0: 1=включить Scroll Lock
Бит 1: 1=включить Num Lock
Бит 2: 1=включить Caps Lock
AD – запрет сканирования
AE – разрешение сканирования
По нажатии клавиши ее скан-код попадает в регистр данных. По отпускании в регистр данных попадает сначала префикс отпускания, затем – скан-код. В ХТ префикса нет, по отпускании передается скан-код с единицей в бите.
Из регистра данных контроллера кроме скан-кода возможно получение ответов на команды, префикса кода отпускания клавиши (F0) или кодов особых случаев:
FA – ACK подтверждение приема команды
AA – Test OK – внутренний тест прошел
FD – Diagnostic Failure – ошибка внутреннего теста
EE – Echo Response – ответ на эхо-команду
00, FF – Buffer Error – переполнение буфера или неидентифицированная клавиша.