Сегодня закончил, наконец, свой контроллер PS/2 на ПЛИС. При его испытаниях (всего 5 или 6 клавиатур -- три моих, остальные -- Гриндарса) выявилась интересная особенность. По Кулакову, при посылке двухбайтовых команд (например, переключение светодиодов -- команда ED) после обоих байтов клавиатура отвечает байтом FA. На практике же лишь две из испытанных клавиатур отвечали FA, оставшиеся выдавали FA в ответ на первый байт и FE (формально -- ошибка и запрос повторной передачи) на второй байт, при этом сама команда отрабатывала нормально (зажигались или гасли светодиоды).
Ещё одна выявившаяся фишка заключается в том, что, если в качестве байта данных послать байт, являющийся заодно кодом любой команды, он будет воспринят именно как команда. Например, последовательность ED FF не зажигает все три светодиода, а выполняет сброс клавиатуры (команда FF -- это сброс).
Вот такие вот пироги :)
|