| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| Проблем с вградения еепром на пиковете? http://mcu-bg.com/mcu_site/viewtopic.php?f=2&t=2699 |
Страница 1 от 5 |
| Автор: | rumen [ Чет Юли 27, 2006 8:19 pm ] |
| Заглавие: | Проблем с вградения еепром на пиковете? |
Имал ли е някой проблем с епрома на пиковете? Направих едни джаджи които си запонмят настройките в еепрома. При мен работиха. Сега получих отзив че някои от тях забравят. Не са ми върнали нито един непомнещ за да видя каде е проблема. Дори може и нищо да не ми върнат защото са им хванали цаката със постоянно захранване. Искат още. Искат да реша проблема с непомненето на някои екземпляри. Процесорите са 16ф627а, 628А а някои са ф84(имах изостанали бройки) От това което ми казват ПРЕДПОЛАГАМ че запомнят а после случайно при някое от включванията не си четат еепрома. Възможно ли е ? Каква е вашата практика? |
|
| Автор: | plameniv [ Чет Юли 27, 2006 8:22 pm ] | |||||||||
| Заглавие: | Re: Проблем с вградения еепром на пиковете? | |||||||||
Явно имаш бъг някъде в програмата, аз досега никога не ми се е случвало да имам проблеми. Да не би просто да правиш твърде много записи и да си превишил циклите ! |
||||||||||
| Автор: | rumen [ Чет Юли 27, 2006 8:26 pm ] |
| Заглавие: | |
Записването е напрактика еднократно. В началото и край. Максимум да променят 10 нита пъти настройката. |
|
| Автор: | asp [ Чет Юли 27, 2006 8:26 pm ] |
| Заглавие: | |
аз съм чувал за подобни проблеми които били решени с рам + батерийка. Май има стандартно такова устройство. Иначе по веротно е нещо да се омазва по време на комутация в захранването или някви смущения. Аз бих пробвал с ресет чип който следи захранванетопо в по отдалечена точка и при отпадане задейства проца да направи бакъп за времето което му остава до изчерпване на захр. кондензатор. Не се сещам за номера на ИС то но има по-опитни колеги които може да знаят подобни. |
|
| Автор: | Dimitar [ Чет Юли 27, 2006 8:35 pm ] |
| Заглавие: | |
Проблема е в нестабилното захранване - всеизвестен е. Или слагаш супервайзори или така правиш настройките, че да не се помнят в тая памет, а да са константи в програмата. |
|
| Автор: | Dimiter [ Чет Юли 27, 2006 9:03 pm ] |
| Заглавие: | |
имал съм такъв проблем с 16ф84а заврян в смарт карта проблема е наистина хардуерен |
|
| Автор: | Dimiter [ Чет Юли 27, 2006 9:04 pm ] |
| Заглавие: | |
изразяваше се през около 70-100 бройки |
|
| Автор: | rumen [ Чет Юли 27, 2006 9:08 pm ] |
| Заглавие: | |
Dimitar Какво имаш впредвид под супер вайзори? Току що ми хрумна да записвам една и съща информация на две или три различни места. Записа ще приключи след като се убедя че числата са еднакви. После при първоначалното включване ще си чета и трите клетки и ще гледам дали са еднакви. Ако не са ще чакам малко и ще ги чета пак и пак докато получа еднакави данни. Като варияция на горното може да се приема за вярно по вечето еднакви записа. Място има. Мога и на 10 места да ги съхранявам. Но това май си е уливане. Моля коментирайте! П.П. Благодаря за всички мнения те ме провокираха за горната идея. |
|
| Автор: | rumen [ Чет Юли 27, 2006 9:17 pm ] | |||||||||
| Заглавие: | ||||||||||
Дори и това не знам дали непомнят само 84-кете. Много ми допада тази възможност. Как се справи с твойте? |
||||||||||
| Автор: | MGBY [ Чет Юли 27, 2006 9:18 pm ] |
| Заглавие: | |
Ами за отговорни неща точно така се прави помниш на три места и след това което го има на двете места се предполага , че е вярното .... |
|
| Автор: | Nikola Kirov [ Чет Юли 27, 2006 9:30 pm ] |
| Заглавие: | |
Проблема ти вероятно е пак в захранването. Евентулано опроводяването на платката може да ти е проблемно. Гледай най вече как си си филтрирал захранването и кварца също как си опроводил. направи си брояч за за задествалите watchdog-ове. Помага при диагностиката понякога. Иначе независимо от всичко ако е отговорна работата си пишеш на 3 места и най добре с контролна сума за проверка на верноста на записите. Иначе като се запише една и съща стоиност в цялата памет поради хардуерни или други проблеми няма по какво да разбереш че данните ти са невалидни. забрави да похвалиш протона в тоя пост не се излагай |
|
| Автор: | rumen [ Чет Юли 27, 2006 9:54 pm ] |
| Заглавие: | |
Не посмях да кажа че програмата е писана на Протон. Рискувах да получа отговори " еми затова ". И да отклоним темата. Ти пък пропусна да кажеш че на пиковете е така. |
|
| Автор: | sthx [ Чет Юли 27, 2006 10:09 pm ] |
| Заглавие: | |
Проблемът най-вероятно е причинен от външни смущения - най-вероятно по захранване. Все пак трябва да се знае какво е устройството и в каква среда работи, за да се дадат препоръки. При моите чудесии се срещаше този проблем в следната форма - периодично в паметта се самозаписваха едни и същи стойности без всякаква логика. Стигнах до извода, че по някое време, след смущение програмата влиза в подпрограмата за запис и записва стойности от RAM, които явно са се ошашкали. Въпреки,че проблемът явно беше породен от смущения, прецених, че борбата с тях ще е скъпа и с негарантиран успех (доста съм се напатил). Задачката я реших софтуерно. В самата подпрограма за запис започнах да правя проверка за всяка записвана стойност, дали е в определените граници. Освен това закачих и няколко допълнителни байта с твърди стойности, които също проверявам. И при единично несъответствие отказвам записа. Проблемът се реши и резултата показа, че допускането е вярно - в RAM се трупаха буклуци. Оправянето на RAM може да се реши според спецификата на конкретното устройство. След тази операция пацентите ми млъкнаха - никакви проблеми. Ако проблемът е породен от същата причина, многократният запис трудно ще реши проблема. Дерзайте! |
|
| Автор: | Balkana [ Чет Юли 27, 2006 11:34 pm ] |
| Заглавие: | |
Просто решение което предлагам: Данните се копират два пъти, като всяко от копията е защитено минимум с 16 битова инвертирана контролна сума (0xFFFF - сметната сума от данните които се защитават) При промяна се обновяват и двете банки (след запис всеки байт се изчита и проверява за коректност) и се преизчислява контролната сума При проблем поне едната банка ще оцелее (познава се по коректната контролна сума); При откриване на дефект в някоя от банките информацията се възстановява от здравата в развалената банка и т.н. На темата може още доста вариации да се измислят за постигане на нужаната сигурност. |
|
| Автор: | plameniv [ Чет Юли 27, 2006 11:45 pm ] | |||||||||
| Заглавие: | Mda | |||||||||
Защо не ползваш готов модул на асемблер за записа, най вероятно не ти е наред нещо в софта не изчакваш да ти приключи записа и това ти е проблема, никога не съм имал проблеми особенно пък на f84 даже и доста съм правил и с f676 и нещата пак са си били винаги ОК. Ето ти един пример като имаш на предвид че clock-а ми e 4 MHz ------------------------------------------------- ReadEEPROM MOVF EEAddress MOVWF EEADR BSF STATUS, RP0 BSF EECON1, RD BCF STATUS, RP0 MOVF EEDATA, W RETURN ------------------------------------- WriteEEPROM MOVF EEAddress MOVWF EEADR MOVF EEprData, W MOVWF EEDATA BSF STATUS, RP0 BSF EECON1, WREN MOVLW 0x55 MOVWF EECON2 MOVLW 0xAA MOVWF EECON2 BSF EECON1, WR ChkWR BTFSC EECON1, WR GOTO ChkWR BCF STATUS, RP0 RETURN |
||||||||||
| Страница 1 от 5 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|