Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: STM8
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры > STM8
king2
Возникла глупая проблема.
Есть у меня платка на STM8S105K6 - питается от 5 вольт, в цепи ресета кондер 0.1мкФ и больше ничего нет.

Платка прошивается, работает, и все такое, но если передернуть питание - то не стартует.
Замыкаешь пинцетом кондер на ресете - стартует, работает.
А само - нет.

Если к SWIM подключен ST_LINK - при передергивании питания все работает. Без него - не стартует.
Кроме кондера на массу к выводу RESET ничего не подключено. Кондер пытался сделать больше или меньше или вообще убрать - эффект стабильный.
На второй точно такой же плате эффект такой же.

Если отключить кондер на ресете - то видно, что при повышении питания примерно до 4 вольт оно отпускает ресет, а до этого стабильно в нуле.
То есть - работать должно бы.
Но - не работает.

У кого-нибудь подобное было?
Что делать?
Я в офигении.. sad.gif

king2
Выяснил, в чем дело.

На ножку Vcap надо ставить не просто кондер, а полярный танталовый lowESR (все три части важны), и никак иначе.
Влияет на reset, да.. без этого работать - работает, но по подаче питания не сбрасывается.
smk
Интересно чем это объясняется? У меня на мекетке стоит керамический 2,2 мкф. Ничего похожего не заметил.
ChipKiller
Цитата("king2")
....в цепи ресета кондер 0.1мкФ и больше ничего нет.
.. а pull-up не спасет отца русской демократии?
smk
В цепи ресета 10 нФ по документации и резистор 10 кОм на + питания.
ChipKiller
Цитата("smk")
В цепи ресета 10 нФ по документации и резистор 10 кОм на + питания.
... в курсе, но как вариант можно попробовать - хуже точно не будет.
Harbinger
Хмм, однако особенность именно S-серии. Вот специально просмотрел. В моём эволюшене под STM8L151 на ресете висит кнопка и ничего больше, к тому же к ней дорожка сантиметров 5 болтается - и ничего. Кнопку нажимать приходится только в случае, если программка улетела куда-то не туда...
Может, топикстартеру "повезло" поставить по Vcap керамический конденсатор с утечкой. Нарывался на такое - при нагреве под напряжением в китайского происхождения емкостях сопротивление утечки получается порой 1...100 кОм, попробуй отлови. Нагрев при нулевом напряжении работоспособность конденсатора восстанавливает, на время.
smk
В STM8S-DISCOVERY резистор 10 кОм не установлен вообще. При отключении от программатора все работает.
king2
Перепаял кондер, взятый с DISCOVERY. Заработало. Потом прекратило.

Вы-таки не поверите, оно стартует.
И если погреть немного феном (повторяемость на двух платах) - то начинает работать после сброса.
А вот если не погреть, то СТАРТУЕТ, инициализируется (видно, что ноги дергаются), но когда начинаешь что-то передавать в SPI - затыкается.
Причем все остальное (таймеры, например) работает.

Передаю обычным набором:
Код
     unsigned char i;
     for (i=0; i<36*DIGITS; i++) {
          SPI_DR = buffer[i];
          while (!SPI_SR_bit.TXE) asm("nop");
     }
     while (SPI_SR_bit.BSY) asm("nop");
     PD_ODR_bit.ODR2 = 1; // XLAT on
     PD_ODR_bit.ODR2 = 0; // XLAT off

Если закомментить проверку бита TXE - то все остальное начинает работать (а SPI, стало быть, не работает).
А после железного сброса - все ура.

Я в офигении...
king2
В итоге оно заработало путем добавления задержки 5мс между инициализацией самого процессора и инициализацией SPI.
Непонятно, почему оно так, непонятно, почему такого поведения нет в ERRATA. Но оно так..

Оставляю это здесь, чтобы кто-нибудь другой, кто напоролся, знал, что делать sm.gif

fox2trot
А по моему, вам стоит поменять флюс используемый при пайке, иначе постоянно какие нибудь подобные косяки выползать будут и проц с конденсатором здесь совершенно не при чем.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.