мега8 дип - Page 6

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From Russian to

Threaded View
Re: мега8 дип
Hello, George!
 GS>>>>>  Видимо то, что развязки с использованием только диодов, у тебя
 GS>>>>> так и не получилось ;)
 DO>>>> У меня как раз получилась,
 GS>>>  Ерунда у тебя получилась.
 DO>> Ерунда получилась у тебя.

 GS>  Вот только не надо валить с больной головы на здоровую! Сказал
 GS> глупость, теперь признай, что ошибался.


Вот именно - что кто ляпнул глупость, мог бы и признать.

 DO>>>> выходы-то индикатора (даже если он все время выбран),  только
 DO>>>> вниз тянуть умеют, вверх пуллапы стоят.
 GS>>>  Вниз ещё кнопки тянуть умеют. С ними-то и возникают конфликты, их
 GS>>> ты и собирался развязывать ;)
 DO>> Конфликты чего именно с кнопками?

 GS>  В дурочку решил поиграть? Боюсь, это место в эхе уже
 GS> зарезервировано ;)

Это точно, но тот, кто его занял - не признается, не правда ли ?

 GS> Речь с самого начала шла про конфликты кнопок с шиной контроллера,
 GS> управляющего LCD. Ты обещал избавиться от них с помощью диодов, так?

Именно так.
Если кто из "народных академиков" опять "теоризирует по даташиту" (надо же
показать, что наконец стал их читать. а не как раньше) - пусть себе
теоризирует, к действительности это ведь отношения не имеет.

With best regards, Alex Torres.

[ Бомжей любить - не эхи модерить! ]

2:461/28, E-mail: snipped-for-privacy@yahoo.com
http://altor.sytes.net



Re: мега8 дип

   Anton, ты ещё здесь сидишь?


Вторник Январь 31 2006 14:24, Anton Fedorov wrote to George Shepelev:

 >>  Ага, ага. Параметры LCD-чипа глядел? После снятия сигнала выборки
 >> требуется удерживать сигналы на шыне данных ещё десяток нс. При этом
 >> линии шины данных управляющего контроллера, естественно, должны быть
 >> запрограммированы на вывод! И только потом переведены на ввод. И всё
 >> это время в твоей схемке возможны конфликты с клавиатурой...
 AF> Ага, ага. А посчитать слабо?

 Что тут считать? Конфликты в предложенной схеме неизбежны, как не считай.

 AF> 20MHz-овом клоке процессора один такт занимает 50 нс, что в пять раз
 AF> больше 10 нс. Достаточно снять сигнал выборки и следующим тактом можно
 AF> переводить шину на чтение.

 Вот между этими операциями и будет конфликт!

 AF> А т.к. вы не можете за один такт поменять и PORT и DDR, то это вообще
 AF> произойдет само собой...

 Совершенно верно, в предложенной схеме конфликт произойдёт "сам собой" ;)


 >>  Практика-то обычная, только сигналы в схеме нужно формировать так,
 >> чтобы конфликтов не было!
 AF> Конечно нужно, кто бы спорил, что эмбедед-программирование требует
 AF> определенной аккуратности и внимательности,

 Именно так. Теперь настало время перейти от теории к практике ;)


 Конфликты на шине приводят к перегрузке буферов и повышенному потреблению,
что в ряде эхотажных применений недопустимо. Также есть небольшая вероятность,
что конфликты приведут к искажению данных, записываемых в индикатор...



                                                   Георгий


Re: мега8 дип
Hello, George Shepelev!
You wrote in conference fido7.ru.embedded to Anton Fedorov on Wed, 01 Feb 2006
12:44:07
+0300:


 GS>  Что тут считать? Конфликты в предложенной схеме неизбежны,
 GS> как не считай.

Только в твоих кривых руках.

 AF>> 20MHz-овом клоке процессора один такт занимает 50 нс, что в
 AF>> пять раз больше 10 нс. Достаточно снять сигнал выборки и
 AF>> следующим тактом можно переводить шину на чтение.

 GS>  Вот между этими операциями и будет конфликт!

Не будет, если развязаться диодами.

 >>>  Практика-то обычная, только сигналы в схеме нужно формировать
 >>> так, чтобы конфликтов не было!
 AF>> Конечно нужно, кто бы спорил, что эмбедед-программирование
 AF>> требует определенной аккуратности и внимательности,

 GS>  Именно так. Теперь настало время перейти от теории к практике
 GS> ;)

