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

 
 
3 страниц V  < 1 2 3 >  
Reply to this topicStart new topic
> LPC210x - Настоящий ли там PLL?
Rst7
сообщение Jul 16 2009, 11:12
Сообщение #16


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

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



Цитата
Да, допустим, будет иметь джиттер полтакта от частоты после умножителя (сотни мегагерц)- это критично?


Мне надо, чтобы фронты шевеления GPIO имели постоянный фазовый сдвиг относительно входной частоты (более-менее постоянный). Относительно той частоты, которая потом умножается.


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


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Rst7 @ Jul 16 2009, 14:12) *
Мне надо, чтобы фронты шевеления GPIO имели постоянный фазовый сдвиг относительно входной частоты (более-менее постоянный). Относительно той частоты, которая потом умножается.

Если не будет деления, а множитель на 4 то не вижу никаких причин, что-бы от реализации PLL чего-либо зависило. Кстати, судя по наличию нижней границы частоты, PLL там "аналоговый", но если Вам нужен LPC210x, то тестировать LPC23 некорректно - там явно другой PLL.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Rst7
сообщение Jul 16 2009, 11:27
Сообщение #18


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

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



Цитата
что-бы от реализации PLL чего-либо зависило.


Если там действительно PLL (ФАПЧ) - то все будет правильно. А вот если там словом PLL обозвано, например, АПЧ (без фазы), то (_*_).

Смущает то, что PLL у Atmel'а имеет внешний фильтр. Возможно - дань традиции или "ниасилили", но...

Цитата
но если Вам нужен LPC210x, то тестировать LPC23 некорректно - там явно другой PLL.


Думаете? Частота генератора выше, а вот реализация врядли сильно отличается.


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


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

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



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

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


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

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



Цитата
Соответственно на экране получим полосу определенной ширины формой повторяющей сигнал, и чем она уже тем меньше фазовый шум (надеюсь я правильно понимаю).


Дык это и есть глаз-диаграмма, грубо говоря.


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


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Rst7 @ Jul 16 2009, 14:27) *
Думаете? Частота генератора выше, а вот реализация врядли сильно отличается.

И минимальная опорная еще от 32KHz вместо 10MHz у LPC21xx. Cущественная разница. Вам нужен дополнительный простор для фантазий? Похоже, если пробовать, то Вам чего-то конкретно что-то LPC2106/01 требуется.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Rst7
сообщение Jul 16 2009, 13:15
Сообщение #22


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

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



Цитата
И минимальная опорная еще от 32KHz вместо 10MHz у LPC21xx.


Дополнительным делителем. Ладно, попробуем на 2378 и понадеемся, что в 210x/01 тоже самое. Должен же быть фарт в жизни, тем более, что путь для отступления есть smile.gif


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


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Rst7 @ Jul 16 2009, 16:15) *
Дополнительным делителем.

Причем тут делитель? Минимум входной частоты от 32KHz вместо 10MHz. Совсем совсем другие условия работы ФАПЧ.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Rst7
сообщение Jul 16 2009, 13:59
Сообщение #24


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

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



Цитата
Причем тут делитель?


Ну я так мыслю, что это точно отдельным костылем обеспечивается (и дополнительными битами в делителе M-divider на рисунке 16 в UM10211 LPC23XX User Manual). Хотя, конечно, Вы правы - нужна другая постоянная фильтра. Если он там есть, кстати...


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


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Rst7 @ Jul 16 2009, 16:59) *
Если он там есть, кстати...

При этом у LPC23/4 есть встроенный генератор, т.е. какая никакая реактивность в потрохах реализована, а у 210x такого и близко нет... Если уж пробовать, то на реальном железе. Иначе просто кинте монетку wink.gif


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Jul 16 2009, 14:43
Сообщение #26


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(zltigo @ Jul 16 2009, 16:03) *
Ну железа всякого и у меня много. Измерители того-же джитера имеются (правда под телекомуникации - 2048-8448-25776-34368 килобит)... Если на LPC21xx Могу, например, на олимексовcкой P2148 (без FAST GPIO) кварц -любой, попробовать.

А разве LPC2148 бывает без FastGPIO ?


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jul 16 2009, 16:25
Сообщение #27


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(GetSmart @ Jul 16 2009, 17:43) *
А разве LPC2148 бывает без FastGPIO ?

Описался sad.gif там сейчас запаян один и первых 2138 - без Fast


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
smac
сообщение Jul 16 2009, 17:04
Сообщение #28


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

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



[attachment=34624:scope_0.png]
Цитата(Rst7 @ Jul 16 2009, 16:16) *
Дык это и есть глаз-диаграмма, грубо говоря.

Наверное я слишком опрометчиво предложил Вам помощь, но я постараюсь оправдать ожидания.
Итак что сейчас есть.
0. Запустить Ваш пример мне не удалось, наверное было моей ошибкой написать про IAR ибо не волоку в нем нифига
1. Попробовал сделать свой пример, пока вот такой (см. вложение) на WinARM (тоже волоку в нем слабо). Там настройки GPIO, PLL и MAM сделанные практически тупым копипастом с Вашего проекта, единственное не стал заморачиваться с подсаживанием IARовских дефайнов (после нехитрых манипуляций - закомментирования конструкции{ if трам пам пам; error "этот файл только для ЯРА" endif} - подсадить не удалось) поэтому наскоро сделал свои дефайны битов
3. Пока функция дрыганья ногами не размещена в ОЗУ (просто делал чтобы посмотреть будут-ли шевеления ногами и т. п.), сейчас буду разбираться как разместиь ее где нада с помощью WinARM.
Продолжение в следующем посте
CODE
#include
#include
#include "lpc23xx.h"

