Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Клавиатура от компьютера
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
koresh
Доброго времени суток.
Совсем недавно начал осваивать микроконтроллеры AVR. Естественно стал вопрос как управлять микроконтроллером чтобы и клавиш много было и ножек много не занимало. Выбор пал на управление клавиатурой от компьютера. Интерфейс оказался достаточно простой. И я даже сам смог полностью написать рабочую программу, которая как оказалась почти совпала с примером из аппноута с сайта Atmel. Варисант управления очень понравился, т.к занимается всего одно внешнее прерывание и один вывод контроллера. Вопрос собственно в следующем: разобрал 3 клавиатуры - все выполнены однокристально, при чём микросхема бескорпусная. При изготовлении устройст естественно не будешь ломать клавиатуры или использовать готовые (хотя последний вариант впринципе реален). Может кто-нибудь подскажет какую микросхему, применяемую в клавиатурах, которую реально приобрести или где можно нати информацию по этому поводу?
Заранее спасибо.
viael
Цитата(koresh @ Aug 29 2006, 22:43) *
Доброго времени суток.
Совсем недавно начал осваивать микроконтроллеры AVR. Естественно стал вопрос как управлять микроконтроллером чтобы и клавиш много было и ножек много не занимало. Выбор пал на управление клавиатурой от компьютера. Интерфейс оказался достаточно простой. И я даже сам смог полностью написать рабочую программу, которая как оказалась почти совпала с примером из аппноута с сайта Atmel. Варисант управления очень понравился, т.к занимается всего одно внешнее прерывание и один вывод контроллера. Вопрос собственно в следующем: разобрал 3 клавиатуры - все выполнены однокристально, при чём микросхема бескорпусная. При изготовлении устройст естественно не будешь ломать клавиатуры или использовать готовые (хотя последний вариант впринципе реален). Может кто-нибудь подскажет какую микросхему, применяемую в клавиатурах, которую реально приобрести или где можно нати информацию по этому поводу?
Заранее спасибо.


Микросхемы драйвера клавиатуры достать очень проблематично,разве что у производителя клавиатур заказать blink.gif .Кроме того счас никто такие чипы в дип корпусах не делает,дешевле на плате "кляксу" поставить.Как мне кажется у вас есть 2 варианта:
1.Использовать дешевые китайские клавиатуры(на опте за 3$ можно найти,в розницу 4-5$).Хоть целиком, хоть чипы ковыряй.
2.Сделать эмулятор такой микросхемы на МК.
AVR
Извините за оффтоп, где можно почитать про этот интерфейс для компьютерных клавиатур и протокол работы с ним? ЗЫ На atmel.com не нашел... sad.gif
DRUID3
Не представляю де можно об этом почитать, но так ли уж эти сложности (специализированные ИМС, протоколы) нужны? В одной киевской фирме, тихо мирно разобрали клавиатуру, нажимая пальцем на кнопки, сняли ее схему соединения клавиш (часа на 2-а аккуратной работы) а затем написали несложную программу для Меги8 (под руку подвернулась)... Вобщем, счастье всегда рядом... smile.gif
Семён
Цитата(DRUID3 @ Aug 30 2006, 04:26) *
Не представляю де можно об этом почитать, но так ли уж эти сложности (специализированные ИМС, протоколы) нужны? В одной киевской фирме, тихо мирно разобрали клавиатуру, нажимая пальцем на кнопки, сняли ее схему соединения клавиш (часа на 2-а аккуратной работы) а затем написали несложную программу для Меги8 (под руку подвернулась)... Вобщем, счастье всегда рядом... smile.gif

Сразу извиняюсь за не конкретность, но всёравно напишу. Найдите книги по железу ЕС 1840 (был такой комп отечественного производства) там найдете схему клавиатуры. Книги эти должны еще быть в библиотеках.
otrog
Цитата(AVR @ Aug 30 2006, 03:22) *
Извините за оффтоп, где можно почитать про этот интерфейс для компьютерных клавиатур и протокол работы с ним? ЗЫ На atmel.com не нашел... sad.gif

Вот чего нашел:
http://www.beyondlogic.org/keyboard/keybrd.htm
http://www.computer-engineering.org/ps2protocol/
http://www.simandl.cz/stranky/elektro/keyb.../keyboard_a.htm
http://members.tripod.com/~ilkerf/c64tower...yboard_FAQ.html
caro
Цитата(AVR @ Aug 30 2006, 04:22) *
... где можно почитать про этот интерфейс для компьютерных клавиатур и протокол работы с ним?
ЗЫ На atmel.com не нашел... sad.gif
Посмотри здесь:
http://www.computer-engineering.org/ps2protocol/
otrog
Цитата(Семён @ Aug 30 2006, 08:16) *
Найдите книги по железу ЕС 1840 (был такой комп отечественного производства) там найдете схему клавиатуры.

К сожалению ЕС 1840 - это клон IBM PC XT, т.е. клавиатура там с интерфейсом XT, а PS/2 - это прямой наследник интерфейса AT.

Цитата(koresh @ Aug 29 2006, 22:43) *
Может кто-нибудь подскажет какую микросхему, применяемую в клавиатурах, которую реально приобрести или где можно нати информацию по этому поводу?
Заранее спасибо.