Вот именно.


 GS>  Конфликты на шине приводят к перегрузке буферов и повышенному
 GS> потреблению, что в ряде эхотажных применений недопустимо.
 GS> Также есть небольшая вероятность, что конфликты приведут к
 GS> искажению данных, записываемых в индикатор...

Только в твоих кривых руках.

dima
http://www.dorlov.no-ip.com


Re: мега8 дип

Quoted text here. Click to load it

Ну, "к практике", так "к практике"...

http://www.an2an.net/circuit.png

Вот фрагмент схемы, из которого становится понятно как имнно все должно
быть сделано. Это только один из многих возможных выриантов.

Итак:
=========================================================
/* Это исходное состояние перед сканированием */
E = 0;        
R/W = 0;
PB4 = 1;
Шина (PB0-PB3) на чтение, pull-up-ы выключены.
/* Любые операции с LCD должны оставить все именно в этом состоянии. */
.
.
.

/* Собственно чтение кнопок */
PORTB |= 0x0f;  /* Pull-up включить */
PORTB &= ~0x10; /* Разрешить кнопкам тянуть к земле */
kb = PINB;    /* Прочитать кнопки */
PORTB |= 0x10;  /* Запретить кнопкам тянуть к земле */
PORTB &= ~0x0f;  /* Pull-up выключить */

=========================================================

--
Best regards,
Anton Fedorov

Re: мега8 дип
Thu Feb 02 2006 14:07, Anton Fedorov wrote to George Shepelev:

 AF>
http://www.an2an.net/circuit.png

 AF> =========================================================
 AF> /* Это исходное состояние перед сканированием */
 AF> E = 0;  
 AF> R/W = 0;
 AF> PB4 = 1;
 AF> Шина (PB0-PB3) на чтение, pull-up-ы выключены.
 AF> /* Любые операции с LCD должны оставить все именно в этом состоянии. */
 AF> .
 AF> .
 AF> .
 AF> /* Собственно чтение кнопок */
 AF> PORTB |= 0x0f;  /* Pull-up включить */
 AF> PORTB &= ~0x10; /* Разрешить кнопкам тянуть к земле */
 AF> kb = PINB; /* Прочитать кнопки */
 AF> PORTB |= 0x10;  /* Запретить кнопкам тянуть к земле */
 AF> PORTB &= ~0x0f;  /* Pull-up выключить */
 AF> =========================================================

Atmega8 даташит, стр.52:
When reading back a software assigned pin value, a nop instruction must be
inserted as indicated in Figure 24. The out instruction sets the "SYNC LATCH"
signal at the positive edge of the clock. In this case, the delay Tpd through
the synchronizer is 1 system clock period.

 AF> Hу, я тебе дал "проанализировать работу нехитрой схемы", но что-то ты
 AF> ни как... Стыдно.

Кому?

Пока                                    Алексей


Re: мега8 дип


Quoted text here. Click to load it


Да, тут я допустил ошибку. Но вы не можете не согласиться с тем что если
туда добавить этот nop, то все будет работать как надо, не так ли?

--
Best regards,
Anton Fedorov

Re: мега8 дип
Mon Feb 06 2006 14:14, Anton Fedorov wrote to Alex Kouznetsov:

 >>  AF> PORTB &= ~0x10; /* Разрешить кнопкам тянуть к земле */
 >>  AF> kb = PINB; /* Прочитать кнопки */
 >>  AF> PORTB |= 0x10;  /* Запретить кнопкам тянуть к земле */

 AK>> Atmega8 даташит, стр.52:
 AK>> When reading back a software assigned pin value, a nop instruction must

 AF> вы не можете не согласиться с тем что если
 AF> туда добавить этот nop, то все будет работать как надо, не так ли?

Можем и не согласиться. Работать будет, но все ли и всегда ли - бабушка надвое
сказала. Кой-какие вещи на схеме не видны. Например, длина проводников до
кнопок и уровень наводимых на них помех. Или качество контактов кнопок. Про
резиновые тут уже говорили, мы же напомним об окислении обычных контактов.
Самоочистка достигается, если в момент размыкания через контакт протекает ток
величиной порядка 1 мА.

Пока,                                    Алексей


Re: мега8 дип

Quoted text here. Click to load it

