NikolyaN 0 25 июня, 2015 Опубликовано 25 июня, 2015 · Жалоба Здравствуйте, коллеги MSP-шники! Столкнулся с тем что RTC_B перестает считать при переключении на питание от Backup батарейки. То есть регистры времени сохраняются, но время не тикает пока не появится основное питание. При этом кварц продолжает генерить (смотрел осциллоскопом). Чип MSP430F5358, но думаю это проблема не только этого чипа. Сначала сделал все сам по описаниям. Столкнулся с проблемой. Начал ковырять, ничего найти не смог, уже начал подумывать, что проблема в железе. Нашел у TI slaa665, скачал пример, подправил программу под свое железо и О ЧУДО!!! Выключаешь питание, а часы продолжают тикать. Начал разбираться чем отличается у меня и у них. Сначала обнаружил следующее if((BAKMEM0 == 0xDEAD) && !(RTCCTL01 & RTCOFIFG) && (RTCCTL2 & RTCCALS)) //backup not lost В этом условии (RTCCTL2 & RTCCALS) == 0. Хотя более логично было бы увидеть ошибку осцилятора (RTCCTL01 & RTCOFIFG) == 1 т.к часы просто останавливаются. Затем увидел более интересное, у них при входе в прерывание RTC всегда включен Backup Supply (кстати под JTAG этого не увидишь). Подумал, наверно это PMM у меня неправильно настроен. Повторил все как у них. Получил "Фиг вам". Не включается у меня Backup Supply. Поотключал все что можно, PLL убрал. Эффект = 0. И тут каким-то чудом наткнулся, что если в slaa665 lpm3 поменять на lpm0 (как у меня), то никакого переключения в Backup Supply не происходит, и при выключении основного питания RTC также перестает тикать. И даже если оставить lpm3, выключить питание когда активная мода (передача по UART) то часы останавливаются. Как выяснил lpm3, lpm2 включает Backup Supply, а lpm1, lpm0 не включает. То есть если выключить DCO (SCG1=1) то включается Backup Supply. Сейчас как временную затычку реализовал такой подход при работе с RTC: BAKCTL &= ~(BAKSW); while(BAKCTL & LOCKBAK) // Unlock Backup system for operation BAKCTL &= ~(LOCKBAK); ... // Read RTC registers BAKCTL |= (BAKSW); // Lock Backup system Понимаю, что это неправильно самому включать Backup Supply, и хоть и небольшой, но шанс попасть на выключение питания когда не в Backup Supply всеже остается. Поэтому хочется всеже разобраться. 1. Почему выключение DCO приводит к включению Backup Supply? В user manual и errata ничего такого не нашел. (но это так для общего развития) 2. Почему PMM не включает Backup Supply при выключении основного питания, хотя вроде все пороги настроены, и судя по описанию должен это делать? Мож кто с таким сталкивался разбирался, а мож из общих соображений и знания архитектуры чего подскажет. Заранее спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Obam 38 25 июня, 2015 Опубликовано 25 июня, 2015 (изменено) · Жалоба Из описания (SLAU208M, Chapter 2, стр 99-101) не очень следует, что PMM должен вкдючать "…Backup Supply при выключении основного питания…". Или цитата подразумевает что-то иное? PS: отставить! стр 126 "The switch is controlled by the high-side SVS that supervises the primary supply, DVCC." Изменено 25 июня, 2015 пользователем Obam Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
NikolyaN 0 25 июня, 2015 Опубликовано 25 июня, 2015 · Жалоба Из описания (SLAU208M, Chapter 2, стр 99-101) не очень следует, что PMM должен вкдючать "…Backup Supply при выключении основного питания…". Или цитата подразумевает что-то иное? А из описания slau208n.pdf p. 122 следует The high-side SVS (SVSH) that is located in the PMM module and supervises the primary supply (DVCC) controls the switching between primary and secondary supply. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
NikolyaN 0 26 июня, 2015 Опубликовано 26 июня, 2015 · Жалоба Тут еще подумалось, а может это все же железные проблемы. Если у кого-то реализован RTC на 5/6 серии и описанных проблем не наблюдается, откликнитесь пожалуйста. Не нашел как добавить это в первое сообщение. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
NikolyaN 0 30 июня, 2015 Опубликовано 30 июня, 2015 · Жалоба Победил я таки эту проблему. Как и предполагал всему виной железо. В качестве стабилизатора питания для МК использую TPS79733, а его выход PG, как рекомендуют в даташите, подключил к ножке RESET МК. Ну и эта су... (замечательная микросхема) успевает сресетить МК до того, как SVSH сработает. Этот ресет и выключает RTC. Если используете Backup Supply не подключайте внешние Power monitor к RESET или переводите RESET в NMI !!! Осталось прояснить вопрос почему LOCKBAK ставится при SCG1=1. Надеюсь ребята их Техаса ответят мне на него на е2е :-) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Obam 38 30 июня, 2015 Опубликовано 30 июня, 2015 · Жалоба От как обернулось :) Но назначение PG не для сброса "проца" (к примеру TPS773xx имеют ~RST, а TPS774xx - PG), а для индикации "кондиционности" питания. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
NikolyaN 0 30 июня, 2015 Опубликовано 30 июня, 2015 · Жалоба От как обернулось :) Но назначение PG не для сброса "проца" (к примеру TPS773xx имеют ~RST, а TPS774xx - PG), а для индикации "кондиционности" питания. Я не могу, также уверенно как Вы, утверждать каково истинное предназначение Power Good. Но если посмотреть tps79733-q1.pdf p.10 microcontroller application, то там они рекомендуют сделать именно так, как было сделано у меня. И уже в нескольких устройствах это отлично работало, пока не понадобилось реализовать резервное питание. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Obam 38 30 июня, 2015 Опубликовано 30 июня, 2015 · Жалоба :) Вот только без перехода на личности, пожалуйста Просто ради спортивного интереса: "power good (PG) (TPS774xx) The PG terminal is an open drain, active high output that indicates the status of Vout (output of the LDO). When Vout reaches 82% of the regulated voltage, PG will go to a high-impedance state. It will go to a low-impedance state when Vout falls below 82% (i.e. over load condition) of the regulated voltage. The open drain output of the PG terminal requires a pullup resistor. reset (RESET) (TPS773xx) The RESET terminal is an open drain, active low output that indicates the status of Vout. When Vout reaches 95% of the regulated voltage, RESET will go to a high-impedance state after a 220-ms delay. RESET will go to a low-impedance state when Vout is below 95% of the regulated voltage. The open-drain output of the RESET terminal requires a pullup resistor." есть некое различие… Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
NikolyaN 0 30 июня, 2015 Опубликовано 30 июня, 2015 · Жалоба :) Вот только без перехода на личности, пожалуйста Извините, если задел Вас. Не со зла. Просто ваше безапеляционное утверждение, что "назначение PG не для сброса "проца", хотя сами TI рекомендуют его для этого использовать, заставило написать мой ответ в несколько язвительной форме. Просто ради спортивного интереса: "power good (PG) (TPS774xx) The PG terminal is an open drain, active high output that indicates the status of Vout (output of the LDO). When Vout reaches 82% of the regulated voltage, PG will go to a high-impedance state. It will go to a low-impedance state when Vout falls below 82% (i.e. over load condition) of the regulated voltage. The open drain output of the PG terminal requires a pullup resistor. reset (RESET) (TPS773xx) The RESET terminal is an open drain, active low output that indicates the status of Vout. When Vout reaches 95% of the regulated voltage, RESET will go to a high-impedance state after a 220-ms delay. RESET will go to a low-impedance state when Vout is below 95% of the regulated voltage. The open-drain output of the RESET terminal requires a pullup resistor." есть некое различие… Да я в общем-то понимаю в чем между ними разница. Но согласитесь что и PG для ресета вполне подходит. Конечно он не столь безопасный как ресет с реализованными задержками и гистерезисами. Просто суть моей проблемы от этого не меняется. И даже если бы там был полноценный Ресет, все работало бы также. На этом предлагаю дискуссию завершить. Будут вопросы по существу - обращайтесь. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться