Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 03.12.2014, 10:15  
omercury
Почётный гражданин KAZUS.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Точность RTC STM32F407VG в режиме LSE (внешний кварц 32.768)

Сообщение от niXto Посмотреть сообщение
особенно заметно это в партии штук от 100 и больше
Издеваетесь - партии от 100 штук из распая?
Реклама:
omercury вне форума  
Непрочитано 03.12.2014, 12:17  
niXto
Почётный гражданин KAZUS.RU
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
niXto на пути к лучшему
По умолчанию Re: Точность RTC STM32F407VG в режиме LSE (внешний кварц 32.768)

Это вы недооцениваете русских нищебродов...
100 деталек по 4 цента - это целых 4 бакса экономии, "нафиг покупать новые детальки, я запаяю б/у и на сэкономленные гроши залью целых 5 литров бензина!!!"... Или детальки в упаковках оставят себе, а впаяют что есть... Причём вне зависимости от стоимости точки пайки...
niXto вне форума  
Непрочитано 03.12.2014, 13:05  
omercury
Почётный гражданин KAZUS.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Точность RTC STM32F407VG в режиме LSE (внешний кварц 32.768)

Нищеброды бывают не только русскими.
Некоторые в состоянии сосчитать, что только монтаж и мелочёвка дешевле, чем демонтаж и монтаж.

Это для домашнего пользования распай годится, когда стоимость работы не учитывается.
omercury вне форума  
Непрочитано 03.12.2014, 13:24  
SasaVitebsk
Гражданин KAZUS.RU
 
Регистрация: 04.08.2006
Сообщений: 911
Сказал спасибо: 28
Сказали Спасибо 180 раз(а) в 139 сообщении(ях)
SasaVitebsk на пути к лучшему
По умолчанию Re: Точность RTC STM32F407VG в режиме LSE (внешний кварц 32.768)

Сообщение от vvv998 Посмотреть сообщение
Но речь идет об STM32F407.
Если кто-то ПРОБОВАЛ запустить RTC STM32F407 в режиме LSE (от внешнего кварца) и часы работают нормально, ПОЖАЛУЙСТА, сбросьте код инициализации.
Я запускал. Серийно начали выпускать. Обеспечивается точность заявленная в даташите. Работает калибровка. Причём калибровал даже просто по компу. Сбрасываешь калибровку, выжидаешь неделю, определяешь уход за эту неделю (обычно составляет несколько секунд) определяешь частоту ... подкалибровываешь ... ))) Ну это если точного частотомера нет.
Проверял при включенном и выключенном приборе. Проверял при качке, температуре до 60 градусов. Температура практически не влияет.

Инициализация стандартная
Код:
// Инициализировать RTC
uint32_t vRTCInit(void)
{
  uint32_t status = RTC_OK;
  uint32_t synchrostatus = 0x00;
  __IO uint32_t synchrocounter = 0;
  tmf2_t times;
  
  // Проверить тактирование RTC
  if(RCC-›BDCR==0)	// Если первый запуск часов
  {
	// Запустить часовой кварц
	__HAL_RCC_LSE_CONFIG(RCC_LSE_ON);
	
	// Ждать готовности
	while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) == RESET);
  }
  
  // Проверить разрешение на RTC
  if((RCC-›BDCR & RCC_BDCR_RTCEN)==0)
  {

	// то выбрать источник тактирования
	__HAL_RCC_RTC_CONFIG(RCC_RTCCLKSOURCE_LSE);
	
	// Разрешить тактирование RTC
	__HAL_RCC_RTC_ENABLE();

	// Дождаться синхронизации
	// Wait the registers to be synchronised
	do
	{
	  synchrostatus = RTC-›ISR & RTC_ISR_RSF;
	  synchrocounter++;
	} while((synchrocounter ‹ SYNCHRO_TIMEOUT) && (synchrostatus == 0x00));
    
  }
  
  // Проверить установку часов
  if(((RTC-›DR››16) & 0xff)==0)
  {
	// Disable the write protection for RTC registers
	RTC-›WPR = 0xCA;
	RTC-›WPR = 0x53;
	// Set Initialization mode
	if (RTC_EnterInitMode() == ERROR)
	{
	  status = RTC_FAIL;
	} 
	else
	{
	  // Set RTC CR COE Bit
	  RTC-›CR |= (1‹‹RTC_CRBIT_COE);
	  
	  // Configure the RTC PRER
	  //RTC-›PRER = (uint32_t)(RTC_InitStruct-›RTC_SynchPrediv);
	  //RTC-›PRER |= (uint32_t)(RTC_InitStruct-›RTC_AsynchPrediv ‹‹ 16);
	
	  // Занести время и дату создания
...
	  // ввести время
	  RTC-›TR = *(uint32_t*)×.time;
	  RTC-›DR = *(uint32_t*)×.date;
	  
	  // Exit Initialization mode
	  RTC-›ISR &= (uint32_t)~RTC_ISR_INIT;  
	  // Enable the write protection for RTC registers
	  RTC-›WPR = 0xFF;
	  
	  status = RTC_RESTART;
	}
  }
  return (status);  
}
SasaVitebsk вне форума  
Непрочитано 03.12.2014, 19:35  
Vitaliki
Частый гость
 
