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

 
 
> Зависает 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
 
Start new topic
Ответов
KRS
сообщение Mar 5 2010, 09:58
Сообщение #2


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Частота становится слишком низкой, ниже чем частота клоков JTAG, надо или снизить частоту JTAG, или обойти это место поставив брекпоинт за новой инициализацией PLL
Go to the top of the page
 
+Quote Post



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

 


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


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