PDA

Просмотр полной версии : Не работает PS/2 Keyboard



Mifody
03.03.2009, 16:07
Здравствуйте.. Вот сделал на днях контроллер клавы по схеме Камиля Каримова (схему на всякий случай прикрепил).. И что вы думаете( Не работает..:( При включении питания инициализируется клава где то секунд 5.. Потом при нажатии на клавиши моргает светодиод (так и должно быть по описанию..) Но вот на мониторе ничего не появляется.. Осциллографа пока нет,чтоб посмотреть что там творится внутри, будет только через пару дней. Wait формируется вроде.. (тестером проверил). И ещё при нажатии на клавиши светодиод иногда загорается и не тухнет, а затухает при последующих нескольких нажатиях на клавиши (подвисает как бы). Клава точно рабочая.. Хотел спросить возможные причины проблем и если кто знает описать принцип работы схемы... Заранее благодарен..

Обновленная прошивка от Caro:
http://www.zx.pk.ru/showpost.php?p=187088&postcount=7
(добавлено модератором)

caro
03.03.2009, 16:19
1) Какой микроконтроллер используешь (AT90S2313 или ATTiny2313)?
2) Какую прошивку зашил?

Судя по тоему описанию, используешь ATTiny2313, FUSESы установлены по умолчанию, тоесть контроллер
работает от внутреннего генератора 8 МГц с включенным делителем на 8, тоесть на частоте 1 МГц.
Отсюда такой длительный период инициализации.
Запрограммируй FUSESы на режим 8 Мгц, просто сними галку CLKDIV8, остальное не трогай.
Кварц можно в этом случае не ставить.

Принцип работы схемы описан в одном из номеров Абзаца: http://abzac.retropc.ru/content?id=421

Mifody
03.03.2009, 16:36
Контроллер ATTiny2313. 90S2313 не нашёл. Прошивку заливал,которая вместе со схемой шла в одной папке.. Написано,версия 1.0.. Там один HEX файл.. (прикрепил его) А что, ATTiny не пойдёт?

caro
03.03.2009, 16:40
Контроллер ATTiny2313. 90S2313 не нашёл. Прошивку заливал,которая вместе со схемой шла в одной папке.. Написано,версия 1.0.. Там один HEX файл.. (прикрепил его) А что, ATTiny не пойдёт?Пойдет, но в отличии от AT90S2313, нужно запрограммировать биты настройки ATTiny2313, так называемые FUSES.
Я написал выше, как это сделать.
Прошивка 1.0 будет работать, но я рекомендую обновить её. Сейчас выложу новую.

Mifody
03.03.2009, 16:44
Так а из за чего нет передачи данных на шину zx клавиатуры? Из за низкой частоты работы контроллера?

Добавлено через 4 минуты
Извени за настырность,но а если я хочу чтоб контроллер работал от внешнего кварца,какой бит конфигурации надо менять? просто Atmel не знаю совсем...

caro
03.03.2009, 16:51
Так а из за чего нет передачи данных на шину 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, его нельзя трогать
ни в коем случае, иначе придется добывать
парралельный программатор.

caro
03.03.2009, 17:03
Прошивка с двумя вариантами раскладки клавиатуры, базовой и предложенной AXORом.
Переключение клавишей Scroll Lock.
Расчитана на прошивку в ATTiny2313 с кварцем до 20 Мгц.
Имейте в виду, что это прошивка работает только в схеме контроллера версии 1.0

Mifody
03.03.2009, 17:09
Монтаж проверял уже раз пять наверно.. Всё правильно.. А к Краснодару подключается в принципе аналогично.. Единственное что пришлось поискать,так это сигнал PFE. Нашёл его на входе мультиплексоров КП11 (вывод 1),переключающих "чтение клавы/чтение РУ6". На этом выводе ноль при чтении клавы,и еденица при чтении памяти.. Вроде то,что и должно быть..

Sayman
03.03.2009, 17:14
Каро, ответь плиз в теме про профинский контроллер.

caro
03.03.2009, 17:14
Монтаж проверял уже раз пять наверно.. Всё правильно.. А к Краснодару подключается в принципе аналогично.. Единственное что пришлось поискать,так это сигнал PFE. Нашёл его на входе мультиплексоров КП11 (вывод 1),переключающих "чтение клавы/чтение РУ6". На этом выводе ноль при чтении клавы,и еденица при чтении памяти.. Вроде то,что и должно быть..Что-то мне это не очень нравится, а причем тут РУ6.
Если есть схема, кинь мне на e-mail (он есть на схеме контроллера), я посмотрю.

Mifody
03.03.2009, 17:16
Спасибо за прошивку. Завтра прошью.. Я так понял,что эту прошивку надо заливать как "есть". Она ведь для Аттини? Все биты там уже выставлены как надо? Ещё находил схему версии 1.1.. Так версия 1.0 и 1.1 абсолютно одинаковые (за исключением подключения элемента ЛА3,но это не принципиально..)

