| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| 24LC32A - I2C-EEPROM-странен проблем http://mcu-bg.com/mcu_site/viewtopic.php?f=2&t=5841 |
Страница 1 от 1 |
| Автор: | Wise [ Съб Юни 07, 2008 3:35 pm ] |
| Заглавие: | 24LC32A - I2C-EEPROM-странен проблем |
Привет! Имал ли е някой такъв проблем? Проц Tiny2313 + един чип на шината (около 2 см дълга) 24LC32A (Комет-Микрочип). I2C софтуерно протоколче (асемблер). 100КHz Няма прекъсвания да шляпат. Резистори 2 Кома. Четене по 32 байта. Когато има записана 1 - никога не греши. При лог.0 - се случва на 2 килобайта 1 БИТ! грешен. Т.е. понякога вместо 0 го чете като 1 (бита). Може да си е чиста нула (0х00) и да се прочете 0х10. Случайно е - не се повтаря. От 100 грешки стоте са в първите 4 байта (от 32 прочетени) и винаги 1 бит е станал от 0 в 1. (На друго желязо имам LC256 от същата фирма, същия асм код и там няма такъв проблем) Може ли да е от 2 К резисторите? Пробвах да вдигна честотата 2 пъти - няма ефект. //Принудих се да чета повторно и да сравнявам, но нещо ме гложди..... |
|
| Автор: | Nikola Kirov [ Съб Юни 07, 2008 3:54 pm ] |
| Заглавие: | |
Не честотата а увеличи времето след клока след което четеш нивото на Data пина. AVR-a вкарва доста смущения в захранването,да не би филтриращия кондензатор да не е запоен нещо и да шашка паметта. Добре е да имаш филтрираш кондензатор и на паметта. Малко изглежда да е хардуерен проблема. Ако смъкнеш честотата вероятно ще ти изчезне и проблема, и това е вариант. Иначе съм ползвал доста памети от тази серия досега не съм имал забележки. |
|
| Автор: | Wise [ Съб Юни 07, 2008 4:07 pm ] |
| Заглавие: | |
Става дума за десетки устройства - не е случаен дефект. CBI DD_I2C, SDA ;RELEASE SDA RCALL DELAY2 CBI DD_I2C, SCL ;SCL- HIGH RCALL DELAY2 CLC SBIC PIN_I2C, SDA ;CHECK DATA PIN SEC ROL I2C_SHIFT .............. delay2- 2 микросекунди има доста време да се установи, според мен |
|
| Автор: | Nikola Kirov [ Съб Юни 07, 2008 4:18 pm ] |
| Заглавие: | |
Пробвай с увеличаването на времената. Докато спре да прави проблема. И като изясниш кое време е критично ще го хванеш и проблема. Поне аз така процедирах като си правих софтуерното I2C и го оптимизирах за максимална скорост. |
|
| Автор: | Wise [ Съб Юни 07, 2008 4:31 pm ] | |||||||||
| Заглавие: | ||||||||||
Благодаря, а нещо за 2-та Кома резистори? Ти с 2 или с 10 си пробвал? (все-пак 400килохерца им дават - по дейташиита де) 256-ците ми са 8 с 2 килоома (имам и вариант с 512 - 4 броя) не е имало случай да грешат, а само 32-ката ми прави номерца......... дали не е хардуерно - понеже е сам чип с 2 килоома? |
||||||||||
| Автор: | Nikola Kirov [ Съб Юни 07, 2008 4:56 pm ] |
| Заглавие: | |
С 4.7K и с 10K съм пробвал само. 10K си работи нормално на 100KHz при 3.3V |
|
| Автор: | Wise [ Съб Юни 07, 2008 5:22 pm ] | |||||||||
| Заглавие: | ||||||||||
10х Ще пробвам другата седмица с вариации на резистора. При мен е 4,4 -5,1 V батерийно. Гадно е, че отнема доста време, докато се тества и анализира грешката. Ще пиша, ако установя нещо - за протокола де |
||||||||||
| Автор: | Wise [ Пон Юни 09, 2008 1:35 pm ] |
| Заглавие: | |
Смених резисторите с 4.7 к Престана да греши! Очевидно 2к не е добра идея, въпреки, че за 400KHz май го препоръчват в дейташиита. Просто ще си имам вече едно на ум.... |
|
| Страница 1 от 1 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|