Епрст, приехали. Трудно спорить с такими как вы. Вы всегда стараетесь
выдумать какой-либо бред, лишь бы не признавать свою неправоту. Это
называется демагогией. Я тоже могу придумать почему ваша схема с
кнопками на ногах работать не будет.

--
Best regards,
Anton Fedorov

Re: мега8 дип
Tue Feb 07 2006 12:31, Anton Fedorov wrote to Alex Kouznetsov:

 AF> Епрст, приехали. Трудно спорить с такими как вы. Вы всегда стараетесь
 AF> выдумать какой-либо бред, лишь бы не признавать свою неправоту.

Поменьше эмоций, конкретнее, в чем неправота?

 AF> Это называется демагогией. Я тоже могу придумать почему ваша схема с
 AF> кнопками на ногах работать не будет.

Какая схема?

Пока,                                    Алексей


Re: мега8 дип

Quoted text here. Click to load it

А в нежелании признать факт, что приведеная схема:
  1) работоспособная
  2) не нарушает ни каких инструкций по применению процессора или LCD

Quoted text here. Click to load it

А та в которой: "...момент размыкания через контакт протекает ток
величиной порядка 1 мА..."

Хотя на самом деле любая схема может быть подвергнута подобной критике.
Цитирую тебя:

Quoted text here. Click to load it

Это очень злит.

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

--
Best regards,
Anton Fedorov

Re: мега8 дип
Здравствуйте, Уважаемый Anton!

Tue Feb 07 2006 16:07, Anton Fedorov wrote to Alex Kouznetsov:

 AF> Hа этом заканчиваю, и в этом топике не скажу больше ни слова, т.к.
 AF> надоело доказывать очевидные вещи. Простой вопрос вылился в ругань на
 AF> полсотни сообщений.

Такова традиция фидонет- любая, самая невинная дискуссия заканчивается
офтопиком и отключением особо ретивых хамов. Вам эе хочу рассказать про моего
учителя электронных дел, который не уставал повторять мне неразумной: "Все,
что сложнее закона Ома- неправильно, и работать не будет." Если Вы считаете,
схема на уровне закона Ома, то наплюйте на всех скептиков- они заведомо
неправы.

Всего Вам Хорошего
Ольга

.


Re: мега8 дип

Tue Feb 07 2006 16:07, Anton Fedorov wrote to Alex Kouznetsov:
 >> Поменьше эмоций, конкретнее, в чем неправота?

 AF> А в нежелании признать факт, что приведеная схема:
 AF>   1) работоспособная
 AF>   2) не нарушает ни каких инструкций по применению процессора или LCD

Этого мы не отрицали. Мы воспротивились существенно другому утверждению:

 AF>> Hо вы не можете не согласиться с тем что если
 AF>> туда добавить этот nop, то все будет работать как надо, не так ли?

Повторим еще раз: с этим _можем_ не согласиться; не _все_ будет работать как
надо, и не всегда.

Отметим, что студентам и радиолюбителям позволительна неряшливость
формулировок и эмоции, как проявление сбивчивости мыслей и непонимания
серединного пути. Обычно в их поделках это так или иначе проявляется. Если ты
относишься к одной из этих категорий, то вопрос исчерпан.

Пока,                                    Алексей


Re: мега8 дип
                           Пpивет, Anton!

*** 02 Feb 06 15:07, Anton Fedorov wrote to George Shepelev:

 AF> Hу, "к практике", так "к практике"...

 AF>
http://www.an2an.net/circuit.png

 AF> Вот фрагмент схемы, из которого становится понятно как имнно все
 AF> должно быть сделано. Это только один из многих возможных выриантов.

И, кстати, не самый лучший. При 5-вольтовом питании еще более-менее, при
меньших - использование обычных кремниевых диодов уже выводит напряжения "0" за
рамки максимального для надежного считывания "нуля" (0.2 Vcc, у старых
кристаллов было 0.3 Vcc). Увеличение тока pull-up, повышенное контактное
сопротивление контакта ("резиновая" кнопка, особенно поработавшая) - и уже
возможны проблемы. Или производитель в очередной раз изменит спецификации,
опустит порог. Простейшая резисторная развязка, без всякой коммутации - гораздо
надежнее (при правильном выборе номиналов)...

                                      с уважением Владислав

Re: мега8 дип

Quoted text here. Click to load it

