Как сравнить цифровой сигнал ?

Обсуждаем контроллеры компании Atmel.
Ответить
Мучитель микросхем
Сообщения: 403
Зарегистрирован: Ср янв 26, 2011 17:00:30

Сообщение prw07 »

Есть некое устройство с клавиатурой. Нажатая клавиша определяется определенной цифровой последовательностью. Нужно подключть МК к двум клавишам и определять какая клавиша была нажата. Как это реализовать ?
Вот так выглядят последовательности импульсов (клавиша А и клавиша В)
Изображение
Вложения
AB.png
(17.04 КБ) 589 скачиваний
Реклама
Самсусамыч

Сообщение Самсусамыч »

Посчитать принятые импульсы и сравнить с ранее записанными («кодами» клавиш)…
Реклама
Мучитель микросхем
Сообщения: 403
Зарегистрирован: Ср янв 26, 2011 17:00:30

Сообщение prw07 »

аппаратно Input Capture ? Или программно ?
Определять начало и конец активной фазы передачи по длительности фронта спада между передачами ?
Самсусамыч

Сообщение Самсусамыч »

Так это кому как нравится… реализация имеет множество решений… главное чтобы выполняло то что необходимо…
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Аватара пользователя
Сообщения: 15749
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

сигнатурный анализатор
в помощь!
8)
Реклама
Мучитель микросхем
Сообщения: 403
Зарегистрирован: Ср янв 26, 2011 17:00:30

Сообщение prw07 »

собственно я и спрашиваю у более опытных коллег какой способ наипростейший.

А не будет ли проще не анализировать код клавиатуры, а сравнивать две линии (входную и выходную)? Если совпадает, то кнопка нажата.

P.S. Длительность некоторых импульсов в коде около 4мкс. Если делать выборку хотябы 4 точки на импульс, то основная программа не будет успевать выполняться на 8МГц.
Реклама
Поставщик валерьянки для Кота
Сообщения: 1978
Зарегистрирован: Ср июл 17, 2013 13:55:57

Сообщение NStorm »

Что вы называете "входная и выходная линия"?
Зачем делать выборки какие-то? Запускаете таймер в режиме захвата и им считаете длительности импульсов.
Если "програмно" - то прерывание по изменению уровня сигнала и таймер в обычном режиме. Но смысла это не имеет.
Если будете делать "выборки", то конечно на это время основной программе некогда будет работать. Это имеет смысл только если ничего не делается, пока кнопка не нажата.
Если кнопок всего 2, или другие нажиматься не будут - можно просто проверять различие в импульсах кнопок А или Б и по нему определять какая нажата была.
Мучитель микросхем
Сообщения: 403
Зарегистрирован: Ср янв 26, 2011 17:00:30

Сообщение prw07 »

Что вы называете "входная и выходная линия"?
Кнопка зажимает два контакта: один выход - по нему передается код клавиши, другой вход (общий для некоторого кол-ва кнопок)- принимает код.
Если кнопок всего 2, или другие нажиматься не будут - можно просто проверять различие в импульсах кнопок А или Б и по нему определять какая нажата была.
Кнопок больше.
Я так понял что в моем случае вариант с режимом захвата оптимален ?

По поводу выбора частоты кварца.
Как уже было сказано длительность некоторых импульсов 4мкс. В реальном времени нужно обработать захваченные данные. В программе будет еще ШИМ и определение длительности нажатия кнопок (минимум 2 прерывания). Мне кажется что частоту нужно выбирать не менее 16МГц. А с учетом того, что код программы не будет оптимален (мало опыта), то и 20МГц не достаточно будет.
Друг Кота
Аватара пользователя
Сообщения: 7081
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

Сообщение Ivanoff-iv »

а выходной провод только один? нету рядом клок'а?
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Мучитель микросхем
Сообщения: 403
Зарегистрирован: Ср янв 26, 2011 17:00:30

Сообщение prw07 »

Ivanoff-iv писал(а):а выходной провод только один? нету рядом клок'а?
контактов много, но клока нет
Друг Кота
Аватара пользователя
Сообщения: 7081
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

