Портал для радиолюбителей и разработчиков электроники · с 2003 годаРеклама на сайте
Найти компонент, схему или даташит

Даташиты, справочник отечественных приборов, схемы с разбором и живой форум


 
Опции темы

Изучаем STM32 Cortex M3

Непрочитано 16.07.2018, 14:30  
AR_Favorit
Почётный гражданин KAZUS.RUN
 
Регистрация: 13.03.2010
Сообщений: 2,896
Сказал спасибо: 498
Сказали Спасибо 3,061 раз(а) в 1,425 сообщении(ях)
AR_Favorit на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от eddy Посмотреть сообщение
Одну плату, кстати, почти реанимировал: при тщательном рассмотрении оказалось, что нога boot болтается в воздухе, т.к. второй конец подтяжки на землю не был припаян!
Возможно, у горе-паяльщика и флюс "интересный"...

Как минимум - демонтаж, промывка, повторный монтаж... иначе никаких гарантий работоспособности в будущем.
Реклама:
AR_Favorit вне форума  
Непрочитано 16.07.2018, 16:26  
eddy
Почётный гражданин KAZUS.RUN
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,684
Сказал спасибо: 116
Сказали Спасибо 823 раз(а) в 597 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Флюс у него нормальный — обычная спиртоканифоль, я сам давал (ЛТИ не дал, мало ли — начнет SMD ею паять).
Сообщение от AR_Favorit Посмотреть сообщение
демонтаж, промывка, повторный монтаж
вот этого не хотелось бы: и так уже 3.5 месяца потеряно...

UPD. Прозвонил, перепаял кое-что. Реально, проблема была в непропае: из-за отсутствия контакта с землей у диода выгорал импульсник, Rx/Tx UART'а закорочены, сожженые Шоттки...
С одним так и не разобрался до конца: все работает при питании от USB, а вот при попытке питания от 12В, когда должен работать импульсник, выгорает входной мосфет защиты от переполюсовки...

В общем, лишний раз это напомнило мне важное изречение: «Хочешь, чтобы было сделано правильно, сделай это сам!»
__________________
Если ты пользуешься Windows, то ты финансируешь мировой терроризм!

Последний раз редактировалось eddy; 16.07.2018 в 18:11.
eddy вне форума  
Непрочитано 19.07.2018, 01:53  
AR_Favorit
Почётный гражданин KAZUS.RUN
 
Регистрация: 13.03.2010
Сообщений: 2,896
Сказал спасибо: 498
Сказали Спасибо 3,061 раз(а) в 1,425 сообщении(ях)
AR_Favorit на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от eddy Посмотреть сообщение
Реально, проблема была в непропае: из-за отсутствия контакта с землей у диода выгорал импульсник, Rx/Tx UART'а закорочены, сожженые Шоттки...



Сообщение от eddy Посмотреть сообщение
С одним так и не разобрался до конца: все работает при питании от USB, а вот при попытке питания от 12В, когда должен работать импульсник, выгорает входной мосфет защиты от переполюсовки...
Обычный "идеальный диод?" А какой мосфет стоит? Может, по ошибке взят с Ugs_max=10V?
Я обычно NTR1P02T1G ставлю. Ну у меня токи меньше ампера, понятно...
AR_Favorit вне форума  
Непрочитано 19.07.2018, 02:52  
eddy
Почётный гражданин KAZUS.RUN
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,684
Сказал спасибо: 116
Сказали Спасибо 823 раз(а) в 597 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от AR_Favorit Посмотреть сообщение
Обычный "идеальный диод?" А какой мосфет стоит?
Да, обычный. Стоит AO3407. У него 20В, так что запас есть. Скорей всего, что-то где-то в цепи импульсника мой паяльщик выжег (но без напряжения все прозванивается нормально).
__________________
Если ты пользуешься Windows, то ты финансируешь мировой терроризм!

Последний раз редактировалось eddy; 19.07.2018 в 02:56.
eddy вне форума  
Непрочитано 19.07.2018, 12:15  
Yuri222
Почётный гражданин KAZUS.RUN
 