void StartPLL(void);
void GPIOinit(void);

int main(void){
// MAM init
#define MODECTRL 0 //MODECTRL 1:0
#define CYCLES 0 //CYCLES 2:0
MAMCR = 0;
MAMTIM = 3< 40 MHz
MAMCR = 2<
StartPLL();
GPIOinit();
FIO2DIR = (1<<4)|(1<<3);
while(1)
FIO2PIN ^= (1<<4)|(1<<3);
return 0;
}


void StartPLL(void)
{
#define OSCRANGE 4
#define OSCEN 5
#define OSCSTAT 6

#define PLLC 1
#define PLLE 0

#define CLKSRC 0

#define MSEL 0 //MSEL 14:0
#define NSEL 16 //NSEL23:16

#define PLLSTAT_PLLC 25
#define PLLSTAT_PLLE 24
#define PLOCK 26
#define PCLK_GPIO 2 //PCLK_GPIO 3:2

// 1. Init OSC
SCS &=~(1< SCS |=(1< // 2. Wait for OSC ready
while (!(SCS&(1<
// 3. Disconnect PLL
PLLCON &=~(1< PLLFEED = 0xAA;
PLLFEED = 0x55;
// 4. Disable PLL
PLLCON &=~(1< PLLFEED = 0xAA;
PLLFEED = 0x55;
// 5. Select source clock for PLL
CLKSRCSEL = (1<
// 6. Set PLL settings 288 MHz (from 12MHz), Fpll=(2*12(M)*12MHz/1(N))
PLLCFG = ((12-1)<< PLLFEED = 0xAA;
PLLFEED = 0x55;
// 7. Enable PLL
PLLCON |= (1< PLLFEED = 0xAA;
PLLFEED = 0x55;
// 8. Wait for the PLL to achieve lock
while(!(PLLSTAT&(1<
// 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 |= 1<
// 10. Connect the PLL
PLLCON |= (1< PLLFEED = 0xAA;
PLLFEED = 0x55;
}

void GPIOinit(void)
{
#define GPIOM 0
#define IO0DIR (*(volatile unsigned long *)0xE0028008)
#define IO1DIR (*(volatile unsigned long *)0xE0028018)
// Set to inputs
IO0DIR =\
IO1DIR =\
FIO0DIR =\
FIO1DIR =\
FIO2DIR =\
FIO3DIR =\
FIO4DIR = 0;

// Enable Fast GPIO0,1
SCS |=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;
}


Теперь картинки (не знаю как загрузятся, поэтому номера называть не буду)
Легенда общая: желтый - сигнал с кварца (выход генератора контроллера)
зеленый - сигнал с P2.3
Правильно ли я понял технику измерений? Выскажите замечания, поправки, наставления на путь истинный smile.gif
На одном из рисунков, где присутствует только сигнал с порта синхронизация велась от этого сигнала, приведен он только для оценки его формы и частоты.
Да не нравится мне что-то форма, но куда копать не знаю - помехи, кривая разводка платы, кривые измерения?

Да, в завершение.
Сейчас уже достаточно поздно, с работы выгоняют, поэтому завтра продолжу измерения, а пока посмотрю как в ОЗУ разместить функцию. В общем, второй этап измерений завтра ближе к вечеру.
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
Rst7
сообщение Jul 16 2009, 17:27
Сообщение #29


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

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



Цитата
Наверное я слишком опрометчиво предложил Вам помощь, но я постараюсь оправдать ожидания.


Все отлично, никакой опрометчивости.

Цитата
Правильно ли я понял технику измерений?


Походу измерили Вы все верно. Первый рисунок (на котором 2 с копейками периодов кварца) на мой вопрос ответил - явно PLL.

Мусор похоже лезет через землю. Вам надо было земляные щупы осциллографа зацепить рядом с процессором. Но это уже не важно.

Нижний рисунок (на котором только ногодрыг) показывает, что гнусь справился с оптимизацией Common Subexpression Elimination - 9 тактов () для приведенного кода соответствует LDR (3 такта), EOR (1 такт), STR (2 такта), B (3 такта) - ничего лишнего.

На чем можем и закончить. Благодарю за помощь, будете в Харькове - с меня пиво.


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


Местный
***

Группа: Свой
Сообщений: 272
Регистрация: 3-06-06
Пользователь №: 17 737



Цитата(Rst7 @ Jul 16 2009, 20:27) *
На чем можем и закончить.


Если не секрет, расскажите где нужна синхронность с тактовой частотой? Я держал в руках девайс в котором две AVR-ки тактировались одним генератором. Разработчики сказали, что это максимально увеличивает скорость обмена по SPI между процами. AVR и LPC конечно не одно и тоже, но раз нет никаких задержек по фазе, можно было бы затактировав два проца, использовать это для того же ускорения передачи по SPI(к примеру)? Или бред?
Go to the top of the page
 
+Quote Post

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

 


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


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