Сообщение Ivanoff-iv »

тода, да, проще всего сесть на шины... 2 входа (если кнопки на различных входах) на прерывания, а выходы на порт и в прерывании этот порт сохранять...

Добавлено after 2 minutes 38 seconds:
можно, как тут писали - захватом... т.е. просто замерять время между провалами... по получившейся "картине" восстанавливать код исходного сигнала и определять нажатую кнопку...
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Мучитель микросхем
Сообщения: 403
Зарегистрирован: Ср янв 26, 2011 17:00:30

Сообщение prw07 »

Внесу ясность.
Вот такая схема включения кнопок.
Изображение

Задача: Определить нажатие А и В. После определения , в зависимости от длительности нажатия, выполнять некоторые действия. Длительность импульсов в коде клавиш от 4мкс.

Как лучше поступить, что бы хватило ресурса AVR ?
Вложения
1.png
(4 КБ) 464 скачивания
Друг Кота
Аватара пользователя
Сообщения: 7081
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

Сообщение Ivanoff-iv »

а какое напряжение на выводе 5 если все кнопки отпущены?

Добавлено after 9 minutes 39 seconds:
так всё становится проще... код ведь не обязательно пропускать через кнопку...
допустим напряжение на 5 при отпущенных кнопках низкое... тогда один из возможных вариантов:
СпойлерИзображение
Вложения
2019-10-28_14-01-28.png
(9.28 КБ) 327 скачиваний
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Мучитель микросхем
Сообщения: 403
Зарегистрирован: Ср янв 26, 2011 17:00:30

Сообщение prw07 »

а какое напряжение на выводе 5 если все кнопки отпущены?
импульсы:
Изображение

Код нажатой кнопки передается в положительном импульсе - модулированый.
Вложения
2.png
(1.21 КБ) 480 скачиваний
Последний раз редактировалось prw07 Пн окт 28, 2019 11:00:56, всего редактировалось 1 раз.
Друг Кота
Аватара пользователя
Сообщения: 7081
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

Сообщение Ivanoff-iv »

значит - на момент передачи высокое... ну, разверни диоды...

Добавлено after 1 minute 17 seconds:
хотя, и сами сумматоры можно сделать подругому... например на транзисторах
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Мучитель микросхем
Сообщения: 403
Зарегистрирован: Ср янв 26, 2011 17:00:30

Сообщение prw07 »

не совсем понял куда что подключать. Можете пояснить что есть to-mk-a , to-mk-b ?
Друг Кота
Аватара пользователя
Сообщения: 7081
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

Сообщение Ivanoff-iv »

тогда скорее всего схема станет такой (канал второй кнопки такойже как и первой, я его не нарисовал....)
СпойлерИзображение
Out_To_MK - выход состояния кнопки (уже без кода)

Добавлено after 2 minutes 44 seconds:
R1 возможно поменьше придется поставить... килоом 10-30...
Вложения
2019-10-28_14-23-52.png
(9.81 КБ) 317 скачиваний
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Мучитель микросхем
Сообщения: 403
Зарегистрирован: Ср янв 26, 2011 17:00:30

Сообщение prw07 »

Понял. Буду пока "курить".
Спасибо!!!
P.S. Не очень-то хочется дорожки на кнопки резать.

Добавлено after 3 minutes 14 seconds:
наверное не пойдет. Кнопок много, надо все дорожки порезать и впихнуть диоды.....
Друг Кота
Аватара пользователя
Сообщения: 7081
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

Сообщение Ivanoff-iv »

нет, диоды там скорее всего внутри уже есть...(до кнопок)

Добавлено after 8 minutes 3 seconds:
ещё вариант - просуммировать сигналы с нескольких кнопок (взяв до кнопок) и - вуаля! вот он клок...

Добавлено after 1 minute 31 second:
тут бы, желательно осциллограмку заценить, она точнее чем рисунок...
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Мучитель микросхем
Сообщения: 403
Зарегистрирован: Ср янв 26, 2011 17:00:30

Сообщение prw07 »

нет диодов. с клавиатуры сразу на контроллер все идет
Ответить

Вернуться в «AVR»