| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| Баси тъпия проблем http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=11524 |
Страница 1 от 1 |
| Автор: | Реконструктор [ Сря Юли 10, 2013 1:49 am ] |
| Заглавие: | Баси тъпия проблем |
Сега, понеже не съм сигурен софтуерен или хардуерен е проблема, пускам го тук, пък после ще преместя темата ако трябва. Правя едно терминалче, състоящо се от атмега16, 16х2 дисплей и 4х4 клавиатура. При пускане на терминала трябва да се въведе пин код, записан в еепром-а. При грешно въведен код се декрементира брояч на опитите, който също се записва в еепром-а, с идеята при следващото пускане опитите да са намалели и така докато стигне до 0, след което терминала се блокира. Допълнително се записват и други конфигурационни стойности, една от които е числото 15 (ще стане дума за него Проблема е, че като спра захранването (което е некво китайско лабораторно и угасва бавно), брояча се намалява, без да е въведен код. Явно входовете за клавиатурата се разклащат самоволно при някви гранични стойности на напрежението, знам ли и аз. И се отчита вевеждане на код, без да е имало такова. През няколко (случайно количество) пауър цикъла се записва въпросното число 15, което вече ме обърква тотално. Какво може да е това и как да се боря с него. |
|
| Автор: | syscop [ Сря Юли 10, 2013 6:33 am ] |
| Заглавие: | Re: Баси тъпия проблем |
Сложи supply voltage supervisor или по нашенски - чип ресет |
|
| Автор: | radolin [ Сря Юли 10, 2013 8:57 am ] |
| Заглавие: | Re: Баси тъпия проблем |
Тази Атмега май имаше вграден някакъв BOD - Brown out detect, поразгледай в дейташийта конфигурацията на fuse битовете и ги програмирай подходящо. |
|
| Автор: | jwalker [ Сря Юли 10, 2013 9:18 am ] |
| Заглавие: | Re: Баси тъпия проблем |
В софтуера може да помогне една начална пауза след стартиране около 500ms или повече. Чак след паузата да се влиза процедурата за четене на пин кода. Ако има рестарт поради захранването, за това време то все ще падне и софтуера няма да стигне четене на кода. |
|
| Автор: | NikB [ Сря Юли 10, 2013 5:44 pm ] |
| Заглавие: | Re: Баси тъпия проблем |
Не ми се вярва ако КБД драйверът ти е ОК и да получава валидни бутони. Надявам се имаш някакво филтриране за задържане на едно и също състояние, за да отработиш натискане (10-20 мс Изглежда, че тая динамичка клавиатура просто при преходния процес получава на входовете на процесора активно състояние - защо не пробваш да проверяваш колко бутона има ЕДНОВЕРЕМННО натиснати? Мисля, че при норманла работа, дори и да ти трябва да обработваш натискане на два бутона едновременно, в преходния процес, който ти създава проблеми, ще откриваш натиснати и четитрите бутона (там - по колони или редове - както го наричаш). |
|
| Автор: | tgi [ Сря Юли 10, 2013 6:15 pm ] |
| Заглавие: | Re: Баси тъпия проблем |
Бе хитрини и фокуси колкото щеш но истинското решение е някой да държи жицата за reset на процесора активна доокато захранването е извън обхвата, при който клавиатурата работи. |
|
| Автор: | ToHu [ Сря Юли 10, 2013 7:23 pm ] |
| Заглавие: | Re: Баси тъпия проблем |
това което казва tgi е така, ама въпроса е да се установи всъщност това софтуерно ли е или хардуерно, щото може и двете. Сваляйки напрежението се променят и нивата на входовете, няма как ако при 5 В имаш 0 като свалиш на 3 да имаш нещо различно от 0-ла освен в случая в който няма отделно захранване за тоя сигнал. Мен по скоро ми прилича при отпадане на захранването да влиза я във функцията за декремент, я във функцията за набрана комбинация. Може самия процесор да е нестабилен при бавна промяна на захранването, няма да е нито първия, нито последния. Пикливците имат BOD виж дали и това няма нещо такова, ако няма външен чип за ресет, или ако може пък компаратора да генерира ресет то не само да го генерира ами и да го дръжи,по вероятно не може, а и не бих разчитал на него. |
|
| Автор: | tgi [ Сря Юли 10, 2013 7:29 pm ] |
| Заглавие: | Re: Баси тъпия проблем |
Е нали затова на reset жицата го пращам де, да няма как кой да е да прави глупости ако захранването не е там където всички замесени работят има такъв детектор най-добре, ако има как да е забранен и го разреши проблемът ще отпадне. |
|
| Автор: | Реконструктор [ Сря Юли 10, 2013 8:26 pm ] | |||||||||
| Заглавие: | Re: Баси тъпия проблем | |||||||||
Хаха, да!!! Цъкнах на фюза BODEN и се оправи работата. Мерси. |
||||||||||
| Автор: | ToHu [ Сря Юли 10, 2013 8:30 pm ] |
| Заглавие: | Re: Баси тъпия проблем |
Не си, по подразбиране е изключено. А зобаче бих и направил 30-40 случайни рестарта да видим дали пак няма да влезе там, може и друга магария да има а бавното спадане само да я е стимулирало. |
|
| Автор: | Реконструктор [ Сря Юли 10, 2013 11:30 pm ] | |||||||||
| Заглавие: | Re: Баси тъпия проблем | |||||||||
Направих доста, екстра си работи. |
||||||||||
| Автор: | mitko_el [ Чет Юли 11, 2013 6:41 pm ] |
| Заглавие: | Re: Баси тъпия проблем |
То и аз наскоро настъпих мотиката с проци на Силаб . Значи от бавно спадане на захранването, успяваше и програмната памет да омаже. Има си гадината опция , щом падне под 2.55 V , да си бие ресет... Ма задклавиатурно у-во проблемно. Цъкнах му тая опция , и е на 6 |
|
| Страница 1 от 1 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|