|
pll в цык-2, как сделать |
|
|
|
 |
Ответов
|
Dec 9 2009, 01:01
|
Частый гость
 
Группа: Участник
Сообщений: 118
Регистрация: 13-09-09
Пользователь №: 52 331

|
Подключил PLL следующим образом. В мегавизарде сформировал ALTPLL. Далее перенёс компонент в основной текст: Код library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_unsigned.all; use IEEE.std_logic_arith.all;
entity test is port ( Clk:in std_logic; --входной сигнал синхронизации 50 МГц ClkOut:out std_logic; --выходной умноженный сигнал CounterOut:out std_logic_vector(7 downto 0) ); end test;
architecture test_arch of test is
signal c:std_logic; --сигнал на выходе умножителя
signal counter:std_logic_vector(7 downto 0):=(others => '0'); --счётчик
component pll port ( inclk0:in std_logic:='0'; c0:out std_logic );
end component;
begin
pll_inst:pll port map(Clk,c);
process(c) begin if rising_edge(c) then counter<=counter+1; end if; end process;
ClkOut<=counter(0); --ошибка
Counterout(0)<=counter(0); --нет ошибки
end test_arch; 1) Правильно ли сделал? Также интересуют следующие вопросы: 2) Есть 4 режима PLL: normal mode, source-syncronous mode, in zero-delay buffer mode, with no compensation какой из этих режимов позволяет выводить сигнал с PLL, чтоб он начинался с той же фазы что и входной сигнал? (тобишь синхронно менялся - в 1 такт входного сигнала вписывалось целое число тактов выходного сигнала с PLL) ? 3) что вообще даёт эта компенсация? Теорию ФАПЧ знаю (ГУН, ФНЧ, делитель, опорный генератор, ...) 4) В мега-визарде указываются входная частота и градация по скорости. Зачем? Не для параметров ФНЧ случайно ли? Заметил что если "обмануть" мегавизард - сказать ему входную частоту в 2 раза меньше, то стабильность частоты на выходе PLL улучшается (даже при самой безалаберной разводке цепей питания/земли PLL) 5) выбрал режим zero delay buffer. Почему-то в этом режиме из-за присвоения бита счётчика на выходной сигнал - ошибка(см. текст программы ыше - "ClkOut<=counter(0); --ошибка"). Тескт ошибки: Цитата Error: PLL "pll:pll_inst|altpll:altpll_component|pll" COMPENSATE_CLOCK port CLK0 must feed an output pin when OPERATION_MODE is set to ZERO_DELAY_BUFFER Error: Quartus II Analysis & Synthesis was unsuccessful. 1 error, 16 warnings Error: Peak virtual memory: 188 megabytes Error: Processing ended: Wed Dec 09 10:47:14 2009 Error: Elapsed time: 00:00:02 Error: Total CPU time (on all processors): 00:00:02 Error: Quartus II Full Compilation was unsuccessful. 3 errors, 16 warnings А конструкция типа: Counterout(0)<=counter(0); - не даёт ошибки. 6) можно ли более тонко осуществить настройку PLL? Например увеличить время установления, поставив более низкочастотный ФНЧ, и увеличить стабильность (без улучшения разводки питания/земли)? 7) каков процент отклонения частоты PLL на 150 МГц при отсутствии феритовой бусины и аналоговых полигонов? (входная кварцевый генератор 50мгц) - только 10нф +0.1мкф + 10мкф всё керамика
|
|
|
|
|
Dec 9 2009, 03:58
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(%-) @ Dec 8 2009, 19:01)  1) Правильно ли сделал? Собрать, проверить. Цитата 2) Есть 4 режима PLL: normal mode, source-syncronous mode, in zero-delay buffer mode, with no compensation какой из этих режимов позволяет выводить сигнал с PLL, чтоб он начинался с той же фазы что и входной сигнал? (тобишь синхронно менялся - в 1 такт входного сигнала вписывалось целое число тактов выходного сигнала с PLL) ? 3) что вообще даёт эта компенсация? Теорию ФАПЧ знаю (ГУН, ФНЧ, делитель, опорный генератор, ...) в даташите на целевую фпга все разрисовано и объяснено. изучайте, там все есть. Цитата 5) выбрал режим zero delay buffer. Почему-то в этом режиме из-за присвоения бита счётчика на выходной сигнал - ошибка(см. текст программы ыше - "ClkOut<=counter(0); --ошибка"). телепаты в отпуске Цитата 6) можно ли более тонко осуществить настройку PLL? Например увеличить время установления, поставив более низкочастотный ФНЧ, и увеличить стабильность (без улучшения разводки питания/земли)? можно но не во всех фпга.
--------------------
|
|
|
|
|
Dec 9 2009, 04:44
|
Частый гость
 
