|
LPC210x - Настоящий ли там PLL? |
|
|
|
Jul 16 2009, 07:25
|

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

|
Возник вопрос в связи с тем, что надо сделать устройство с ногодрыгом, синхронным с внешней тактовой. В LPC210x для тактирования ядра есть PLL. Однако, в даташите (и мануале) совсем не видать параметров сего модуля. Интересует, настоящий ли там PLL или какой FLL - т.е. удерживается ли тактовая частота проца с точностью до фазы?
Может быть кто из форумчан проверял этот момент? Или, может быть, имеет возможность уделить пол-часа времени для проверки? Или вообще, знает NXP'шный документ, освещающий этот вопрос?
--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
|
|
|
|
|
 |
Ответов
|
Jul 16 2009, 10:43
|

Йа моск ;)
     
Группа: Модераторы
Сообщений: 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
--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
|
|
|
|
|
Jul 16 2009, 12:13
|
Частый гость
 
Группа: Участник
Сообщений: 149
Регистрация: 2-06-08
Из: Москва
Пользователь №: 38 003

|
Цитата(Rst7 @ Jul 16 2009, 14:43)  Дык глаз-диаграммы сигнала с шевелящегося пина (развертка засинхронизирована с частотой кварца) с накоплением в десяток миллисекунд будет вполне достаточно. К своему стыду я не знаю что такое глазковая диаграмма, т.е. как ее грамотно получить (кнопки на моем осциллоскопе с соответствующей надписью нет, в инструкции тоже не нашел). Если сможете дать хорошую ссылку то постараюсь сделать. Опять же вопрос - будет ли заменой следующее измерение: синхронизируемся от кварца, развертываем период сигнала на весь экран и делаем накопление за некоторое время (до бесконечности)? Соответственно на экране получим полосу определенной ширины формой повторяющей сигнал, и чем она уже тем меньше фазовый шум (надеюсь я правильно понимаю).
|
|
|
|
Сообщений в этой теме
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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|