Регистрация: 08.02.2005
Адрес: Минск, Беларусь
Сообщений: 8,924
Сказал спасибо: 3,111
Сказали Спасибо 3,030 раз(а) в 2,258 сообщении(ях)
Yuri222 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от eddy Посмотреть сообщение
выгорает входной мосфет защиты от переполюсовки...
По идее его должен успеть опередить предохранитель..
Yuri222 вне форума  
Непрочитано 23.07.2018, 09:07  
AR_Favorit
Почётный гражданин KAZUS.RUN
 
Регистрация: 13.03.2010
Сообщений: 2,896
Сказал спасибо: 498
Сказали Спасибо 3,061 раз(а) в 1,425 сообщении(ях)
AR_Favorit на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

STM32L072 со своим даташитом не перестает радовать.

Есть RTC. Требуется периодически будить МК из режима STOP c использованием RTC periodic wakeup. Есть четкое описание и даже пример конфигурации этого режима в даташите. Есть сниппет с примерно тем же примером. Есть в конце концов AN4759 "Using the hardware real-time clock (RTC) in low-power modes with
STM32 microcontrollers" с описанием, в т.ч., порядка конфигурации этого самого RTC periodic wakeup.

И абсолютно нигде нет указания на необходимость каких-либо манипуляций с битом INIT регистра RTC-›ISR для работы с periodic RTC wakeup unit. Более того, есть четко написанное в даташите про регистр ISR:

Цитата:
TC initialization and status register (RTC_ISR)
This register is write protected (except for RTC_ISR[13:8] bits). The write access procedure is described in RTC register write protection on page 542.
Address offset: 0x0C
RTC domain reset value: 0x0000 0007
System reset: not affected except INIT, INITF, and RSF bits which are cleared to ‘0‘
На деле же пример инита из даташита или AN4759 не работает.

А вот сниппет работает, поскольку там вслед за настройкой periodic wakeup-а есть еще процедура настройки часов, в которой устанавливается, а затем сбрасывается бит INIT в регистре RTC_ISR.

Добавление очистки этого бита к процедуре инициализации RTC Wake-Up, описанной в даташите, чудесным образом заставляет прогу работать. Хотя никто его не взводил, и по ресету он должен быть нулем...

Код - калька из сниппета:

PHP код:
void configure_rtc(void)
{
  /* Enable the LSI */
  RCC-›CSR |= RCC_CSR_LSION;
  /* Wait while it is not ready */
  while((RCC-›CSR & RCC_CSR_LSIRDY)!=RCC_CSR_LSIRDY){};
  /* Enable PWR clock */        
  RCC-›APB1ENR |= RCC_APB1ENR_PWREN;
  /* Enable write in RTC domain control register */
  PWR-›CR |= PWR_CR_DBP;
  /* LSI for RTC clock */
  RCC-›CSR = (RCC-›CSR & ~RCC_CSR_RTCSEL) | RCC_CSR_RTCEN | RCC_CSR_RTCSEL_1;
  /* Disable PWR clock */
  RCC-›APB1ENR &= ~RCC_APB1ENR_PWREN;

  /* Configure RTC */
  /* Enable write access for RTC regsiters */
  RTC-›WPR = 0xCA;                                                                
  RTC-›WPR = 0x53;

  /* Disable wake up timer to modify it */
  RTC-›CR &= ~RTC_CR_WUTE;

  /* Wait until it is allow to modify wake up reload value */
  while((RTC-›ISR & RTC_ISR_WUTWF) != RTC_ISR_WUTWF){};
  /* Modify wake upvalue reload counter to have a wake up each 1Hz */
  RTC-›WUTR = 0x9C0;
  /* Enable wake up counter and wake up interrupt */
  RTC-›CR = RTC_CR_WUTE | RTC_CR_WUTIE;
        
  //////////////////////////////////////////////////////////
  // Без вот этой строчки прерываний по RTC WakeUp нет!!!
  //////////////////////////////////////////////////////////
  RTC-›ISR = ~RTC_ISR_INIT; 
  //////////////////////////////////////////////////////////
        
  /* Disable write access  for RTC regsiters */
  RTC-›WPR = 0xFE;
  RTC-›WPR = 0x64;
        
  /* Configure exti and nvic for RTC IT */
  /* unmask line 20 */
  EXTI-›IMR |= EXTI_IMR_IM20;
  /* Rising edge for line 20 */
  EXTI-›RTSR |= EXTI_RTSR_TR20;
  /* Set priority */
  NVIC_SetPriority(RTC_IRQn, 0);
  /* Enable RTC_IRQn */
  NVIC_EnableIRQ(RTC_IRQn);
} 
"Читайте даташит", говорили они... "Периферия почти такая же, как в STM8L", говорили они...