При 3 вольтах поставим шотку, делов то... Мой вариант позволяет
опрашивать не только 4 кнопки, но и матрицу 4xN

--
Best regards,
Anton Fedorov

Re: мега8 дип
                           Пpивет, Anton!

*** 02 Feb 06 17:24, Anton Fedorov wrote to Vladislav Baliasov:

 >> И, кстати, не самый лучший. При 5-вольтовом питании еще более-менее,
 >> при меньших - использование обычных кремниевых диодов уже выводит
 >> напряжения "0" за

 AF> При 3 вольтах поставим шотку, делов то... Мой вариант позволяет
 AF> опрашивать не только 4 кнопки, но и матрицу 4xN

Правильнее тогда будет использовать шину данных как источник опроса ("бегущая
1"), развязать линии (а, при необходимости, и индивидуально кнопки) диодами, а
выход - на pull-down (с внешними резисторами) входы.

                                      с уважением Владислав

мега8 дип

   Pavel, ты ещё здесь сидишь?


Понедельник Январь 30 2006 23:30, Pavel Grishin wrote to George Shepelev:

 GS>>  Кстати, знаешь, почему подобные pешения называются
 GS>> "pадиолюбительскими"? Потому что ни о каких гаpантиях паpаметpов
 GS>>  pечи быть не может.
 PG>  Еpyнда это всё.  :)
 PG>  Я пpовеpял на живyчесть годами и остался доволен.

 Халтурщики из ЖЭКа десятилетиями заколачивают шурупы молотком и тоже считают,
что так и надо делать...


 PG>  А так беpy счас пpи +5 pезистоpы 270R = ток 20мА.

 Арифметика в объёме младших классов школы.

 Hа светодиоде падает вольта полтора, посему ток будет около 13 мА.


                                                   Георгий


Re: мега8 дип
Привет, Alex !


 05 Feb 06 , 09:43  Alex Torres писал к Nickita A Startcev:

[skip]

AT> Для 4-х конопок, если есть свободный вход АЦП - я обычно его
AT> использую

по схеме типа "R-2R" или более примитивно?

[skip]

.                                            С уважением, Hикита.
icq:240059686, lj-user:nicka_startcev
... warning! В кармическом компьютере завелся вирус!

Re: мега8 дип
Hello, Nickita!

 AT>> Для 4-х конопок, если есть свободный вход АЦП - я обычно его
 AT>> использую

 NA> по схеме типа "R-2R" или более примитивно?

От количеств кнопок зависит. Для 4-х - кнопок - конечно "более примитивно".


With best regards, Alex Torres.

[ Бомжей любить - не эхи модерить! ]

2:461/28, E-mail: snipped-for-privacy@yahoo.com
http://altor.sytes.net



Re: мега8 дип

   Dmitry, ты ещё здесь сидишь?


Воскресенье Февраль 05 2006 08:56, Dmitry Orlov wrote to George Shepelev:

 GS>>  Интересно, а ты обратил внимание, что в этой схеме _не_
 GS>> совмещены линии стробирования индикатора и выборки клавиатуры?
 DO> А кто говорил про совмещение этих линий? Ты утверждал, что данные
 DO> нельзя честно использовать и конечно врал.

 Лгать и хамить - это по вашей с Торресом части!


 Твоё предложение "развязаться диодами":

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 Area : RU.EMBEDDED
 From : Dmitry Orlov                        2:5020/400      Вт 24 Янв 06 08:56
 To   : George Shepelev
 Subj : Re: мега8 дип
===============================================================================

Hello, George Shepelev!
You wrote in conference fido7.ru.embedded to Nickita A Startcev on Tue, 24 Jan
2006 01:32:26
+0300:


 GS>  Именно поэтому совмещать выводы, отвечающие за опрос
 GS> клавиатуры и выдачу сигналов на ЖКИ есть _ОЧЕHЬ_ плохой тон!

Можно диодами развязаться и все сделать честно.

dima
http://www.dorlov.no-ip.com

-+- ifmail v.2.15dev5.3
 + Origin: Demos online service (2:5020/400)
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=


 Пример _неправильной_ схемы с реализацией твоей идеи "развязки диодами":


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 Area : RU.EMBEDDED
 From : Mitya Gladyshev                     2:5020/1698     Пт 27 Янв 06 07:50
 To   : George Shepelev
 Subj : мега8 дип
