14PushOk14 0 25 декабря, 2011 Опубликовано 25 декабря, 2011 · Жалоба Мне надо организовать Генератор синусоидальных сигналов методом прямого цифрового синтеза. Нашел несколько кодов на VHDL, но в одном и кодов(1) нет входа выбора тактовой частоты. Можно ли его как нибудь туда добавить. С другим кодом(2) никак не могу разобраться, есть ли в нём этот вход или нет. Ещё не могу понять что нужно подавать на входа(когда делаю симуляцию в quartus 9.0). (1)- dds_sin.vhd (2)-( constants.vhd cos_rom.vhd dds.vhd sin_rom.vhd ) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
14PushOk14 0 25 декабря, 2011 Опубликовано 25 декабря, 2011 · Жалоба Нужно чтобы в этом генераторе задавалась частота. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Swup 0 26 декабря, 2011 Опубликовано 26 декабря, 2011 · Жалоба Попробую вам помочь, хотя и не силен я в VHDL. Вот вы говорите, что " в одном из кодов(1) нет входа выбора тактовой частоты. Можно ли его как нибудь туда добавить." Имеется в виду что? Тактирование схемы? В портах модуля описан тактовый вход. CLK : in std_logic; -- Вход тактовой частоты. Может вы имели ввиду ввод частоты полученного колебания? В том же коде(1) при асинхронном сбросе схемы описана строка с комментарием: freq_reg <= X"0CCC_CCCD"; -- 2 МГц, при тактовой 40МГц Fout = FREQ_REG*Fs/2^32; FREQ_REG = Fout*2^32/Fs Собственно значением этого регистра и задается частота синусоиды на выходе. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
14PushOk14 0 26 декабря, 2011 Опубликовано 26 декабря, 2011 · Жалоба Препод сказал что в этом коде нет входа выбора частоты. Я уже долго себе голову ломаю над этим входом. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Maverick_ 15 26 декабря, 2011 Опубликовано 26 декабря, 2011 · Жалоба Препод сказал что в этом коде нет входа выбора частоты. Я уже долго себе голову ломаю над этим входом. Попробуйте вывести наружу регистр freq_reg <= X"0CCC_CCCD"; или/и выбор частоты в простейшем случае это связка счетчик + мультиплексор. Выход мультиплексора это и есть тактовая частота для Вашего модуля... Счетчик это делитель Вашей тактовой частоты. Управление осуществляется через мультиплексор (PS при переключении частоты возможны глитчи, чтобы их не было нужна доп. схема для управления мультиплексором.) Более сложный и правильный вариант это использовать динамически реконфигурируемый PLL (подробнее здесь) Описанное нужно сделать и добавить в проект Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aser 0 26 декабря, 2011 Опубликовано 26 декабря, 2011 · Жалоба Вот здесь про генераторы с изменяемой частотой http://kanyevsky.kpi.ua/Studentam/labexercise%201.pdf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MisterDi 0 26 декабря, 2011 Опубликовано 26 декабря, 2011 · Жалоба Весь синтезатор делается на двух регистрах, сумматоре и ПЗУ синуса. Объем ПЗУ определяется требованиями по точности и искажениям. Набортного ОЗУ циклона-3 хватает даже на 16-разрядные семплы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
14PushOk14 0 27 декабря, 2011 Опубликовано 27 декабря, 2011 · Жалоба Весь синтезатор делается на двух регистрах, сумматоре и ПЗУ синуса. Объем ПЗУ определяется требованиями по точности и искажениям. Набортного ОЗУ циклона-3 хватает даже на 16-разрядные семплы. Вот бы ещё код к этому блоку был... Было бы супер! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Maverick_ 15 27 декабря, 2011 Опубликовано 27 декабря, 2011 · Жалоба Вот бы ещё код к этому блоку был... Было бы супер! а что именно вы не понимаете в описании взятого с сайта там вроде все очень подробно описано... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
14PushOk14 0 27 декабря, 2011 Опубликовано 27 декабря, 2011 · Жалоба Там то всё норм, всё работает, всё отлично! Принес преподу, он сказал что в том коде не хватает входа который задает частоту. Может что то я не могу понять, или мой препод что то не понял... Посмотрите по точнее есть ли этот вход? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
wolfman 0 27 декабря, 2011 Опубликовано 27 декабря, 2011 · Жалоба Там то всё норм, всё работает, всё отлично! Принес преподу, он сказал что в том коде не хватает входа который задает частоту. Может что то я не могу понять, или мой препод что то не понял... Посмотрите по точнее есть ли этот вход? Вы внимательно прочитайте 5 сообщение Maverick. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
14PushOk14 0 27 декабря, 2011 Опубликовано 27 декабря, 2011 · Жалоба А кто нибудь может вывести этот регистр наружу? (в vhdl я не очень понимаю) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
wolfman 0 27 декабря, 2011 Опубликовано 27 декабря, 2011 · Жалоба А кто нибудь может вывести этот регистр наружу? (в vhdl я не очень понимаю) signal freq_reg: unsigned(0 to Nph_reg-1); - эту строчку комментируете. а там где port(xxxx); Добавляете freq_reg: in unsigned(0 to Nph_reg-1); Ну и читаете соответствующую литературу. Иначе нифига вы курсовик не сдадите. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
14PushOk14 0 27 декабря, 2011 Опубликовано 27 декабря, 2011 · Жалоба signal freq_reg: unsigned(0 to Nph_reg-1); - эту строчку комментируете. а там где port(xxxx); Добавляете freq_reg: in unsigned(0 to Nph_reg-1); Ну и читаете соответствующую литературу. Иначе нифига вы курсовик не сдадите. Не получается, при компиляции ошибку выдаёт. Можно по подробнее написать как сделать это? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 28 декабря, 2011 Опубликовано 28 декабря, 2011 · Жалоба Не получается, при компиляции ошибку выдаёт. Можно по подробнее написать как сделать это? чем то, ваша тема мне напоминает старый мультфильм про двоих из ларца, одинаковых с лица. Дать вам еды, ложку, поднести ко рту, а теперь еще и прожевать. При таком подходе предлагаю переместить вашу тему в подфорум "Предлагаю работу". Т.к. он больше подходит тематически к вашей теме. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться