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

 
 
> LPC210x - Настоящий ли там PLL?
Rst7
сообщение Jul 16 2009, 07:25
Сообщение #1


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Возник вопрос в связи с тем, что надо сделать устройство с ногодрыгом, синхронным с внешней тактовой. В LPC210x для тактирования ядра есть PLL. Однако, в даташите (и мануале) совсем не видать параметров сего модуля. Интересует, настоящий ли там PLL или какой FLL - т.е. удерживается ли тактовая частота проца с точностью до фазы?

Может быть кто из форумчан проверял этот момент? Или, может быть, имеет возможность уделить пол-часа времени для проверки? Или вообще, знает NXP'шный документ, освещающий этот вопрос?


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Rst7
сообщение Jul 16 2009, 10:43
Сообщение #2


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Цитата
На глаз не корректно, если только не описать условия синхронихации и ждать-ждать-ждать....


Дык глаз-диаграммы сигнала с шевелящегося пина (развертка засинхронизирована с частотой кварца) с накоплением в десяток миллисекунд будет вполне достаточно.

CODE

#include <NXP/iolpc2378.h>
#include <intrinsics.h>

__ramfunc void ToggleIO(void)
{
FIO2DIR = 1<<3; //pin P2.3 configured as output
for(;;)
{
FIO2SET = 1<<3;
FIO2CLR = 1<<3;
FIO2SET = 1<<3;
FIO2CLR = 1<<3;
FIO2SET = 1<<3;
FIO2CLR = 1<<3;
__no_operation();
}
}

void StartPLL(void)
{
// 1. Init OSC
SCS_bit.OSCRANGE = 0;
SCS_bit.OSCEN = 1;
// 2. Wait for OSC ready
while(!SCS_bit.OSCSTAT);
// 3. Disconnect PLL
PLLCON_bit.PLLC = 0;
PLLFEED = 0xAA;
PLLFEED = 0x55;
// 4. Disable PLL
PLLCON_bit.PLLE = 0;
PLLFEED = 0xAA;
PLLFEED = 0x55;
// 5. Select source clock for PLL
CLKSRCSEL_bit.CLKSRC = 1; // Selects the main oscillator as a PLL clock source.
// 6. Set PLL settings 288 MHz (from 12MHz), Fpll=(2*12(M)*12MHz/1(N))
PLLCFG_bit.MSEL = 12-1;
PLLCFG_bit.NSEL = 1-1;
PLLFEED = 0xAA;
PLLFEED = 0x55;
// 7. Enable PLL
PLLCON_bit.PLLE = 1;
PLLFEED = 0xAA;
PLLFEED = 0x55;
// 8. Wait for the PLL to achieve lock
while(!PLLSTAT_bit.PLOCK);
// 9. Set clk divider settings
CCLKCFG = 6-1; // 1/6 Fpll
USBCLKCFG = 6-1; // 1/6 Fpll - 48 MHz
PCLKSEL0 = PCLKSEL1 = 0; // other peripherals
PCLKSEL1_bit.PCLK_GPIO = 1; //GPIO prescaller 1:1
// 10. Connect the PLL
PLLCON_bit.PLLC = 1;
PLLFEED = 0xAA;
PLLFEED = 0x55;
}

void GPIOinit(void)
{
// Set to inputs
IO0DIR = \
IO1DIR = \
FIO0DIR = \
FIO1DIR = \
FIO2DIR = \
FIO3DIR = \
FIO4DIR = 0;

// Enable Fast GPIO0,1
SCS_bit.GPIOM = 1;

// clear mask registers
FIO0MASK =\
FIO1MASK =\
FIO2MASK =\
FIO3MASK =\
FIO4MASK = 0;

// Reset all GPIO pins to default primary function
PINSEL0 =\
PINSEL1 =\
PINSEL2 =\
PINSEL3 =\
PINSEL4 =\
PINSEL5 =\
PINSEL6 =\
PINSEL7 =\
PINSEL8 =\
PINSEL9 =\
PINSEL10= 0;
}


int main()
{
// MAM init
MAMCR_bit.MODECTRL = 0;
MAMTIM_bit.CYCLES = 3; // FCLK > 40 MHz
MAMCR_bit.MODECTRL = 2; // MAM functions fully enabled
StartPLL();
GPIOinit();
ToggleIO();
return 0;
}


Нечто типа такого. Код дергает ножкой P2.3, частота кварца 12МГц, PLL - x4, т.е. такты проца 48МГц, значит сигнал на ножке будет как раз с частотой кварца (каждое состояние - 2 такта, итого период 4 такта). Собирается в иаре 5.20 в ARM-режиме с макс. оптимизацией по скорости - то что надо.

Положу сразу весь проект до кучи (таргет - Debug).Прикрепленный файл  TestPLL.zip ( 3.89 килобайт ) Кол-во скачиваний: 131


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
smac
сообщение Jul 16 2009, 12:13
Сообщение #3


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

Группа: Участник
Сообщений: 149
Регистрация: 2-06-08
Из: Москва
Пользователь №: 38 003