caro
03.03.2009, 17:21
Спасибо за прошивку. Завтра прошью.. Я так понял,что эту прошивку надо заливать как "есть". Она ведь для Аттини? Все биты там уже выставлены как надо?В самом коде прошивки к сожалению FUSESы не прописаны.
Записать их надо отдельно, в соответствии с таблицей их состояния (см. FUSES.TXT)

Mifody
03.03.2009, 17:25
Спасибо за объяснения.. Постараюсь прошить как надо..)) Ах да, РУ6 заменены на РУ5 в следствии переделки на 128 кило.. Схему сейчас отсканирую и скину на мыло.. Правда она получится на 2 листах,но я думаю будет читабельно..

Добавлено через 46 минут
Схему отослал на мыло.. Посмотри пожалуйста,правильно ли я всё сделал...

caro
03.03.2009, 19:42
Схему отослал на мыло.. Посмотри пожалуйста,правильно ли я всё сделал...Не совсем, ответил мылом.

Mifody
03.03.2009, 20:01
To Caro:
Спасибо за объясненья.. Про то,что ещё нужно использовать сигнал с 15 ноги мультиплексоров я тоже думал.. В процессе экспериментов делал всё точно так же,как ты написал в письме.. Но результат остался прежним.. Wait конечно через диод на 24 ногу CPU подключал.. Так что вроде всё должно работать.. Ну да ладно,завтра на работе залью последнюю прошивку в контроллер с правильными FUSES. (дома просто программатора нет..) Напишу потом последствия..

Mifody
04.03.2009, 23:00
To Caro:
пасибо большое за консультации и поддержку! Сегодня залил последнюю прошивку с правильными FUSES и вуаля! Работает! Ещё раз спасибо.. И ещё,последнее. Если не затруднит,опиши пожалуйста,какая разница между двумя раскладками клавиатуры, поддержаными в прошивке? Заранее благодарен..

Petr0v
04.03.2009, 23:18
Сегодня залил последнюю прошивку с правильными FUSES и вуаля! Работает!
Так что, берем схему из этой ветки, прошивку и всё? И какой кварц использовал?

Mifody
05.03.2009, 06:12
Ну да. Схему берём из первого сообщения. Она там прикреплена. И последнюю прошивку. Её тут Caro выкладывал. Выставляем Fuses согласно описанию. Вот и всё. У меня 10 мегагерцовый контроллер,поэтому поставил кварц на 10 мгц. Но в принципе можно обойтись и без кварца вообще,если в конфигурации контроллера выставить работу от внутреннего rc генератора на 8 мгц..

MacSys
29.05.2009, 00:56
Я немного не понял, если кто то корректировал схема, так зачем вы в слепую ими обмениваетесь, выложите на общее обозрение посмотрим. Интересно ведь узнать что то новое

Ewgeny7
29.05.2009, 16:49
Я немного не понял, если кто то корректировал схема, так зачем вы в слепую ими обмениваетесь, выложите на общее обозрение посмотрим. Интересно ведь узнать что то новое
Схема из первого поста, никто ее не менял. Прошивку обновили несколькими постами позже. Всё что нужно для счастья - присутствует.

aniSKY
15.06.2009, 21:55
собрал сабж, прошил тинни, а как можно проверить теперь его не подрубая к спеку?
как должна повести себя клава (индикаторы моргают, горят или еще как) и светодиодик на плате?
хочу удостовериться что контроллер работает прежде чем подключать его к спеку.

#FE - порт выбора клавиатуры спека. как его найти, точнее на что обращать внимание? по схеме (http://zxfiles.ru/downloads.php?id=476) я так понимаю :v2_conf2: он приходит на 1 ногу D64 и D65 (мультиплексоры), а формируется из A0 и /IORQ по схеме "или-не".
поправте если я ошибаюсь :v2_blush:

caro
16.06.2009, 09:18
собрал сабж, прошил тинни, а как можно проверить теперь его не подрубая к спеку?Подай питание 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:По схеме ИЛИ, инверсия не нужна. Активный уровень низкий.

Spir0
16.06.2009, 09:53
caro, похоже последние посты героически погибли :)
Насчет клавиатуры А4 - а если скажем взять сканкоды несовпадающих клавиш и сделать отдельную прошивку под такую клавиатуру ? Потому что как понял режим Mode2 в нем еще есть префикс для NumLock клавиш , который надо обрабатывать что ведет к увеличению WAIT при нажатии клавиш ?

caro
16.06.2009, 09:57
Насчет клавиатуры А4 - а если скажем взять сканкоды несовпадающих клавиш и сделать отдельную прошивку под такую клавиатуру ? Потому что как понял режим Mode2 в нем еще есть префикс для NumLock клавиш , который надо обрабатывать что ведет к увеличению WAIT при нажатии клавиш ?Нет, эта обработка ведется при нажатии клавиш, а не при считывании скан-кода,
поэтому на длительность /WAIT, усложнение обработки префиксных клавиш никак не влияет.
Постараюсь выкроить время и сделать вариант прошивки для работы с клавиатурой в режиме Scan Code 1.

Spir0
16.06.2009, 20:00
Постараюсь выкроить время и сделать вариант прошивки для работы с клавиатурой в режиме Scan Code 1.

Спасибо, будем ждать ! :)

