Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

Загадка с DS1307ZN
http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=11549
Страница 1 от 1

Автор:  Cekins [ Нед Юли 14, 2013 10:31 pm ]
Заглавие:  Загадка с DS1307ZN

Не съм вярвал че нещо дето съм го правил толкова пъти изведнъж ме вкара в тъч. Та ... проблема :

DS1307ZN+ купуван скоро от комет, очевидно му тръгва кварца, I2C-то рабти нормално, RAM-та му се чете и се пише нормално. Клок регистрите и те се пишат нормално, само дето клок регистрите не се инкрементират. Седят си такива квито съм ги записал. Другия вариант е да не се четат нещо като хората?!?!. Проблема не е нито софтуерен нито хардуерен, защото имам абсолютно същия хардуер със същия софтуер. Разликата е само в RTC-то - на работещата платка е без N и без + и е купувано преди около половин година. Това дето се држи толкова странно е купувано преди седмица от комет. Имам и друго от същата "лента" - и то се държи по същия начин. Чета пдф-а (уж най-новия) и не виждам нищо писано по въпроса.

Ако някой се е сблъсквал с този недокументиран фийчър да свирка. Другия вариант е да са някви ментета или нещо фалшиви...

edit : добавка към чудесиите : след повече от 12 часа без захранване тъпите клок регистри съдържат това което последно е било записано - сякаш са EEPROM ?!?!?! ....

Автор:  Zdrav [ Пон Юли 15, 2013 8:56 am ]
Заглавие:  Re: Загадка с DS1307ZN

Прочети и тук:
http://www.maximintegrated.com/app-note ... mvp/id/504

Автор:  Cekins [ Пон Юли 15, 2013 9:13 am ]
Заглавие:  Re: Загадка с DS1307ZN

И на мене ми прилича на някво странно буфериране, ама защо стария чип не го прави а новия го прави, без да е писано никаде по даташитове или по ерати... А и тук виждам разни такива неща обаче за 1307 никъде не виждам къде аджеба ше са тези битове... А още по странното е че си задържаха състоянието 12 часа без захранване - ни батерия ни основно... На другия като му изключа захранването и му махна батерията си се нулира - както би трябвало да направи...

Автор:  Zdrav [ Пон Юли 15, 2013 9:29 am ]
Заглавие:  Re: Загадка с DS1307ZN

Понякога в такива случаи, когато имаш работещо и неработещо устройство с идентичен хардуер/софтуер, по-добре е да потърсиш не защо едното не работи, а да потърсиш защо другото работи. :wink:

Преди доста време беше, когато и аз се чесах по главата заради тези RTC-та на Далас(може би DS1305). Имам някакъв спомен, че без батерия не работеше. Имаше проблеми и ако сложиш диод между батерията и него. После имаше и един бит с който се прави enable на осцилатора. В дейташита нямаше нищо по въпроса. Но горния линк даваше някакви намеци къде е проблема.
Това, че си запазва регистрите известно време след изключване на захранванията е нормално.

Автор:  Cekins [ Пон Юли 15, 2013 9:42 am ]
Заглавие:  Re: Загадка с DS1307ZN

Е 12 часа никак не са известно време... номера го прави с и без батерия. Няма диоди на батерията щото нямам нужда - позлвам си стандартна CR2032. След като изчистя бит 7 на секундите, осцилатора тръгва, ползвам му и SQW out на 1Hz - след настройка на control регистъра си ми излиза и тоя сигнал, осцилатора го гледам и със скопа - тръгва си нормално. Въобще всичко си е както трябва, само дето при четене ми дава винаги последно записаната стойност. Сега ще пробвам да изчитам седемте регистъра вместо само първите 4 - трябва ми само час и ден от седмицата - дата-месец-година не ги ползвам и не ги чета... Гледам че пише че буфера се ъпдейтвал при някъв burst read ама никъде не пише кво ше рече това...

едит : ядец - чета първите 8 байта два пъти подред - същия грездей...

Автор:  Zdrav [ Пон Юли 15, 2013 10:09 am ]
Заглавие:  Re: Загадка с DS1307ZN

Просто за целите на дебъгването, ако си се изчерпал откъм идеи за момента, вземи размени чипчетата на една работеща и една неработеща платка. Това поне ще ти покаже дали конкретно от ZN+ идва разликата.
А burst read ще рече да изчетеш всичките 8 байта наведнъж - с една read операция по I2C.

Автор:  Cekins [ Пон Юли 15, 2013 10:22 am ]
Заглавие:  Re: Загадка с DS1307ZN

Е това и правя - изчитам ги всичките на веднъж. Ама в даташита пише, че при всеки бъс старт буфера се ъпдейтва. Пробвах и 7 байта да чета - същия грездей. На мене също ми мина през акъла да разменя чиповете. Имах един дето беше само N ама го прецаках. Сега ше се разровя да видя нямам ли някъде някой стар да скрапна. Не ми се сваля другия, че да не омажа нешо и там - нямам други резерви а работещата ми трябва работеща...

Автор:  Cekins [ Пон Юли 15, 2013 1:01 pm ]
Заглавие:  Re: Загадка с DS1307ZN

Ама прав беше да гледам що другата работи... Както в повечето случаи, виновно излезе задклавиатурното устройство...

Рек мое да я изтрие темата ако реши...

Автор:  head_up [ Пон Юли 15, 2013 2:13 pm ]
Заглавие:  Re: Загадка с DS1307ZN

Cekins написа:
Ама прав беше да гледам що другата работи... Както в повечето случаи, виновно излезе задклавиатурното устройство...

Рек мое да я изтрие темата ако реши...

"Похвали" се де :D

Автор:  Cekins [ Пон Юли 15, 2013 8:54 pm ]
Заглавие:  Re: Загадка с DS1307ZN

То не е за хвалене... Ми ... имам 10-тина групи с настройки дето се записват/четат в/от еепрома. Хост-а подава часа като една от групите и часа за удобство се записва заедно с данните (заема 4 байта в еепрома ама ми спестява 20 проверки когато се пишат блоковете). После за да видя дали часовника е пуснат и работи проверявам секундите дали се менят(от sqw out на даласа), а за първоначален старт проверявам дали деня е 0 (предварително нулиран). Да де ама след нулирането прочитам часа от еепрома и деня вече не е нула и не се чете часа от ртц-то. Установих и защо другия работи... Понеже правих разни промени и отделно му презписах еепрома без да му махам батерията от ртц-то и той чете нули от еепрома и си прочита часа от ртц-то. Та така де ... два дена се боря със себе си.

Страница 1 от 1 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/