Цитата(Rst7 @ Jul 16 2009, 14:43) *
Дык глаз-диаграммы сигнала с шевелящегося пина (развертка засинхронизирована с частотой кварца) с накоплением в десяток миллисекунд будет вполне достаточно.

К своему стыду я не знаю что такое глазковая диаграмма, т.е. как ее грамотно получить (кнопки на моем осциллоскопе с соответствующей надписью нет, в инструкции тоже не нашел). Если сможете дать хорошую ссылку то постараюсь сделать. Опять же вопрос - будет ли заменой следующее измерение: синхронизируемся от кварца, развертываем период сигнала на весь экран и делаем накопление за некоторое время (до бесконечности)?
Соответственно на экране получим полосу определенной ширины формой повторяющей сигнал, и чем она уже тем меньше фазовый шум (надеюсь я правильно понимаю).
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Rst7   LPC210x - Настоящий ли там PLL?   Jul 16 2009, 07:25
- - rezident   А здесь AN10331 - Philips LPC2xxx family phase loc...   Jul 16 2009, 08:30
- - Rst7   ЦитатаА здесь ничего полезного нет? Именно по мое...   Jul 16 2009, 08:32
|- - dimka76   Цитата(Rst7 @ Jul 16 2009, 12:32) Именно ...   Jul 16 2009, 08:37
- - Rst7   Цитатаа здесь ? Ну о том, что в SAM7 именно PLL, ...   Jul 16 2009, 08:49
|- - smac   Цитата(Rst7 @ Jul 16 2009, 12:49) Я, коне...   Jul 16 2009, 09:06
- - Rst7   ЦитатаМогу попробовать помочь О, спасибо. Какая у...   Jul 16 2009, 09:12
|- - klen   а нафег выкинуть фапч и поключить выход кварцевого...   Jul 16 2009, 09:45
|- - etoja   У меня есть своя плата на процессоре LPC2138, такт...   Jul 16 2009, 09:52
||- - klen   значит обычная фапч внутри с фазовым детектором, ...   Jul 16 2009, 09:54
|- - zltigo   Цитата(Rst7 @ Jul 16 2009, 12:12) Я тогда...   Jul 16 2009, 10:03
|- - GetSmart   Цитата(zltigo @ Jul 16 2009, 16:03) Ну же...   Jul 16 2009, 14:43
|- - zltigo   Цитата(GetSmart @ Jul 16 2009, 17:43) А р...   Jul 16 2009, 16:25
- - Rst7   Цитата(klen @ Jul 16 2009, 12:45) а нафег...   Jul 16 2009, 10:21
|- - zltigo   Цитата(Rst7 @ Jul 16 2009, 13:21) Это спа...   Jul 16 2009, 10:28
|- - zltigo   Цитата(Rst7 @ Jul 16 2009, 13:43) Нечто т...   Jul 16 2009, 10:50
- - Rst7   ЦитатаДа, допустим, будет иметь джиттер полтакта о...   Jul 16 2009, 11:12
|- - zltigo   Цитата(Rst7 @ Jul 16 2009, 14:12) Мне над...   Jul 16 2009, 11:18
- - Rst7   Цитатачто-бы от реализации PLL чего-либо зависило....   Jul 16 2009, 11:27
|- - zltigo   Цитата(Rst7 @ Jul 16 2009, 14:27) Думаете...   Jul 16 2009, 13:00
- - Rst7   ЦитатаСоответственно на экране получим полосу опре...   Jul 16 2009, 12:16
|- - smac   Цитата(Rst7 @ Jul 16 2009, 16:16) Дык э...   Jul 16 2009, 17:04
- - Rst7   ЦитатаИ минимальная опорная еще от 32KHz вместо 10...   Jul 16 2009, 13:15
|- - zltigo   Цитата(Rst7 @ Jul 16 2009, 16:15) Дополни...   Jul 16 2009, 13:51
- - Rst7   ЦитатаПричем тут делитель? Ну я так мыслю, что эт...   Jul 16 2009, 13:59
|- - zltigo   Цитата(Rst7 @ Jul 16 2009, 16:59) Если он...   Jul 16 2009, 14:07
- - Rst7   ЦитатаНаверное я слишком опрометчиво предложил Вам...   Jul 16 2009, 17:27
|- - Wano   Цитата(Rst7 @ Jul 16 2009, 20:27) На чем ...   Jul 16 2009, 18:12
|- - smac   Цитата(Rst7 @ Jul 16 2009, 21:27) На чем ...   Jul 16 2009, 19:15
- - Rst7   ЦитатаЕсли не секрет, расскажите где нужна синхрон...   Jul 16 2009, 18:29
- - Genadi Zawidowski   Цитата(Rst7 @ Jul 16 2009, 11:25) т.е. уд...   Jul 16 2009, 22:33
|- - Rst7   Цитата(Genadi Zawidowski @ Jul 17 2009, 01...   Jul 17 2009, 05:38
|- - Wano   Почти из шита , но с подписями. Только вот в UM23...   Jul 17 2009, 13:31
- - Rst7   ЦитатаТолько вот в UM23ХХ ещё нарисованы странные ...   Jul 17 2009, 13:38


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

 


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


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