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

 
 
> LPC2387, PLLSTAT
addi
сообщение Feb 24 2011, 04:46
Сообщение #1


Знающий
****

Группа: Участник
Сообщений: 679
Регистрация: 9-08-06
Пользователь №: 19 422



Здравствуйте

Вопрос по поводу установки клоков, значения PLLCFG не отражаются в PLLSTAT, исполнение виснет на проверки соответствующего бита

Может кто скалкиваоя, прошу помочь
Код
void ConfigurePLL ( void )
{
  DWORD MValue, NValue;

  if ( PLLSTAT & (1 << 25) )
  {
    PLLCON = 1;            /* Enable PLL, disconnected */
    PLLFEED = 0xaa;
    PLLFEED = 0x55;
  }

  PLLCON = 0;                /* Disable PLL, disconnected */
  PLLFEED = 0xaa;
  PLLFEED = 0x55;
    
  SCS |= 0x20;            /* Enable main OSC */
  while( !(SCS & 0x40) );    /* Wait until main OSC is usable */

  CLKSRCSEL = 0x1;        /* select main OSC, 16MHz, as the PLL clock source */

  PLLCFG = PLL_MValue | (PLL_NValue << 16);
  PLLFEED = 0xaa;
  PLLFEED = 0x55;
      
  PLLCON = 1;                /* Enable PLL, disconnected */
  PLLFEED = 0xaa;
  PLLFEED = 0x55;

  CCLKCFG = CCLKDivValue;    /* Set clock divider */
#if USE_USB
  USBCLKCFG = USBCLKDivValue;        /* usbclk = 288 MHz/6 = 48 MHz */
#endif
  //while ( ((PLLSTAT & (1 << 26)) == 0) );    /* Check lock bit status */
  while (!(PLLSTAT & 0x02000000));    /* Check lock bit status */  - здесь стоим.....
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
addi
сообщение Mar 22 2011, 13:48
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 679
Регистрация: 9-08-06
Пользователь №: 19 422



К сожалению при
M = 9
N = 1
ClkDiv = 4
Fcco = 288 МГц

также получается 740000 вместо ожидаемых 921600(((.....
Go to the top of the page
 
+Quote Post
mempfis_
сообщение Mar 22 2011, 14:24
Сообщение #3


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

Группа: Свой
Сообщений: 1 001
Регистрация: 27-06-06
Пользователь №: 18 409



Цитата(addi @ Mar 22 2011, 17:48) *
К сожалению при
M = 9
N = 1
ClkDiv = 4
Fcco = 288 МГц

также получается 740000 вместо ожидаемых 921600(((.....


А куда Вы свои 921600 пытаетесь отправить? И через что (мах232 или ftdi)?
Не пробовали заводить уарт на 115200 или другом стандартном boadrate?
Может быть Ваше железо просто не тянет такой поток.

Вы уверены что точно установили частоту ?
Попробуйте подать на уарт частоту пониже напр Fcclk/2 (PCLKSEL0 |= (2ul<<8); //делитель на 2)

p.s. нашёл в эррате пункт 3.14 Flash.1: Operating speed out of on-chip flash is restricted в котором указано что мах. частота работы из flash ограничена в 60MHz вместо заявленных 72. Проверьте ревизию своего чипа.

Сообщение отредактировал mempfis_ - Mar 22 2011, 14:58
Go to the top of the page
 
+Quote Post
addi
сообщение Mar 22 2011, 17:28
Сообщение #4


Знающий
****

Группа: Участник
Сообщений: 679
Регистрация: 9-08-06
Пользователь №: 19 422



Цитата(mempfis_ @ Mar 22 2011, 17:24) *
А куда Вы свои 921600 пытаетесь отправить? И через что (мах232 или ftdi)?
Не пробовали заводить уарт на 115200 или другом стандартном boadrate?
Может быть Ваше железо просто не тянет такой поток.

Вы уверены что точно установили частоту ?
Попробуйте подать на уарт частоту пониже напр Fcclk/2 (PCLKSEL0 |= (2ul<<8); //делитель на 2)

p.s. нашёл в эррате пункт 3.14 Flash.1: Operating speed out of on-chip flash is restricted в котором указано что мах. частота работы из flash ограничена в 60MHz вместо заявленных 72. Проверьте ревизию своего чипа.

Спасибо большое за поддержку
Я пытаюсь разогнатся до 921600 для того чтобы по блютуш(WT32) принимать данные на 550 кб/с
Попробую разогнатся на 60 МГц), если конечно получится добится 60 МГц....
Go to the top of the page
 
+Quote Post
addi
сообщение Mar 23 2011, 04:42
Сообщение #5


Знающий
****

Группа: Участник
Сообщений: 679
Регистрация: 9-08-06
Пользователь №: 19 422



Цитата(addi @ Mar 22 2011, 20:28) *
Спасибо большое за поддержку
Я пытаюсь разогнатся до 921600 для того чтобы по блютуш(WT32) принимать данные на 550 кб/с
Попробую разогнатся на 60 МГц), если конечно получится добится 60 МГц....

не вышло(((....
M = 225
N = 25
clkdiv= 5
рассчитывал на 60 , в итоге рассчитывается на 57600000

Сответственно получается для ЮАРТ:

DL = 3, DIV = 3, MUl = 10

Скорость та же(

чего та совсем не понятна как настраивать.....
Go to the top of the page
 
+Quote Post
mempfis_
сообщение Mar 23 2011, 09:13
Сообщение #6


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

Группа: Свой
Сообщений: 1 001
Регистрация: 27-06-06
Пользователь №: 18 409



Возможно Вы всё настраиваете правильно, просто скорость большая.
Если есть возможность поставте кварц из серии 7372800/14745600 - для них точно можно будет подобрать M/N такими чтобы Fpclk/(16*baudrate) было целым числом. Тогда дробный делитель вообще не нужно будет использовать.
Go to the top of the page
 
+Quote Post



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

 


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


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