Регистрация: 23.10.2011
Сообщений: 15
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Vitaliki на пути к лучшему
По умолчанию Re: Точность RTC STM32F407VG в режиме LSE (внешний кварц 32.768)

Если хотите высокой точности, тогда подключайте HSE.
Vitaliki вне форума  
Непрочитано 03.12.2014, 21:28  
vvv998
Временная регистрация
 
Регистрация: 19.08.2014
Сообщений: 60
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
vvv998 на пути к лучшему
По умолчанию Re: Точность RTC STM32F407VG в режиме LSE (внешний кварц 32.768)

Сообщение от Vitaliki Посмотреть сообщение
Если хотите высокой точности, тогда подключайте HSE.
Проблема РЕШЕНА с помощью "makser" на http://forum.easyelectronics.ru.
Он подсказал попробовать библиотеку http://mikrocontroller.bplaced.net/w.../?page_id=1629.

Библиотека у меня есть, но она конфликтовала с моим проектом в IAR , а потом в пылу борьбы с RTC я о ней попросту забыл.

БОЛЬШОЕ СПАСИБО "makser"!
Библиотека http://mikrocontroller.bplaced.net/w.../?page_id=1629 РАБОЧАЯ.
RTC в режиме LSE при частоте кварца 32.769 kHz работает как в ПК.
Проверял в СооСох.
"Притирка" библиотеки к проекту на IAR (у меня конфликтует) - чисто техническая работа.

СПАСИБО ВСЕМ, кто по делу откликнулся на проблему .
vvv998 вне форума  
Непрочитано 03.12.2014, 21:34  
vvv998
Временная регистрация
 
Регистрация: 19.08.2014
Сообщений: 60
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
vvv998 на пути к лучшему
По умолчанию Re: Точность RTC STM32F407VG в режиме LSE (внешний кварц 32.768)

Сообщение от SasaVitebsk Посмотреть сообщение
Я запускал. Серийно начали выпускать. Обеспечивается точность заявленная в даташите. Работает калибровка. Причём калибровал даже просто по компу. Сбрасываешь калибровку, выжидаешь неделю, определяешь уход за эту неделю (обычно составляет несколько секунд) определяешь частоту ... подкалибровываешь ... ))) Ну это если точного частотомера нет.
Проверял при включенном и выключенном приборе. Проверял при качке, температуре до 60 градусов. Температура практически не влияет.

