Просмотр полной версии : Не работает PS/2 Keyboard
Здравствуйте.. Вот сделал на днях контроллер клавы по схеме Камиля Каримова (схему на всякий случай прикрепил).. И что вы думаете( Не работает..:( При включении питания инициализируется клава где то секунд 5.. Потом при нажатии на клавиши моргает светодиод (так и должно быть по описанию..) Но вот на мониторе ничего не появляется.. Осциллографа пока нет,чтоб посмотреть что там творится внутри, будет только через пару дней. Wait формируется вроде.. (тестером проверил). И ещё при нажатии на клавиши светодиод иногда загорается и не тухнет, а затухает при последующих нескольких нажатиях на клавиши (подвисает как бы). Клава точно рабочая.. Хотел спросить возможные причины проблем и если кто знает описать принцип работы схемы... Заранее благодарен..
Обновленная прошивка от Caro:
http://www.zx.pk.ru/showpost.php?p=187088&postcount=7
(добавлено модератором)
1) Какой микроконтроллер используешь (AT90S2313 или ATTiny2313)?
2) Какую прошивку зашил?
Судя по тоему описанию, используешь ATTiny2313, FUSESы установлены по умолчанию, тоесть контроллер
работает от внутреннего генератора 8 МГц с включенным делителем на 8, тоесть на частоте 1 МГц.
Отсюда такой длительный период инициализации.
Запрограммируй FUSESы на режим 8 Мгц, просто сними галку CLKDIV8, остальное не трогай.
Кварц можно в этом случае не ставить.
Принцип работы схемы описан в одном из номеров Абзаца: http://abzac.retropc.ru/content?id=421
Контроллер ATTiny2313. 90S2313 не нашёл. Прошивку заливал,которая вместе со схемой шла в одной папке.. Написано,версия 1.0.. Там один HEX файл.. (прикрепил его) А что, ATTiny не пойдёт?
Контроллер ATTiny2313. 90S2313 не нашёл. Прошивку заливал,которая вместе со схемой шла в одной папке.. Написано,версия 1.0.. Там один HEX файл.. (прикрепил его) А что, ATTiny не пойдёт?Пойдет, но в отличии от AT90S2313, нужно запрограммировать биты настройки ATTiny2313, так называемые FUSES.
Я написал выше, как это сделать.
Прошивка 1.0 будет работать, но я рекомендую обновить её. Сейчас выложу новую.
Так а из за чего нет передачи данных на шину zx клавиатуры? Из за низкой частоты работы контроллера?
Добавлено через 4 минуты
Извени за настырность,но а если я хочу чтоб контроллер работал от внешнего кварца,какой бит конфигурации надо менять? просто Atmel не знаю совсем...
Так а из за чего нет передачи данных на шину zx клавиатуры?
Из за низкой частоты работы контроллера?Пока не знаю, но то, что контроллер работает на частоте в 8 раз ниже требуемой, думаю не способствует его правильному функционированию.
Установи настройки как надо, может сразу и заработает, если всё остальное смонтировал правильно.
Кстати я правильно понял, ты его к Краснодару приладил?
Добавлено через 5 минут
если я хочу чтоб контроллер работал от внешнего кварца,какой бит конфигурации надо менять?
FUSES для ATTiny2313
в контроллере PS/2 клавиатуры:
--------------------------------------
Name ! Default ! SET ! MODE
--------------------------------------
CKSEL0 ! on ! off !\
CKSEL1 ! off ! off ! > - Кварц. внешний
CKSEL2 ! on ! off ! /
CKSEL3 ! on ! off !/
SUT0 ! on ! off !
SUT1 ! off ! off !
CKOUT ! off ! off !
CKDIV8 ! on ! off !
RSTDISBL ! off ! off !
BODLEVEL0 ! off ! on !\
BODLEVEL1 ! off ! on ! > - 4.3 V
BODLEVEL2 ! off ! off !/
WDTON ! off ! off !
SPIEN ! on ! on !
EESAVE ! off ! off !
DWEN ! off ! off !
SELFPRGEN ! off ! off !
-------------------------------------
Состояние on и off в разных программаторах
обозначается по разному, ориентируйтесь
на состояние бита SPIEN, его нельзя трогать
ни в коем случае, иначе придется добывать
парралельный программатор.
Прошивка с двумя вариантами раскладки клавиатуры, базовой и предложенной AXORом.
Переключение клавишей Scroll Lock.
Расчитана на прошивку в ATTiny2313 с кварцем до 20 Мгц.
Имейте в виду, что это прошивка работает только в схеме контроллера версии 1.0
Монтаж проверял уже раз пять наверно.. Всё правильно.. А к Краснодару подключается в принципе аналогично.. Единственное что пришлось поискать,так это сигнал PFE. Нашёл его на входе мультиплексоров КП11 (вывод 1),переключающих "чтение клавы/чтение РУ6". На этом выводе ноль при чтении клавы,и еденица при чтении памяти.. Вроде то,что и должно быть..
Каро, ответь плиз в теме про профинский контроллер.
Монтаж проверял уже раз пять наверно.. Всё правильно.. А к Краснодару подключается в принципе аналогично.. Единственное что пришлось поискать,так это сигнал PFE. Нашёл его на входе мультиплексоров КП11 (вывод 1),переключающих "чтение клавы/чтение РУ6". На этом выводе ноль при чтении клавы,и еденица при чтении памяти.. Вроде то,что и должно быть..Что-то мне это не очень нравится, а причем тут РУ6.
Если есть схема, кинь мне на e-mail (он есть на схеме контроллера), я посмотрю.
Спасибо за прошивку. Завтра прошью.. Я так понял,что эту прошивку надо заливать как "есть". Она ведь для Аттини? Все биты там уже выставлены как надо? Ещё находил схему версии 1.1.. Так версия 1.0 и 1.1 абсолютно одинаковые (за исключением подключения элемента ЛА3,но это не принципиально..)
Спасибо за прошивку. Завтра прошью.. Я так понял,что эту прошивку надо заливать как "есть". Она ведь для Аттини? Все биты там уже выставлены как надо?В самом коде прошивки к сожалению FUSESы не прописаны.
Записать их надо отдельно, в соответствии с таблицей их состояния (см. FUSES.TXT)
Спасибо за объяснения.. Постараюсь прошить как надо..)) Ах да, РУ6 заменены на РУ5 в следствии переделки на 128 кило.. Схему сейчас отсканирую и скину на мыло.. Правда она получится на 2 листах,но я думаю будет читабельно..
Добавлено через 46 минут
Схему отослал на мыло.. Посмотри пожалуйста,правильно ли я всё сделал...
Схему отослал на мыло.. Посмотри пожалуйста,правильно ли я всё сделал...Не совсем, ответил мылом.
To Caro:
Спасибо за объясненья.. Про то,что ещё нужно использовать сигнал с 15 ноги мультиплексоров я тоже думал.. В процессе экспериментов делал всё точно так же,как ты написал в письме.. Но результат остался прежним.. Wait конечно через диод на 24 ногу CPU подключал.. Так что вроде всё должно работать.. Ну да ладно,завтра на работе залью последнюю прошивку в контроллер с правильными FUSES. (дома просто программатора нет..) Напишу потом последствия..
To Caro:
пасибо большое за консультации и поддержку! Сегодня залил последнюю прошивку с правильными FUSES и вуаля! Работает! Ещё раз спасибо.. И ещё,последнее. Если не затруднит,опиши пожалуйста,какая разница между двумя раскладками клавиатуры, поддержаными в прошивке? Заранее благодарен..
Сегодня залил последнюю прошивку с правильными FUSES и вуаля! Работает!
Так что, берем схему из этой ветки, прошивку и всё? И какой кварц использовал?
Ну да. Схему берём из первого сообщения. Она там прикреплена. И последнюю прошивку. Её тут Caro выкладывал. Выставляем Fuses согласно описанию. Вот и всё. У меня 10 мегагерцовый контроллер,поэтому поставил кварц на 10 мгц. Но в принципе можно обойтись и без кварца вообще,если в конфигурации контроллера выставить работу от внутреннего rc генератора на 8 мгц..
Я немного не понял, если кто то корректировал схема, так зачем вы в слепую ими обмениваетесь, выложите на общее обозрение посмотрим. Интересно ведь узнать что то новое
Я немного не понял, если кто то корректировал схема, так зачем вы в слепую ими обмениваетесь, выложите на общее обозрение посмотрим. Интересно ведь узнать что то новое
Схема из первого поста, никто ее не менял. Прошивку обновили несколькими постами позже. Всё что нужно для счастья - присутствует.
собрал сабж, прошил тинни, а как можно проверить теперь его не подрубая к спеку?
как должна повести себя клава (индикаторы моргают, горят или еще как) и светодиодик на плате?
хочу удостовериться что контроллер работает прежде чем подключать его к спеку.
#FE - порт выбора клавиатуры спека. как его найти, точнее на что обращать внимание? по схеме (http://zxfiles.ru/downloads.php?id=476) я так понимаю :v2_conf2: он приходит на 1 ногу D64 и D65 (мультиплексоры), а формируется из A0 и /IORQ по схеме "или-не".
поправте если я ошибаюсь :v2_blush:
собрал сабж, прошил тинни, а как можно проверить теперь его не подрубая к спеку?Подай питание 5 Вольт и подключи клаву.
как должна повести себя клава (индикаторы моргают, горят или еще как) и светодиодик на плате?Индикаторы на клавиатуре должны загорется на 0.5 сек и погаснуть.
При первом включении индикаторы NumLock и ScrollLock останутся включенными, CapsLock при включении питания всегда выключена.
Светодиод на плате показывает состояние буфера нажатых клавиш и состояние линии разрешения формирования сигнала /WAIT.
Если буфер пуст (ни одной клавиши не нажато) светодиод погашен, /WAIT не формируется.
При нажатии на клавиши NumLock, CapsLock и ScrollLock соответсвующие индикаторы должны менять свое состояние.
При нажатии PrintScreen на выходе /RESET должен формироватся импульс низкого уровня длительностью порядка 10 мсек.
Нажатие на клавишу F12 формирует такой же импульс на выходе /NMI
#FE - порт выбора клавиатуры спека. как его найти, точнее на что обращать внимание? по схеме (http://zxfiles.ru/downloads.php?id=476) я так понимаю :v2_conf2: он приходит на 1 ногу D64 и D65 (мультиплексоры), а формируется из A0 и /IORQ по схеме "или-не".
поправте если я ошибаюсь :v2_blush:По схеме ИЛИ, инверсия не нужна. Активный уровень низкий.
caro, похоже последние посты героически погибли :)
Насчет клавиатуры А4 - а если скажем взять сканкоды несовпадающих клавиш и сделать отдельную прошивку под такую клавиатуру ? Потому что как понял режим Mode2 в нем еще есть префикс для NumLock клавиш , который надо обрабатывать что ведет к увеличению WAIT при нажатии клавиш ?
Насчет клавиатуры А4 - а если скажем взять сканкоды несовпадающих клавиш и сделать отдельную прошивку под такую клавиатуру ? Потому что как понял режим Mode2 в нем еще есть префикс для NumLock клавиш , который надо обрабатывать что ведет к увеличению WAIT при нажатии клавиш ?Нет, эта обработка ведется при нажатии клавиш, а не при считывании скан-кода,
поэтому на длительность /WAIT, усложнение обработки префиксных клавиш никак не влияет.
Постараюсь выкроить время и сделать вариант прошивки для работы с клавиатурой в режиме Scan Code 1.
Постараюсь выкроить время и сделать вариант прошивки для работы с клавиатурой в режиме Scan Code 1.
Спасибо, будем ждать ! :)
Подай питание 5 Вольт и подключи клаву
-есть.подал.
Индикаторы на клавиатуре должны загорется на 0.5 сек и погаснуть
-загорелись, погасли.
При первом включении индикаторы NumLock и ScrollLock останутся включенными, CapsLock при включении питания всегда выключена
-ScrollLock включен, CapsLock -выключен, NumLock - его нету, клава A4TECH компакт.
При нажатии на клавиши NumLock, CapsLock и ScrollLock соответсвующие индикаторы должны менять свое состояние.
а вот тут какието грабли вылазят, на CapsLock нереагирует, ScrollLock работает как получится, то есть то нету. на PrtScn диот работает как должен похоже на CapsLock
клава A4TECH компакт
Похоже еще одна "жертва" А4-ой клавы :) Попробуй обычную 105-кнопочную подключить :)
Похоже еще одна "жертва" А4-ой клавы :) Попробуй обычную 105-кнопочную подключить :)
:v2_blush: да, засада.... а в СПЕССИ2007 она нормально работает.
будем ждать от caro хороших вестей:v2_cool:
105-кнопочная нормально заработала - диодики горят как положено
помогите :confused:
как определить от куда брать /PFE сигнал
если беру с 4-ой ноги Д27 - контроллер после нажатия на любую клавишу начинает светить диодиком оч тускло и больше не реагирует, комп тож никак не реагирует,
а если беру с 12-ой ноги Д11 (инверсный уже) то контроллер работает, диодик моргает по нажатию клавиш, но комп все равно не реагирует
:confused: может я всетаки не тот сигнал беру?
может я всетаки не тот сигнал беру?
Попробуй взять с D26.3 н.8 , то что ты берешь это просто обращение к порту #FE без учета сигнала чтения из порта (/RD).
Попробуй взять с D26.3 н.8 , то что ты берешь это просто обращение к порту #FE без учета сигнала чтения из порта (/RD).
Спасибо, уже хщтя бы ничего не виснет и оба реагируют,но....
при нажатии, на экране появляется мусор и длится ровно сколько нажимаешь клавишу, наверно контроллер выдает инфу одновременно с видео:v2_conf2:
помогите :confused:
как определить от куда брать /PFE сигнал
если беру с 4-ой ноги Д27 - контроллер после нажатия на любую клавишу начинает светить диодиком оч тускло и больше не реагирует, комп тож никак не реагирует,
а если беру с 12-ой ноги Д11 (инверсный уже) то контроллер работает, диодик моргает по нажатию клавиш, но комп все равно не реагирует
:confused: может я всетаки не тот сигнал беру?Нужен еще один элемент ИЛИ (ЛЛ1). На его входы надо подать:
- с вывода 12 D11.6;
- с вывода 8 D26.3;
Выходной сигнал и будет /PFE
Кто-нибудь пробовал подключать к контроллеру Камиля клавиатуру, которая работает и на PS/2 и на USB? У меня одна такая клава ведет себя неприлично - при нажатии кнопки курсора "вниз" (и отпускании, разумеется) курсор начинает бежать без остановки, пока не будет нажата какая-нибудь другая кнопка. Это в меню спека-128 (проверял на "Пентагоне-128"). Остальные 2 клавиатуры (чистые PS/2) работают "на ура".
. при нажатии кнопки курсора "вниз" (и отпускании, разумеется) курсор начинает бежать без остановки, пока не будет нажата какая-нибудь другая кнопка.К сожалению мне тоже попалась такая "странная" клавиатура именно из разряда и USB и PS/2.
Я уже писал, что похоже в них не полностью реализован режим ScanCode3,
в который переключаются клавиатуры при работе в контроллере.
К сожалению мне тоже попалась такая "странная" клавиатура именно из разряда и USB и PS/2.
Я уже писал, что похоже в них не полностью реализован режим ScanCode3,
в который переключаются клавиатуры при работе в контроллере.
Значит, я проворонил это сообщение :)
Ну и фиг с ним, главное, чтобы обычные PS/2 работали. А они работают :)
Подскажите, что нужно нажать на клавиатуре, что бы получить сигналы /RES и /NMI в контроллере?
Подскажите, что нужно нажать на клавиатуре, что бы получить сигналы /RES и /NMI в контроллере?
/RESET - <PrintScreen>
/NMI - <F12>
Cat_Alex/QRP
24.02.2016, 12:29
caro, чем, кроме схемы, отличаются контроллер версии 1.0 и 1.1? Это к вопросу о прошивке в 7 посте.
caro, чем, кроме схемы, отличаются контроллер версии 1.0 и 1.1? Это к вопросу о прошивке в 7 посте.Сейчас уже не припомню почему я написал, что прошивка выложенная в 7 посту годится только для версии 1.0.
Сейчас сравнил обе схемы, отличие не принципиальное, поэтому прошивка будет работать и на версии 1.1.
Cat_Alex/QRP
24.02.2016, 13:46
Сейчас уже не припомню почему я написал, что прошивка выложенная в 7 посту годится только для версии 1.0.
Сейчас сравнил обе схемы, отличие не принципиальное, поэтому прошивка будет работать и на версии 1.1.
Камиль, спасибо! Готовлю программатор, буду перешивать.
дополнение: ужо перешил, только не пойму: где ресет?
Cat_Alex/QRP
25.08.2016, 20:36
Прошивка с двумя вариантами раскладки клавиатуры, базовой и предложенной AXORом.
Переключение клавишей Scroll Lock.
Расчитана на прошивку в ATTiny2313 с кварцем до 20 Мгц.
Имейте в виду, что это прошивка работает только в схеме контроллера версии 1.0
А где на раскладку взглянуть можно?
Powered by vBulletin® Version 4.2.5 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot