PDA

Просмотр полной версии : Сигнатура замыкания/дребезга клавиш



Raider
30.11.2007, 13:40
А вот интересно, проводил кто-нибудь снятие сигнатуры (осциллограммы) замыкания/дребезга кнопок на реальном спектруме?

p.s.
Это отличает кстати эмуль от реала :)

Black_Cat
30.11.2007, 13:45
а зачем это нужно?

James DiGreze
30.11.2007, 14:05
для разных клав будут разные картинки... и на разных клонах тоже будут разные картинки...
в некоторых случаях не будет дребезга вообще, либо только при определенных условиях иногда будет проскакивать (типа скорость набора, сила нажатия и пр.)
так что для точного определения "эмуль или реал" это не подойдет.
ЗЫ: мало того, в эмуле можно ввести софтовых дребезг, хотя, "нафег надо?" ;)

GriV
30.11.2007, 16:41
дребезг он... как часто??? Если проверять порты раз эдак 1000 в секунду, то заметишь... а раз 50 в секунду дребезга то и не увидишь... И потом даже на реале, вот у меня стоит контроллер Камиля для клавы PS/2. У неё дребез остаётся внутри, до самого Speccy доходит только конкретное нажатие, что я стал эмуляторщиком от этого? ;-)

ram_scan
01.12.2007, 11:19
У меня была в свое врямя такая элитная клавиатура, что и при опросе 50 гц дребезжало. А герконовая в общем случае не дребезжит вовсе.

alone
02.12.2007, 21:57
герконовая тоже дребезжит

GriV
02.12.2007, 23:15
Дребезг это преждевременное послевременное срабатывание до/после нажатия. Возникает вследствие 1) залипания 2) тока, который образуется вследствие дуги между контактами
и то и другое можно уменьшить но убрать совсем нет. Дребезг есть всегда, вопрос в его величине...

Black_Cat
03.12.2007, 00:28
Возникает вследствие 1) залипания 2) тока, который образуется вследствие дуги между контактамину ты и фигню сказал.. ..дребезг, вследствии залипания - эт что-то попсовое, где эт ты такое видел? ..а дуга - эт вааще!! :) ..ты там чё в клаве индуктивности на единицы генри коммутируешь? :) ..попсовая у тя наверно клава.. стимпанковская какая-то наверно.. фотку брось этого чуда.. желательно чтоб дуговые разряды между клавиш было вино.. :)

ram_scan
03.12.2007, 07:29
герконовая тоже дребезжит

Уровень дребезга там такой, что можно считать что не дребезжит.

GriV
04.12.2007, 21:54
ну ты и фигню сказал.. ..дребезг, вследствии залипания - эт что-то попсовое, где эт ты такое видел? ..а дуга - эт вааще!! ..ты там чё в клаве индуктивности на единицы генри коммутируешь? ..попсовая у тя наверно клава.. стимпанковская какая-то наверно.. фотку брось этого чуда.. желательно чтоб дуговые разряды между клавиш было вино..
Учи матчасть.
Даю наводку. Запускаешь какой нить интернет-браузер. Набираешь строку запуска "google.ru" набираешь "электроконтактные преобразователи" и ищешь с какими проблемами сталкиваются их создатели.

Добавлено через 1 минуту
Ага вот ещё. Попробуй сними закрывающий корпус какого нить переключателя на 220 вольт. Обеспечь темноту и попробуй им щёлкнуть. Разрешаю наблюдать искру :-D

Black_Cat
04.12.2007, 22:54
и ищешь с какими проблемами сталкиваются их создатели.:) Валера, создатели клавиатур ни с какими такими проблемами не сталкиваются :) , если конечно у них клавы не на паровой тяге.. :)

Разрешаю наблюдать искру :-D
..и всё же дал бы сцылочку на эту замечательную стимпанковскую клаву, работающую судя по всему от 3х фазной сети 380V :) ..

James DiGreze
05.12.2007, 06:36
Black_Cat, даже при малых напряжениях при определенном зазоре между контактами происходит пробой диэлектрика (воздуха), так как в клавиатуре зазор постоянно меняется, то довольно часто появляется "нужный" для пробоя зазор.
На самом деле реально происходит "блым" перед переходом из состояния в состояние (нажато/не нажато и наоборот).
Поэкспериментируй на реальном железе с любыми кнопками ;)

Black_Cat
05.12.2007, 12:36
так как в клавиатуре зазор постоянно меняется, то довольно часто появляется "нужный" для пробоя зазор.Напряжение пробоя воздуха 2 кВ/мм. Эт какие должны быть зазоры, чтоб при напряжении 3,5В (типовое напряжение логической "1") возникал пробой? :)

Поэкспериментируй на реальном железе с любыми кнопкамиНе будет ничего. Не надо заниматься шаманством. Дуга в выключателе 220В имеет совсем другую природу и вызывается изменением тока в индуктивной нагрузке, поэтому я сразу и спросил что это за клава должна быть такая, в которой клавишами коммутируются индуктивности в единицы генри?

James DiGreze
06.12.2007, 05:33
Напряжение пробоя воздуха 2 кВ/мм. Эт какие должны быть зазоры, чтоб при напряжении 3,5В (типовое напряжение логической "1") возникал пробой? :) Посчитай! ;) Или ты хочешь сказать, что зазор в микроны невозможен в принципе?