Группа: Участник
Сообщений: 118
Регистрация: 13-09-09
Пользователь №: 52 331

|
Цитата(des00 @ Dec 9 2009, 07:58)  телепаты в отпуске тут вы погорячились. лог ошибки привёл в предыдущем сообщении. смотрите внимательнее  на счёт мегавизарда. чой-то он бред лепит - прошу из входной частоты 50 мгц сделать 100 мгц, выбираю умножитель 2 делитель 1 он автоматом делает частоту VCO 800 МГц альтера требует чтобы 10 – 400 MHz без вывода на внешнюю ногу. на вход допускается 11 – 311 MHz какая польза тогда от мегавизарда, если потом файл компонента вручную править прийдётся? (исправлять множители) и вообще он как-то странно подбирает частоту ГУН зависимо от коэффициентов mul, div скриншот ниже
Эскизы прикрепленных изображений
|
|
|
|
|
Dec 9 2009, 05:37
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(%-) @ Dec 8 2009, 22:44)  тут вы погорячились. лог ошибки привёл в предыдущем сообщении. смотрите внимательнее  Да не заметил. За это научу вас пользоваться RTFM  Ответ лежит там : Cyclone II Device Handbook, Volume 1 -> Section II. Clock Management -> Chapter 7. PLLs in Cyclone II Devices -> Clock Feedback Modes -> Zero Delay Buffer Mode -> In zero delay buffer mode, the clock signal on the PLL external clock output pin (FLL<#>_OUT), fed by the c2 counter, is phase-aligned with the PLL input clock for zero delay. И т.д. ответ лежи на поверхности Кстати был не прав, для Source synchronus систем режим PLL называется по другому. Для асинхронной нарезки вам достаточно режима Normal Цитата на счёт мегавизарда. чой-то он бред лепит - прошу из входной частоты 50 мгц сделать 100 мгц, выбираю умножитель 2 делитель 1 он автоматом делает частоту VCO 800 МГц  читаем Cyclone II Device Handbook, Volume 1 -> Section II. Clock Management -> Chapter 7. PLLs in Cyclone II Devices -> Hardware Features. Ответ лежит там Цитата какая польза тогда от мегавизарда, если потом файл компонента вручную править прийдётся? (исправлять множители) и вообще он как-то странно подбирает частоту ГУН зависимо от коэффициентов mul, div Думаю что проблема не в мегавизарде, а в вашем не понимании что происходит. Или вы думаете что разработчики альтеры настолько глупы что сделали не рабочий генератор PLL, который там со времен первых сборок квартуса. И это никто за 10-15 лет не заметил ? %)
--------------------
|
|
|
|
|
Dec 9 2009, 06:11
|
Частый гость
 
Группа: Участник
Сообщений: 118
Регистрация: 13-09-09
Пользователь №: 52 331

|
Цитата(des00 @ Dec 9 2009, 09:37)  Кстати был не прав, для Source synchronus систем режим PLL называется по другому. Для асинхронной нарезки вам достаточно режима Normal спасибо за разъяснения и RTFM но всё-таки частоты VCO=800..1000 МГц вызывают у меня недоумение по поводу возможности их реализации в ПЛИС  наверняка - чем больше частоты, тем более качественно нужно разводить цепи питания PLL На счёт асинхронной нарезки. Согласно теореме Котельникова - нам нужен сигнал с периодом как минимум в 2 раза выше, чем исходный период. Значит при частоте шины 133 МГц для того чтобы нарезать сигнал с точностью до 1 CLK , нам нужно частоту PLL выбрать не менее 266 МГц. Я прав или нет?
|
|
|
|
|
Dec 9 2009, 06:36
|
iBuilder©
   
Группа: Свой
Сообщений: 519
Регистрация: 14-07-04
Из: Минск
Пользователь №: 322

|
Цитата(%-) @ Dec 9 2009, 09:11)  но всё-таки частоты VCO=800..1000 МГц вызывают у меня недоумение по поводу возможности их реализации в ПЛИС  На счёт асинхронной нарезки. Согласно теореме Котельникова - нам нужен сигнал с периодом как минимум в 2 раза выше, чем исходный период. Значит при частоте шины 133 МГц для того чтобы нарезать сигнал с точностью до 1 CLK , нам нужно частоту PLL выбрать не менее 266 МГц. 1. насчёт VCO я уже написал, что это за частота. 2. Кательников это хорошо, но применительно к ПЛИС, это имеет косвенное отношение, т.к. вариаций времянки много. Учитывая что Вы топчетесь с этой шиной уже долго. Я давно, когда начинал этим заниматься, смотрел как делает асинронную шину альтера в своих IP модулях. Проанализируйте. Может на опенкорес что найдёте. На уартах, совместимых со стандартными должны ставить асинхронную шину, их и посмотрите. Я уже не помню как там у Вас задача ставилась исходно, если 133 - это просто шина, это одно. Если это темп записи, это уже совсем другое. Первое можно и без высокой частоты сделать. Смысл тут уже Вам писали много, повторяться не вижу смысла. Попробуйте сделать ещё заход с этой стороны-проанализируйте доступные дизайны. Что не поймёте - спросите. Только вопросы поконкретнее, после того как сами подумаете...
|
|
|
|
Сообщений в этой теме
%-) pll в цык-2 Dec 6 2009, 14:01 Kuzmi4 MegaWizard Plug-In Manager спасёт отца русской дем... Dec 6 2009, 14:33 Methane Цитата(%-) @ Dec 6 2009, 16:01) ... Dec 6 2009, 14:38     des00 Цитата(%-) @ Dec 9 2009, 00:11) ... Dec 9 2009, 06:23      %-) Цитата(des00 @ Dec 9 2009, 10:23) но у ва... Dec 9 2009, 07:21       des00 Цитата(%-) @ Dec 9 2009, 01:21) ... Dec 9 2009, 07:50        Builder Цитата(des00 @ Dec 9 2009, 09:50) ИМХО я ... Dec 9 2009, 08:09         %-) Цитата(Builder @ Dec 9 2009, 12:09) Поищу... Dec 9 2009, 08:52          Builder Цитата(%-) @ Dec 9 2009, 10:52) ... Dec 9 2009, 09:16   Builder Цитата(%-) @ Dec 9 2009, 07:44) ... Dec 9 2009, 06:21 %-) 1) с PLL разобрался. работает
2) с памятью разобр... Dec 9 2009, 11:13 Builder Может проблема в этом?
Цитата(%-) @ ... Dec 9 2009, 11:21  %-) Цитата(Builder @ Dec 9 2009, 15:21) Реком... Dec 9 2009, 11:47  %-) Цитата(Builder @ Dec 9 2009, 15:21) Рискн... Dec 9 2009, 13:25 des00 Цитата(%-) @ Dec 9 2009, 05:13) ... Dec 9 2009, 12:01  %-) Цитата(des00 @ Dec 9 2009, 16:01) 1. как ... Dec 9 2009, 12:04   des00 Цитата(%-) @ Dec 9 2009, 06:04) ... Dec 9 2009, 17:29    %-) Цитата(des00 @ Dec 9 2009, 20:29) дорого ... Dec 9 2009, 23:28     des00 Цитата(%-) @ Dec 9 2009, 17:28) ... Dec 10 2009, 06:30 %-) Итак...
После осознанного перепрочтения всех свои... Dec 10 2009, 13:38 Builder Цитата(%-) @ Dec 10 2009, 15:38)... Dec 10 2009, 16:47  %-) Цитата(Builder @ Dec 10 2009, 19:47) Вы х... Dec 10 2009, 22:43   Builder Цитата(%-) @ Dec 11 2009, 00:43)... Dec 11 2009, 00:43    %-) Цитата(Builder @ Dec 11 2009, 03:43) Вот ... Dec 11 2009, 02:58 des00 Цитата(%-) @ Dec 10 2009, 07:38)... Dec 11 2009, 05:01 %-) Цитата(des00 @ Dec 11 2009, 08:01) если в... Dec 11 2009, 05:35  des00 Цитата(%-) @ Dec 10 2009, 23:35)... Dec 11 2009, 06:30
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|