aniSKY
16.06.2009, 22:38
Подай питание 5 Вольт и подключи клаву
-есть.подал.

Индикаторы на клавиатуре должны загорется на 0.5 сек и погаснуть
-загорелись, погасли.

При первом включении индикаторы NumLock и ScrollLock останутся включенными, CapsLock при включении питания всегда выключена
-ScrollLock включен, CapsLock -выключен, NumLock - его нету, клава A4TECH компакт.

При нажатии на клавиши NumLock, CapsLock и ScrollLock соответсвующие индикаторы должны менять свое состояние.
а вот тут какието грабли вылазят, на CapsLock нереагирует, ScrollLock работает как получится, то есть то нету. на PrtScn диот работает как должен похоже на CapsLock

Spir0
16.06.2009, 22:50
клава A4TECH компакт

Похоже еще одна "жертва" А4-ой клавы :) Попробуй обычную 105-кнопочную подключить :)

aniSKY
16.06.2009, 23:15
Похоже еще одна "жертва" А4-ой клавы :) Попробуй обычную 105-кнопочную подключить :)
:v2_blush: да, засада.... а в СПЕССИ2007 она нормально работает.
будем ждать от caro хороших вестей:v2_cool:
105-кнопочная нормально заработала - диодики горят как положено

aniSKY
18.06.2009, 22:50
помогите :confused:
как определить от куда брать /PFE сигнал
если беру с 4-ой ноги Д27 - контроллер после нажатия на любую клавишу начинает светить диодиком оч тускло и больше не реагирует, комп тож никак не реагирует,
а если беру с 12-ой ноги Д11 (инверсный уже) то контроллер работает, диодик моргает по нажатию клавиш, но комп все равно не реагирует
:confused: может я всетаки не тот сигнал беру?

Spir0
18.06.2009, 23:49
может я всетаки не тот сигнал беру?

Попробуй взять с D26.3 н.8 , то что ты берешь это просто обращение к порту #FE без учета сигнала чтения из порта (/RD).

aniSKY
19.06.2009, 00:11
Попробуй взять с D26.3 н.8 , то что ты берешь это просто обращение к порту #FE без учета сигнала чтения из порта (/RD).
Спасибо, уже хщтя бы ничего не виснет и оба реагируют,но....
при нажатии, на экране появляется мусор и длится ровно сколько нажимаешь клавишу, наверно контроллер выдает инфу одновременно с видео:v2_conf2:

caro
19.06.2009, 06:46
помогите :confused:
как определить от куда брать /PFE сигнал
если беру с 4-ой ноги Д27 - контроллер после нажатия на любую клавишу начинает светить диодиком оч тускло и больше не реагирует, комп тож никак не реагирует,
а если беру с 12-ой ноги Д11 (инверсный уже) то контроллер работает, диодик моргает по нажатию клавиш, но комп все равно не реагирует
:confused: может я всетаки не тот сигнал беру?Нужен еще один элемент ИЛИ (ЛЛ1). На его входы надо подать:
- с вывода 12 D11.6;
- с вывода 8 D26.3;
Выходной сигнал и будет /PFE

AlexBel
01.07.2009, 15:35
Кто-нибудь пробовал подключать к контроллеру Камиля клавиатуру, которая работает и на PS/2 и на USB? У меня одна такая клава ведет себя неприлично - при нажатии кнопки курсора "вниз" (и отпускании, разумеется) курсор начинает бежать без остановки, пока не будет нажата какая-нибудь другая кнопка. Это в меню спека-128 (проверял на "Пентагоне-128"). Остальные 2 клавиатуры (чистые PS/2) работают "на ура".

caro
01.07.2009, 17:03
. при нажатии кнопки курсора "вниз" (и отпускании, разумеется) курсор начинает бежать без остановки, пока не будет нажата какая-нибудь другая кнопка.К сожалению мне тоже попалась такая "странная" клавиатура именно из разряда и USB и PS/2.
Я уже писал, что похоже в них не полностью реализован режим ScanCode3,
в который переключаются клавиатуры при работе в контроллере.

AlexBel
01.07.2009, 22:03
К сожалению мне тоже попалась такая "странная" клавиатура именно из разряда и USB и PS/2.
Я уже писал, что похоже в них не полностью реализован режим ScanCode3,
в который переключаются клавиатуры при работе в контроллере.

Значит, я проворонил это сообщение :)
Ну и фиг с ним, главное, чтобы обычные PS/2 работали. А они работают :)

aniSKY
02.07.2009, 09:41
Подскажите, что нужно нажать на клавиатуре, что бы получить сигналы /RES и /NMI в контроллере?

caro
02.07.2009, 11:18
Подскажите, что нужно нажать на клавиатуре, что бы получить сигналы /RES и /NMI в контроллере?
/RESET - <PrintScreen>
/NMI - <F12>

Cat_Alex/QRP
24.02.2016, 12:29
caro, чем, кроме схемы, отличаются контроллер версии 1.0 и 1.1? Это к вопросу о прошивке в 7 посте.

caro
24.02.2016, 13:31
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

А где на раскладку взглянуть можно?