VHDL для сержантского

G

Guest

Guest
Привет каждом теле,

Может ли кто-нибудь сообщить мне код VHDL реализации с числовым программным управлением Osc.НКО "DDS".Добавлено через 2 минуты:Могли бы вы предоставить мне с описанием ресурсов НКО, типичный пример использования LUT или любой другой метод, который может быть реализован на FPGA.

 
Привет,
Вот один из примеров Qadrature осциллятора я строю и testted на базе ПЛИС.
Ее синусоидальной волне осциллятора.
Написал я этот код здесь некоторое время назад также было в Verilog.

Код:

Библиотеки IEEE;

использование IEEE.std_logic_1164.all;

использование ieee.std_logic_unsigned.all;

лицо является sine_cosпорта (

CLK: в std_logic;

Сбросить: в std_logic;

RU: в std_logic;

синусов: буфер std_logic_vector (7 DOWNTO 0);

COS: буфер std_logic_vector (7 DOWNTO 0));sine_cos конца;

Архитектура behave_sine_cos из sine_cos является

Сигнал sine_r, cos_r: std_logic_vector (7 DOWNTO 0);

начало - behave_sine_cos

синус <= sine_r (cos_r (7) & cos_r (7) & cos_r (7) & cos_r (7 DOWNTO 3));

COS <= cos_r - (синус (7) & синуса (7) & синуса (7) & синуса (7 DOWNTO 3));регистры: Process (CLK, сброс)

начало - процесс регистры

если сбросить = '0 ', затем - асинхронного сброса (активный низкий)

sine_r <= "00000000";

cos_r <= "01111000";

ELSIF clk'event и CLK = '1 ', затем - повышение часы край

если (EN = '1 '), то

sine_r <= синус;

cos_r <= COS;

End If;

End If;

регистры конце процесса;

behave_sine_cos конца;-------------------------------------------------- -----------------------------

- Testbench

-------------------------------------------------- -----------------------------Библиотеки IEEE;

использование IEEE.std_logic_1164.all;лицо является sine_cos_tbsine_cos_tb конца;

Архитектура себя от sine_cos_tb является

Компонент sine_cos

порта (

CLK: в std_logic;

Сбросить: в std_logic;

RU: в std_logic;

синусов: буфер std_logic_vector (7 DOWNTO 0);

COS: буфер std_logic_vector (7 DOWNTO 0));

конец компонента;

Сигнал CLK: std_logic: = '0 ';

Сигнал сброса: std_logic: = '0 ';

Сигнал EN: std_logic: = '1 ';

Сигнал синус: std_logic_vector (7 DOWNTO 0);

Сигнал COS: std_logic_vector (7 DOWNTO 0);начало - вести себя

CLK <= транспорта не CLK после 5 нс;U1: sine_cos

Порт карте (

CLK,

сброс,

Е.Н.,

синус,

COS);

Процесс

начало - процесс

ждать 50 нс;

Reset <= '1 ';

ждать 10000 нс;

ждать;

конце процесса;конец себя;

 
Привет Шериф,
Дизайн сержантского имеет только 2-х основных блоков.
Фазы аккумулятор, LUT ПЗУ (для хранения фазовых углах синус и COS).
Я приложил документ сержантского дизайна, то это дает подробные объяснения для блоков я уже упоминал выше.
Надеюсь, что это помогает
Извините, но Вы должны Войти для просмотра этой привязанности

 
Спасибо за примером.
Но я представлял себе, как грех и соз получены.
CORDIC или другие методы?
Могли бы вы поделиться с этой информацией (около отмечает, Data Sheet, книги)

С уважением,
Виктор

 
Привет,

Синус и соз волны генерируются использовании квадратурных осциллятора.
Если вы интегрировать синусоидальной волне вы получите косинус волна Вы интегрировать этот косинус
Волна генерировать входная волна синус ...
Это делается с помощью цифровых фильтров techniqe здесь в коде VHDL ...
Следующий рисунок будет объяснить это хорошо ....Код:

---- ----

синус | / |-COS | / |

--->| | |----->| | |---

| | / | | / | |

| ---- ---- |

| |

-------------------------
 
Пожалуйста, коллеги, я хочу собрать каждую деталь о Direct Digital Synthesizer (НКО).Пожалуйста, пришлите информацию каждый у вас есть.

Благодаря inadvance, я остаюсь.

 
Шериф Welsen пишет:

Пожалуйста, коллеги, я хочу собрать каждую деталь о Direct Digital Synthesizer (НКО).
Пожалуйста, пришлите информацию каждый у вас есть.Благодаря inadvance, я остаюсь.
 
Блэк Джек пишет:

Я эту книгу "Прямые цифровые синтезаторы частот"

По Venceslav F. Малкова и советы, которые вы читаете это.
 
Шериф Welsen пишет:Блэк Джек пишет:

Я эту книгу "Прямые цифровые синтезаторы частот"

По Venceslav F. Малкова и советы, которые вы читаете это.
 
Прежде всего мне очень понравился ваш код
но я не несколько вещей
1.Как вы couculate этап diffrance в начале?
2.Как знаете ли вы, чтобы в subscart этом spacific вектора?

 
Мне нужна деталь диаграмма архитектуры НКО.Любое Понял?Если да, пожалуйста, поделитесь его для меня?Спасибо большое.

 
NCO на самом деле является накопителем и таблицей

Вы можете понять, как это аккумулятор

Процесс (CLK) начать
если rising_edge (CLK), то
ACC (23 DOWNTO 0) <= ACC (23 DOWNTO 0) вход;
End If; конце процесса;

Затем, Вы можете обратиться к таблицам, как это

Процесс (CLK) начать
если rising_edge (CLK), то
nco_out (7 DOWNTO 0) <= ROM (conv_integer (ACC (23 DOWNTO 14));
End If; конце процесса;

Сигнал "Rom" является таблицей, синус или косинус сигнала в нем.Вы можете генерировать синусоидальный сигнал с помощью MATLAB:

Шаг = 1 / 1024;
T = 0: шаг: 1-шаг;
синус = SIN (2 * PI * T);

 
Перейти к codesearch.google.com и искать коды.У меня коды FOT сержантского аккумулятор, LUT из there.You можете выбрать код языка из OptIn Расширенный поиск

 
Мне нужен способ использования CORDIC ТЕОРИЯ, кто может мне помочь? Спасибо ...Добавлено после 11 минут:ПОМОЩЬ ....

 
nardo520, вот некоторая информация о CORDIC:
http://www.andraka.com/cordic.htm

 

Welcome to EDABoard.com

Sponsor

Back
Top