Не будет ничего. Не надо заниматься шаманством. Дуга в выключателе 220В имеет совсем другую природу и вызывается изменением тока в индуктивной нагрузке, поэтому я сразу и спросил что это за клава должна быть такая, в которой клавишами коммутируются индуктивности в единицы генри?
Т.е. ты хочешь сказать, что все разработчики железа занимаются шаманством... Ну, может быть ты и прав. Странно другое: почему-то процедуры написанные "в лоб" без многократного подтверждения установки/снятия бита работают криво, в том смысле, что опрос происходит нечетко, например при однократном нажатии происходит многократный запуск обработчика события, что допустим приводит к переходу по меню не на один пункт, а на несколько...

Black_Cat
06.12.2007, 05:43
Т.е. ты хочешь сказать, что все разработчики железа занимаются шаманством...я хочу сказать, что в клавиатуре дребезг имеет чисто механическую природу и приплетать то, чего там нет не надо..

Romanich
06.12.2007, 07:27
не сдержусь и я ;) на самом деле искра есть-наблюдал в темноте сам.
от дребезга борются 2-мя способами:
1) аппаратно - антидребезговая схема на триггерах
2) программно - опрос клавиш через время, большее чем время дребезга

Добавлено через 1 минуту
P.S. а в ARM7,9 есть встроенные антидребезговые схемы на потрах (Glitch Filter)

psb
12.12.2007, 16:14
в моем так и не зарелиженном мегатестере есть тест на дребезг кнопок. делал я его как раз для того, чтоб проверять клавиатуры, ибо у самого была такая клавиатура, что некоторые проги просто бесились от дребезга (из-за него, кстати, комп очень часто вис). после замены клавиатуры дребезг пропал, все стало работать как должно и не висло:)

Raider
03.01.2008, 01:04
Я выразился в начале неточно.
Думал что широко осмыслите именно выражение лежащие в названии самой темы.

Я к тому, что дребезг механических кнопок - малоисследованная тема на спектруме и мало кто из спектрумистов работал над ней. А вдруг что-то да получится?
Про эмулятор/реал я написал только для того, чтобы показать, что дребезгу можно найти "практическое" применение - это как бы "отпечаток" конкретного компа. Поймите меня правильно - я ничего не хочу, кроме как дать "пищу для размышлений". Творческий импет...

Ну к примеру. Демо/игра вполне может шутки ради написать "вы используете клавиатуру на герконах". Просто забавно...

Robus
10.01.2008, 13:31
Я к тому, что дребезг механических кнопок - малоисследованная тема на спектруме и мало кто из спектрумистов работал над ней. А вдруг что-то да получится?

Когда-то в 1996-ом году я делал текстовый редактор с возможностью набирать текст с разной шириной символов в фонте. Ну и, конечно же, столкнулся с опросом клавиатуры. Моя любимая поза программирования за Secc'ом это кресло на расстоянии двух метров от телевизора "Берёзка-206", ну и как вы понимаете кабель к клавиатуре был два метра !!! Как-то так получалось, что в те времена я практически не играл в игры и не замечал проблем с дребезгом. 99% пользования программ это был:
TASM 4.0
Commander (блин забыл ... чёрт побери эту жизнь ради оплаты жини)
Text Editor (тот самы - мой)
Всё это юзает RST 56 и не имеет проблем с дребезгом. Но потом я заметил, что как-то глючат некоторые игрушки. И при создании редактора я детально изучил что к чему. Дребезг на моей герконовой клавиатуре начинался примерно с 1 метра длины шнура. При нажатой клавиши первые 2-3 кадра cpeccy, еденичка в нолик на порте клавиатуры переходит прямо таки сказать с трудом. И пришлось делать программу анти дребезга. Но сам алгоритм прост:

1. Поймал 0, запускаешь счётчик эдак на 10-20 прерываний
2. Поймал 1, отнял одыничку из счётчика, если счтчик в нулях, значит клавиша не нажата.

Быстрее чем раз за 10 интов мало кто нажмёт клавишу, а хоть раз, но 0 проскочит ... Так и получается - просто ...

Добавлено через 9 минут
Кстаи, хочу добваить, что в моём Speccy, на шину к клавиатуре выдавалась вся пачка IN'ов происходящих на процессоре ... Мусорник просто жасный !!! И это в фирменном Speccy !!! Сейчас я на клавиатуру посавил контроллер, который по двум проводам передаёт все стсояние клавиш, на самом speccy стоит такой же контроллер, который всё это приимает дешифрует и эмулирует непосредственно для Z80-ого. Удобно и длина кабеля на клаву уже может быть около 20-т метров !!! Мне хватает трёх !!! Кстати, наконецто я избавился от бреда с нажатием лишним клавиш. Ну типа зажимаешь "6734" а по настоящему зажимаются "673458" ...

dosikus
11.01.2008, 19:34
Дребезг контактов обусловлен сопротивлением самих котактов и временем срабатывания кнопки\выключателя .
Выражаясь просто это аналоговый шум , возникающий во время фронта\ спада ,
неимеющий ничего общего с дугой\пробоем диэлектрика.
А в случае у Robus это элементарные наводки , провода работают как антенна.
Проблема та же , природа другая...