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

 
 
> Управляемый делитель тактовой частоты(клоков)
shamrel
сообщение Jan 14 2016, 05:28
Сообщение #1


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

Группа: Свой
Сообщений: 132
Регистрация: 10-10-07
Из: Новосибирск
Пользователь №: 31 229



Приветствую!
В системе есть тактовая частота Fclk = 200МГц. От этой частоты нужно тактировать АЦП, ЦАП и цепочки фильтров. Причем, частота выборки устанавливается из вне (передается параметр) и может быть любой из Fclk/N , где N -- целое число 16-битное число (включая 1).
Как можно это сделать? Делитель на счетчике с загрузкой? Выход не будет синхронным с основной частотой, да и минимальный коэффициент деления 2, а нужно 1 (нет деления). Использовать перестраиваемый PLL? Сильно громоздко получается (в Altera), или может я не до конца разобрался как это сделать. Или смириться с асинхронностью схемы?


--------------------
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Dmitriyspb
сообщение Jan 14 2016, 07:20
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 397
Регистрация: 21-11-12
Из: Россия г. Санкт-Петербург
Пользователь №: 74 498



Цитата(shamrel @ Jan 14 2016, 08:28) *
Приветствую!
В системе есть тактовая частота Fclk = 200МГц. От этой частоты нужно тактировать АЦП, ЦАП и цепочки фильтров. Причем, частота выборки устанавливается из вне (передается параметр) и может быть любой из Fclk/N , где N -- целое число 16-битное число (включая 1).
Как можно это сделать? Делитель на счетчике с загрузкой? Выход не будет синхронным с основной частотой, да и минимальный коэффициент деления 2, а нужно 1 (нет деления). Использовать перестраиваемый PLL? Сильно громоздко получается (в Altera), или может я не до конца разобрался как это сделать. Или смириться с асинхронностью схемы?


Я делал это достаточно просто. АЦП и ЦАП тактируются максимальной частотой, а содержимое регистров АЦП и ЦАП обнавляются с различной (программируемой) частотой. Т.о. такты я не трогаю - это глобальные цепи с постоянным с фиксированной частотой.

Вот частота обновления входного (для АЦП) регистра и выходного (для ЦАП) регистра и задают период дискретизации.

Нарисую времянки

__/'''\__/'''\__/'''\__/'''\__/'''\__/'''\__/'''\__/'''\__/'''\__/'''\__/'''\__/'''\__/'''\__/'''\__ Fclk = 200МГц

_/''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' CLOCK ENABLE для регистров АЦП и ЦАП для N = 1;

__/''''''''\____/''''''''\____/''''''''\____/''''''''\____/''''''''\____/''''''''\____/''''''''\____/ CLOCK ENABLE для регистров АЦП и ЦАП для N = 2;

__/''''''''\_________/''''''''\________/''''''''\________/''''''''\_________/''''''''\____ CLOCK ENABLE для регистров АЦП и ЦАП для N = 4;



ПРАВДА ЭТО ВАМ НАВЕРНОЕ НЕ ПОДОЙДЕТ=)))) ТУТ ДЕЛИТЕЛЬ КРАТНЫЙ 2


Цитата(Bad0512 @ Jan 14 2016, 08:39) *
Ставьте внешню целочисленную PLL и управляйте её настройками.


ИМХО, это единственный надежный вариант.

В ПЛИС системная частота должна быть постоянная.


--------------------
Победа - это когда N раз упал и N+1 раз встал.
Go to the top of the page
 
+Quote Post
shamrel
сообщение Jan 14 2016, 07:59
Сообщение #3


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

Группа: Свой
Сообщений: 132
Регистрация: 10-10-07
Из: Новосибирск
Пользователь №: 31 229



Vascom, имхо, мультиплексор внесет трудно прогнозируемую задержку. Особенно, если учесть, что исходные клоки (делитель 1) и клоки, после делителя (делитель на 2 и более) имеют всяко разную задержку. Да даже в идеале фаза будет смещена на 180.

Dmitriyspb, спасибо! Что-то похожее крутилось в голове, но не могло сформироваться! Собственно, делитель не кратный 2, думаю, не составит труда сделать. Главное, что б на выходе длительность разрешающего импульса была равна периоду задающего такта.