Там стоит микроконтроллер 8048 или его аналог. В общем наверно можно его достать, но где брать прошивку - хз.
http://my.execpc.com/~geezer/osd/kbd/kbd.txt
TomaT
Вот хорошая статья: http://www.platan.ru/shem/pdf/st44-50.pdf
и еще: http://www.platan.ru/shem/pdf/12_p2-6.pdf
koresh
Всем спасибо за ответ. Как я понял такую микросхему я не найду. Придётся пускать в расход китайские клавиатуры, которая стоит дешевле меги16 smile.gif Если кого интересует подробное описание интерфейса AT клавиатуры с цоколёвкой разъёма и примером программы (полностью рабочим), лежит он здесь: http://atmel.com/dyn/resources/prod_documents/DOC1235.PDF
prottoss
Тоже влезу) Не уверен, но 8048 который стоит в РС AT/XT клаве, по моему, совместим по командам с MCS51 тобишь с 8051(31). Так что может быть есть смысл поискать исходники и сделать на современных, например что нибудь из ATMEL 89Sxxxx
Из литературы очень нравится книга Михаила Гука - Аппаратные средства IBM PC (изд-во Питер) - в первом издании все подробно описанно, и не только про клаву а ище много чего, даже распиновка СПУ платформы х86 начиная c i8088 и кончая Pentium II, во втором издании инфа уже более сжата. Книга мне очень помогла в учебе в универе. Протоколы и интерфейсы описанны тож не плохо, особенно тем будет полезна, кто только начал осваивать это дело....USB, RS232, JTAG etc
rezident
Цитата(prottoss @ Aug 30 2006, 22:37) *
Тоже влезу) Не уверен, но 8048 который стоит в РС AT/XT клаве, по моему, совместим по командам с MCS51 тобишь с 8051(31). Так что может быть есть смысл поискать исходники и сделать на современных, например что нибудь из ATMEL 89Sxxxx

Ошибаетесь. Не совместим. Архитектуры у них схожи, а таблица кодов команд разная. Семейство MSC-48 появилось раньше MSC-51.
beer_warrior
Цитата
Ошибаетесь. Не совместим. Архитектуры у них схожи, а таблица кодов команд разная. Семейство MSC-48 появилось раньше MSC-51.

Правда ваша, но судя по всему, клавиатуры до сих пор базируються на масочных 51-х.Впрочем автору вопроса это не поможет ничем - неважно, что внутри - главное. чтобы протокол отрабатывал.
rezident
Цитата(beer_warrior @ Aug 31 2006, 00:53) *
неважно, что внутри - главное. чтобы протокол отрабатывал.

Согласен.
Nanobyte
Мне встречались клавиатуры, выполненные на 8042, довольно малоизвестный МК. Кстати, на мат. платах интерфейс с клавиатурой выполнен именно на нём (клоны, естественно).
AVR
Большое спасибо за ссылки smile.gif
koresh
Цитата(viael @ Aug 29 2006, 22:27) *
Микросхемы драйвера клавиатуры достать очень проблематично,разве что у производителя клавиатур заказать blink.gif .Кроме того счас никто такие чипы в дип корпусах не делает,дешевле на плате "кляксу" поставить.Как мне кажется у вас есть

То что их неделают в нормальных корпусах оказалось ошибкой. Минута поиска по запросу "keyboard" по описанию компонента на alldatasheets.com позволила найти такую микросхему: NT6880.

Цитата
The NT6880 is a single chip micro-controller for keyboard applications. It incorporates a 6502 8-bit CPU core, 5K bytes of ROM and 160 bytes of RAM used as working RAM and stack area. It also includes 29 programmable bi-directional I/O pins and one 8-bit preloadable base timer. Additionally, it includes a built-in
low voltage reset, a 4MHz RC oscillator requiring an externally applied resistor or a 4MHz ceramic resonator and a watch-dog timer that prevents system standstill.


Цитата
Available in 40 pin DIP package and 40 pad Chip
Form


Это из её даташита smile.gif Схема включения достаточно простая. Вот только где её достать... это уже совсем другой вопрос...
singlskv
Цитата(koresh @ Aug 31 2006, 23:53) *
It incorporates a 6502 8-bit CPU core, 5K bytes of ROM and 160 bytes of RAM used as working RAM and stack area.
Это из её даташита smile.gif Схема включения достаточно простая. Вот только где её достать... это уже совсем другой вопрос...

Ну 6502 - обычный "Hello MOTO" м/к (очень старый).
А нафига он Вам в конечном итоге понадобился?

Лично для меня остались непонятными вопросы:
1. Что, и к чему Вы планируете прикручивать (и нафига smile.gif ) ?
2. Зачем для этого искать какой-то конкретный(старый) м/к ?
3. Зачем, если его не нашли, ломать клавы ? (все равно код для Вашей реализации
придется писать самому blink.gif, готовый Вам не подарят).
koresh
Поясняю. Некоторыми устройствами во время их непосредственного функционирования управлять не нужно. Нужно только изредка настроить чтобы они работали. Весьма удобно сделать всего лишь разъём для клавы от компа и всё. И ножек у контроллера почти не занимается - и управление получается достаточно функциональным. Но подключать непосредственно клаву от компа не всегда удобно (хотя такая возможность тоже имеется). Можно просто сделать клаву с парой другой клавиш, но на контроллере от стандартной клавы. Естественно - на какую оптимальность решения никаких притензий. Просто получатся можно и клаву от компа подрубить и стандартный пульт для управления. Для этого и ищу такие микрухи. Никаких проблем написать прогу для какого-нить понтроллера (хотя как никаких - опять таки время), но проще же найти готовый велосипед не изобретая его.
Alex_Pol
Если клава с парой - другой клавишь, можно на чём угодно собрать и свой протокол наваять. :-)
IgorKossak
Цитата(koresh @ Sep 1 2006, 15:35) *
... но проще же найти готовый велосипед не изобретая его.

Как по мне, то в данном случае быстрее изобрести. Но может я и ошибаюсь. У меня на подобную задачу ушло когда-то дня четыре, а этой теме уже третий день от роду.
koresh
Да я уже в первый день решил просто напросто использовать клавиатуру от компьютера smile.gif Тему можно закрывать.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.