Ну вот как так-то?

Последний раз редактировалось AR_Favorit; 23.07.2018 в 09:10.
AR_Favorit вне форума  
Эти 2 пользователя(ей) сказали Спасибо AR_Favorit за это сообщение:
j-Roger (24.07.2018), laser532 (23.07.2018)
Непрочитано 23.07.2018, 15:04  
laser532
Почётный гражданин KAZUS.RUN
 
Регистрация: 14.03.2009
Сообщений: 1,597
Сказал спасибо: 1,065
Сказали Спасибо 1,559 раз(а) в 855 сообщении(ях)
laser532 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от AR_Favorit Посмотреть сообщение
Ну вот как так-то?
Обычные дела
laser532 вне форума  
Сказали "Спасибо" laser532
AR_Favorit (23.07.2018)
Непрочитано 24.07.2018, 09:15  
j-Roger
Гражданин KAZUS.RUN
 
Регистрация: 17.06.2008
Адрес: Украина
Сообщений: 839
Сказал спасибо: 379
Сказали Спасибо 943 раз(а) в 451 сообщении(ях)
j-Roger на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от AR_Favorit Посмотреть сообщение
Периферия почти такая же, как в STM8L
А в RM0031 для STM8L15x в описании процедуры инициализации RTC упомянут регистр
предделителя PRER, которого там и в помине нет, зато есть в STM32.

Все смешалось; возможно, в фирме ST изначально распилили один STM32 на четыре STM8-х,
и одному из огрызков как раз достался этот регистр; отсюда и зло-копипаст мануалов
j-Roger вне форума  
Непрочитано 24.07.2018, 17:12  
DanilinSA
Почётный гражданин KAZUS.RUN
 
Регистрация: 25.11.2010
Адрес: г. Дзержинск Нижегородская обл.
Сообщений: 1,801
Сказал спасибо: 133
Сказали Спасибо 1,152 раз(а) в 549 сообщении(ях)
DanilinSA на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Такие объемные доки обычно набирают не с "нуля". Скорее всего берут что-то из близкого семейства и правят. Но бывает правят невнимательно.
DanilinSA вне форума  
Непрочитано 26.07.2018, 19:54  
eddy
Почётный гражданин KAZUS.RUN
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,684
Сказал спасибо: 116
Сказали Спасибо 823 раз(а) в 597 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Мужики, есть у кого-нибудь USB CDC для STM32F0 без всякой лишней дряни (вроде SPL или кала)?
Поделитесь, пожалуйста...
__________________
Если ты пользуешься Windows, то ты финансируешь мировой терроризм!
eddy вне форума  
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Школа АRMрестлинга Uragan90 Микроконтроллеры, АЦП, память и т.д 54 22.08.2011 16:13
ARM Cortex M3 + Linux SiMiLya Микроконтроллеры, АЦП, память и т.д 10 17.06.2011 17:20
Помогите с STM32 - очень нужно... yakuzaa Микроконтроллеры, АЦП, память и т.д 60 04.08.2010 11:04
Как добавить поддержку для STM32 SFHK Микроконтроллеры, АЦП, память и т.д 11 18.12.2009 18:09


Часовой пояс GMT +4, время: 16:16.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.