Внешний PLL -- наверное хорошо, но бюджет устройства крайне ограничен. Каждую лишнюю точку пайки считают.

P.S.: Dmitriyspb, отдельное вам спасибо, за то, что показали как в ASCII на диаграмме единичку рисовать, а то я все символом 'T' sm.gif



--------------------
Go to the top of the page
 
+Quote Post
Dmitriyspb
сообщение Jan 14 2016, 08:13
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 397
Регистрация: 21-11-12
Из: Россия г. Санкт-Петербург
Пользователь №: 74 498



Цитата(shamrel @ Jan 14 2016, 10:59) *
Главное, что б на выходе длительность разрешающего импульса была равна периоду задающего такта.


Если правильно сделаете формирователь импульсов, то все будет ровненько стоять

Цитата(Vascom @ Jan 14 2016, 11:01) *
То есть свой внешний клок 200МГц заводишь на PLL, с неё берёшь тоже 200МГц и с ним уже работаешь. Все задержки будут выровнены и выставлены как надо. Мультиплексоры тоже не обычные а специальные клоковые используешь. Я так не помню как примитив называется, но он точно есть.


Не знаю про такой способ... Если это действительно можно, тогда хорошо. Но я бы так не стал делать

Цитата(Vascom @ Jan 14 2016, 10:54) *
Просто с постоянной частотой значительно надёжнее.


Любое устройство должно работать надежно=))))))))



--------------------
Победа - это когда N раз упал и N+1 раз встал.
Go to the top of the page
 
+Quote Post
Vascom
сообщение Jan 14 2016, 08:16
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 232
Регистрация: 2-08-07
Из: Москва
Пользователь №: 29 534



Цитата(Dmitriyspb @ Jan 14 2016, 11:13) *
Не знаю про такой способ... Если это действительно можно, тогда хорошо. Но я бы так не стал делать

Это единственный нормальный способ, если требуется от внешнего клока формировать ещё какие-то клоки, даже статически. PLL, подкручивая фазу, позволяет почти не заботиться о задержках клока от пина. Это сильно помогает разводить сложные проекты на высокой частоте.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- shamrel   Управляемый делитель тактовой частоты(клоков)   Jan 14 2016, 05:28
- - Bad0512   Цитата(shamrel @ Jan 14 2016, 11:28) Прив...   Jan 14 2016, 05:39
- - Vascom   Чтобы был делитель на 1 - просто добавь мультиплек...   Jan 14 2016, 06:52
|- - Dmitriyspb   Цитата(Vascom @ Jan 14 2016, 11:16) Это е...   Jan 14 2016, 08:40
- - Vascom   В ПЛИС системная частота вовсе не обязана быть пос...   Jan 14 2016, 07:54
- - Vascom   О задержках будет думать Timing Analyser при сборк...   Jan 14 2016, 08:01
- - dm.pogrebnoy   И как обычно, никто не вспоминает, что ПЛИС для та...   Jan 14 2016, 08:33
- - Anton1990   Цитата(shamrel @ Jan 14 2016, 08:28) Прив...   Jan 14 2016, 15:42
- - AJIEKCEu   Я не совсем понимаю схему (недостаточно данных), н...   Jan 14 2016, 19:58
|- - Bad0512   Есть ещё вариант - АЦП и ЦАП работают на максималь...   Jan 15 2016, 04:24
|- - shamrel   Цитата(AJIEKCEu @ Jan 14 2016, 22:58) Я н...   Jan 15 2016, 04:48
|- - Maverick   Цитата(shamrel @ Jan 15 2016, 06:48) По п...   Jan 15 2016, 05:11
- - AJIEKCEu   Мне кажется, без минимальной схемы - тут никуда. Я...   Jan 16 2016, 02:37
- - shamrel   Цитата(AJIEKCEu @ Jan 16 2016, 05:37) Мне...   Jan 16 2016, 04:07
- - des00   Цитата(shamrel @ Jan 16 2016, 11:07) CIC ...   Jan 16 2016, 06:55


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

 


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


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