===============================================================================
Здоpовья тебе George и долгих лет жизни!

26 Янв 06 22:42, George Shepelev -> Dmitry Orlov:
GS>  Hельзя, Дима. Если сигнал (пyсть и чеpез диод) может попасть на вывод
GS> (а
GS> он _должен_ на него попасть!), то он и до вывода ЖКИ дойдёт (пyсть
GS> опять
GS> чеpез диод)...

4 ноги --- 4кнопки --4диода анод катод -- катоды в кyчy --- нога

итого 4 ноги это данные ЖКИ 1 нога en жки. Когда на еn 1 pаботаем с жки иначе
читаем клавy.

Стандаpтное pешение

Don't worry, be happy George.
Еадpес: Mitya1698<Собака>mail<Точка>ru Обязательно "no spam" в теме письма!
... @T:\Golded\tagline.lst
-+- GoldED+/W32 Заходите в ФАH-Клyб любителей сеpиала _Ru.La.Femme.Nikita_
 + Origin: Мы вас тyт ждем! (2:5020/1698)
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=


 Конфликты между ЖКИ и клавиатурой устраняются введением отдельной линии
сканирования клавиатуры, а не диодами (они нужны для развязки между
отдельными линиями шины данных). Правильное решение (ссылку на аналогичную
схеку чуть позже кинули в эху) и алгоритм бесконфликтной работы:


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 Area : RU.EMBEDDED
 From : George Shepelev                     2:461/124       Пт 27 Янв 06 13:01
 To   : Nickita A Startcev
 Subj : мега8 дип
===============================================================================
   Nickita, ты ещё здесь сидишь?


Четверг Январь 26 2006 08:43, Nickita A Startcev wrote to Vladislav Baliasov:

 VB>> Дисплейчик - на 44780 ? Кнопки на его линии данных, через 1K на
 VB>> "землю". И, похоже, ты слишком расщедрился на его управление -
 VB>> достаточно шести линий, а ты сколько задействовал ?
 NS> 4 - данные, rs, rw, en - 6-7 линий.

 Типичный вариант схемки. Добавить 1 линию "выборки клавиатуры", от которой
запитать кнопки. Последовательно с кнопками развязывающие диодики, ток через
которые должен идти на линии данных (параноики могут добавить последовательно
токоограничивающие резисторы). При необходимости - поставить на шину данных
подтягивающие резисторы. Hужные тебе 4 кнопки ставятся легко!

 Для чтения состояния кнопок использовать следующий алгоритм:

1) Линия en ЖКИ в "неактивном" состоянии
2) Контроллер переводит шину данных в 3-е состояние (режим ввода)
3) Активируется линия "выборка клавиатуры"
4) После небольшой задержки считывается состояние кнопок
5) Деактивируется линия "выборка клавиатуры"
6) Контроллер переводит шину данных в режим вывода


 Да, линию rw можно не использовать. Да, ножек хватит ;-)



                                                   Георгий

-+- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
 + Origin:  Сегодня root, завтра root. Маловато будет!  (2:461/124)
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=



                                                   Георгий


Re: мега8 дип
Hello, George Shepelev!
You wrote in conference fido7.ru.embedded to Dmitry Orlov on Mon, 06 Feb 2006
10:17:02
+0300:


 GS>>>  Интересно, а ты обратил внимание, что в этой схеме _не_
 GS>>> совмещены линии стробирования индикатора и выборки
 GS>>> клавиатуры?

 DO>> А кто говорил про совмещение этих линий? Ты утверждал, что
 DO>> данные нельзя честно использовать и конечно врал.

 GS>  Лгать и хамить - это по вашей с Торресом части!

Жора, мне не надо лгать, у меня такая схема

ftp://EMBEDDED: snipped-for-privacy@dorlov.no-ip.com/51/pult.zip

лежит с 97 года, и неоднократно публиковалась. Единственное, она не на avr, а на
2051, потому я эту ссылку и не приводил.

 GS>  Твоё предложение "развязаться диодами":


 GS>>  Именно поэтому совмещать выводы, отвечающие за опрос
 GS>> клавиатуры и выдачу сигналов на ЖКИ есть _ОЧЕHЬ_ плохой тон!

 GS> Можно диодами развязаться и все сделать честно.

Именно.

dima
http://www.dorlov.no-ip.com


Site Timeline