Инициализация стандартная
Код:
// Инициализировать RTC
uint32_t vRTCInit(void)
{
  uint32_t status = RTC_OK;
  uint32_t synchrostatus = 0x00;
  __IO uint32_t synchrocounter = 0;
  tmf2_t times;
  
  // Проверить тактирование RTC
  if(RCC-›BDCR==0)	// Если первый запуск часов
  {
	// Запустить часовой кварц
	__HAL_RCC_LSE_CONFIG(RCC_LSE_ON);
	
	// Ждать готовности
	while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) == RESET);
  }
  
  // Проверить разрешение на RTC
  if((RCC-›BDCR & RCC_BDCR_RTCEN)==0)
  {

	// то выбрать источник тактирования
	__HAL_RCC_RTC_CONFIG(RCC_RTCCLKSOURCE_LSE);
	
	// Разрешить тактирование RTC
	__HAL_RCC_RTC_ENABLE();

	// Дождаться синхронизации
	// Wait the registers to be synchronised
	do
	{
	  synchrostatus = RTC-›ISR & RTC_ISR_RSF;
	  synchrocounter++;
	} while((synchrocounter ‹ SYNCHRO_TIMEOUT) && (synchrostatus == 0x00));
    
  }
  
  // Проверить установку часов
  if(((RTC-›DR››16) & 0xff)==0)
  {
	// Disable the write protection for RTC registers
	RTC-›WPR = 0xCA;
	RTC-›WPR = 0x53;
	// Set Initialization mode
	if (RTC_EnterInitMode() == ERROR)
	{
	  status = RTC_FAIL;
	} 
	else
	{
	  // Set RTC CR COE Bit
	  RTC-›CR |= (1‹‹RTC_CRBIT_COE);
	  
	  // Configure the RTC PRER
	  //RTC-›PRER = (uint32_t)(RTC_InitStruct-›RTC_SynchPrediv);
	  //RTC-›PRER |= (uint32_t)(RTC_InitStruct-›RTC_AsynchPrediv ‹‹ 16);
	
	  // Занести время и дату создания
...
	  // ввести время
	  RTC-›TR = *(uint32_t*)×.time;
	  RTC-›DR = *(uint32_t*)×.date;
	  
	  // Exit Initialization mode
	  RTC-›ISR &= (uint32_t)~RTC_ISR_INIT;  
	  // Enable the write protection for RTC registers
	  RTC-›WPR = 0xFF;
	  
	  status = RTC_RESTART;
	}
  }
  return (status);  
}
СПАСИБО "SasaVitebsk"!
Попробую Ваш код инициализации в IAR.

О результате обязательно сообщу.
vvv998 вне форума  
Непрочитано 04.12.2014, 11:10  
STM32F0
Заблокирован
 
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
STM32F0 на пути к лучшему
По умолчанию Re: Точность RTC STM32F407VG в режиме LSE (внешний кварц 32.768)

Склероз и ахтунг, день морозный! СТМ виноват, ИАР виноват, RTC просто глючный - жизнь просто яд!
Сообщение от STM32F0 Посмотреть сообщение
Чушь несусветная! Вы не хотите разбираться и подстраивать, а часы не хотят точно идти! Ожидаемая закономерность!
STM32F0 вне форума  
Непрочитано 04.12.2014, 12:48  
vvv998
Временная регистрация
 
Регистрация: 19.08.2014
Сообщений: 60
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
vvv998 на пути к лучшему
По умолчанию Re: Точность RTC STM32F407VG в режиме LSE (внешний кварц 32.768)

Сообщение от STM32F0 Посмотреть сообщение
Склероз и ахтунг, день морозный! СТМ виноват, ИАР виноват, RTC просто глючный - жизнь просто яд!
На дурацкие коменты отвечать стыдно.

Насколько крепкие нервы у Модератора.

СПАСИБО "SasaVitebsk"!
Ваш код инициализации действительно работающий.
И ничего не надо подстраивать.
Точности кварцевого генератора от -40 град. хватает.
Нашел попутно и у себя ошибку.

Еще раз СПАСИБО ВСЕМ кто откликнулся ПО ДЕЛУ !

Последний раз редактировалось vvv998; 04.12.2014 в 12:52.
vvv998 вне форума  
 

Закладки
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как переключить ATmega8L на внешний кварц? ewgen404 Микроконтроллеры, АЦП, память и т.д 1 01.03.2010 22:15


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


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot