реклама на сайте
подробности

 
 
> Зависает LPC1756 при переключении такирования на RTC, Что с этим делать?
BSVi
сообщение Mar 5 2010, 07:56
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 76
Регистрация: 18-12-07
Из: Киев
Пользователь №: 33 391



Пытаюсь запустить PLL LPC1756 от RTC (32кГц). Задача - получить 30мГц на CCLK. Код запуска приведен ниже.
На строчке CLKSRCSEL_bit.CLKSRC = 2; зависает все, в том числе и отваливается отладчик. Эта строчка переключает ядро на тактирование от часового кварца.

Все делаю по инструкции из User Manual'а. На Кварце - чистый синус размахом 169мВ.


Код
   _DINT(); // disable interrupts

   // 1. Disconnect PLL0 with one feed sequence if PLL0 is already connected.
   PLL0CON_bit.PLLC = 0;
   PLL0FEED = 0xAA;
   PLL0FEED = 0x55;

   // 2. Disable PLL0 with one feed sequence.
   PLL0CON_bit.PLLE = 0;
   PLL0FEED = 0xAA;
   PLL0FEED = 0x55;

   // 3. Change the CPU Clock Divider setting to speed up operation without PLL0, if desired.
   CCLKCFG_bit.CCLKSEL = 3;

   // 4. Write to the Clock Source Selection Control register to change the clock source if
   //    needed.
   CLKSRCSEL_bit.CLKSRC = 2; // RTC is PLL clock source.

   // 5. Write to the PLL0CFG and make it effective with one feed sequence. The PLL0CFG
   //    can only be updated when PLL0 is disabled.
   PLL0CFG_bit.MSEL = 13733 - 1;  // 30.0002 MHz
   PLL0CFG_bit.NSEL = 3 - 1;
   PLL0FEED = 0xAA;
   PLL0FEED = 0x55;

   // 6. Enable PLL0 with one feed sequence.
   PLL0CON_bit.PLLE = 1;
   PLL0FEED = 0xAA;
   PLL0FEED = 0x55;

   // 7. Change the CPU Clock Divider setting for the operation with PLL0. It is critical to do
   //    this before connecting PLL0.
   CCLKCFG = 10-1;   // divide by 10
   PCLKSEL0 = PCLKSEL1 = 0;

   // 8. Wait for the PLL to achieve lock, 200 / FREF seconds when FREF is less than 400 kHz
   GlobalTimeStart();
   DelayMs( 200000UL/32768UL );

   // 9. Connect PLL0 with one feed sequence.
   PLL0CON_bit.PLLC = 1;
   PLL0FEED = 0xAA;
   PLL0FEED = 0x55;


Может кто сталкивался? В чем у меня ошибка - в железе или аппаратуре?



//------------------------------------------------------------------------------------------------------------------------------------
Новости с фронта - запустил RTC. Работает прекрасно! Стало быть, 38кГц генератор исправен.


--------------------
http://bsvi.ru/ - блог эмбеддера
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 15:32
Рейтинг@Mail.ru


Страница сгенерированна за 0.01418 секунд с 7
ELECTRONIX ©2004-2016