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

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

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

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

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

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


 
Опции темы

STM32F407 PLL

Непрочитано 18.08.2015, 17:36  
LetalNik
Частый гость
 
Регистрация: 11.08.2015
Сообщений: 21
Сказал спасибо: 4
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
LetalNik на пути к лучшему
По умолчанию STM32F407 PLL

Доброе здрасьти.
Проблема с ФАПЧ:

Код:
  
//Настройка коэффициентов  
  RCC-›PLLCFGR |= RCC_PLLCFGR_PLLSRC_HSE;  //PLL source = HSE
  
  RCC-›CR |= RCC_CR_PLLON;  //Запуск PLL
  
  while(!(RCC-›CR & RCC_CR_PLLRDY)) {}  //Ожидаем запуск PLL
    
  LED_ON(5);
  
  RCC-›CFGR |= RCC_CFGR_SW_1;  //Выбираем PLL как SYSCLK 
  
  while(!(RCC-›CFGR & RCC_CFGR_SWS_PLL)){} //Ожидаем подтверждения 

  LED_ON(6);
HSE = 8 MHz;

HSE запускается нормально (осцилографом проверял);

Предделители настроил;

Коэффициенты PLL: PLLM = 4, PLLN = 200, PLLP = 4;

PLL запускается LED_ON(5) нормально работает(светодиод номер пять светит);

А вот LED_ON(6) уже не пашет.

Люди добрые, помогите.

P.S.
Ноги где светодиоды настроены на Low freq pp
Реклама:
LetalNik вне форума  
Непрочитано 18.08.2015, 17:44  
индюк
Гуру портала
 
Аватар для индюк
 
Регистрация: 17.07.2010
Адрес: мурмурляндия
Сообщений: 11,111
Сказал спасибо: 202
Сказали Спасибо 3,280 раз(а) в 2,147 сообщении(ях)
индюк на пути к лучшему
По умолчанию Re: STM32F407 PLL

ээээээ.......... не понял.......
а зачем это руками набивать - оно все с стартовом фаиле есть. я туда все пару раз лазил поменять частоту
__________________
кагмаподэ магмаподэ
индюк вне форума  
Непрочитано 18.08.2015, 18:01  
pambaru
Почётный гражданин KAZUS.RUN
 
Регистрация: 24.03.2007
Сообщений: 1,393
Сказал спасибо: 85
Сказали Спасибо 670 раз(а) в 391 сообщении(ях)
pambaru на пути к лучшему
По умолчанию Re: STM32F407 PLL

А Latency для флэш выставили?
Если нет, то неудивительно, что зависает.
Вот мой код, кварц 12 Мгц.
Измените cMainFreq на 8, должно заработать.

PHP код:
//system quartz
#define cMainFreq 12
#define cVCOClock 336

//Division coeff for input clock ›=2
#define cPLLM 4

//Mul for VCO
#define cPLLN (cVCOClock*cPLLM / cMainFreq)

//Div for main system clock 336 Mhz, 0 for 2 (page 162)
#define cPLLP 0

//divider for USB 48MHz
#define cPLLQ (cVCOClock / 48)

void InitClock(void){

    RCC-›APB1ENR |= RCC_APB1ENR_PWREN;
    
    //PWR_CR Page 138
    PWR-›CR |=PWR_CR_PLS | PWR_CR_PVDE | PWR_CR_VOS_0;
    
    while (!(PWR-›CSR & PWR_CSR_VOSRDY)); 

  //RCC register page 159
  RCC-›CR |=RCC_CR_HSEON; // Enable external quartz
    
  while (!(RCC-›CR & RCC_CR_HSERDY)); //wait for quartz ready 

    // Config Flash
    // Latency page 80 Refman
    FLASH-›ACR = FLASH_ACR_PRFTEN | FLASH_ACR_ICEN | FLASH_ACR_DCEN | FLASH_ACR_LATENCY_5WS;
 
    //Config PLL
    RCC-›PLLCFGR=(cPLLQ‹‹24) | (cPLLP‹‹16) | (cPLLN‹‹6) | cPLLM | RCC_PLLCFGR_PLLSRC_HSE; //page 162
    
  RCC-›CR |=    RCC_CR_PLLON;
    
  while (!(RCC-›CR & RCC_CR_PLLRDY)); //wait for PLL ready 
    
    //RCC register page 159
  RCC-›CFGR |= RCC_CFGR_HPRE_DIV1; //page 151 Max freq AHB 180 MHz, current 168
  RCC-›CFGR |= RCC_CFGR_PPRE2_DIV2; //page 151 Max freq APB2 90 MHz, current 84
  RCC-›CFGR |= RCC_CFGR_PPRE1_DIV4; //page 151 Max freq APB1 45 MHz, current 42

  //Выбираем источником тактового сигнала генератор PLL:
    //page 95, PLL selected as system clock

   RCC-›CFGR = (RCC-›CFGR & ~0x03) | RCC_CFGR_SW_PLL;
    
  //Ждем когда контроллер перейдет на тактирование от PLL:
   while ((RCC-›CFGR & RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL);

RCC-›CR &= ~RCC_CR_HSION; // page 159, HSI clock 16 MHz Off

} 
P.S. Где написано page nnn - это номер страницы в reference manual, где про это написано. Пишу для удобства, потом через время проще разбираться.

Последний раз редактировалось pambaru; 18.08.2015 в 18:03.
pambaru вне форума  
Сказали "Спасибо" pambaru
LetalNik (19.08.2015)
Непрочитано 18.08.2015, 19:28  
LetalNik
Частый гость
 
Регистрация: 11.08.2015
Сообщений: 21
Сказал спасибо: 4
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
LetalNik на пути к лучшему
По умолчанию Re: STM32F407 PLL

Сообщение от индюк Посмотреть сообщение
ээээээ.......... не понял.......
а зачем это руками набивать - оно все с стартовом фаиле есть.
В учебных целях.
ФЛЭШ как раз не настраивал.
Проверю.
LetalNik вне форума  
Непрочитано 18.08.2015, 20:07  
LetalNik
Частый гость
 
Регистрация: 11.08.2015
Сообщений: 21
Сказал спасибо: 4
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
LetalNik на пути к лучшему
По умолчанию Re: STM32F407 PLL

Я включил буфер предвыборки и настроил Flash. Заработало. Спасибо.
Код:
//142MHz
  FLASH-›ACR |= FLASH_ACR_PRFTEN; //ВКЛ буфер предвыборки
  
  FLASH-›ACR |= FLASH_ACR_ICEN;  //ВКЛ кэш инструкций
  
  FLASH-›ACR |= FLASH_ACR_DCEN;  //ВКЛ кэш данныхы
  
// Конфигурируем Flash на 5 циклов ожидания
// Это нужно потому, что Flash не может работать на высокой частоте
  FLASH-›ACR &= (uint32_t)((uint32_t)~FLASH_ACR_LATENCY);
  FLASH-›ACR |= (uint32_t)FLASH_ACR_LATENCY_4WS;

Последний раз редактировалось LetalNik; 19.08.2015 в 08:42.
LetalNik вне форума  
 
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Здравствуй, ARM. Запуск "на коленке" alexgap ARM 1023 08.02.2024 19:13
STM32F407 FSMC NAND Flash MK13 ARM 2 23.08.2014 12:48
STM32F407 и USB eddy ARM 22 09.12.2013 16:30
PLL генератор не работает? pelia Электроника - это просто 3 15.06.2011 10:57
Прямой цифровой синтез частоты(DSS) +PIC PLL valik_666 Микроконтроллеры, АЦП, память и т.д 4 05.02.2010 19:14


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


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