|
Синтезатор частоты, Как задействовать ЦАП? |
|
|
|
Jan 24 2011, 11:09
|
Участник

Группа: Участник
Сообщений: 56
Регистрация: 20-01-11
Из: Махачкала
Пользователь №: 62 364

|
Добрый день. Есть Altera Cyclone III Starter Board и THDB-ADA. Мне надо научиться работать с этой плиской. Работаю в Quartus II. Сейчас работаю над тестированием работы АЦП и ЦАП. Сперва - ЦАП. Надо на выходе ЦАПа получить синусоиду, которую надо зафиксировать осциллографом. Для этого синус надо подать на цап в цифровом виде... На THDB-ADA есть AD9767. Подсказали сгенерировать синус на плиске, и подать ее на цап. Сказали попробовать DDS. Почитал про это на 'http://rf.atnn.ru/s6/DDS_1.htm' и еще кое-где. По схеме получается, что на плис я собираю регистр, аккумулятор фазы, ПЗУ, и использую clock на самой плате StarterBoard. И должен отправить всё это на THDB-ADA в ЦАП. 1. Добавил в схему lpm_add_sub и lpm_ff (аккум-р фазы) и lpm_rom (ПЗУ). 2. У пзу есть файл sin_tab.mif, куда я записал в ячейки 90 значений синуса в hexadecimal-формате. 3. На рисунке (см. аттач.) видны все выходы с ПЗУ, которые пойдут с StarterKit через HSMC на THDB-ADA и далее на параллельный вход AD9767. Как clock_50MHz с платы плиски отправить на THDB-ADA? И вроде надо как-то энейблить этот цап? Кто делал или понимает - подскажите. P.s. Здесь на форуме была немного открыта подобная тема, но что-то она осталась непродолженной...
Эскизы прикрепленных изображений
|
|
|
|
|
 |
Ответов
|
Jan 24 2011, 11:27
|
Частый гость
 
Группа: Свой
Сообщений: 199
Регистрация: 27-05-09
Из: Москва
Пользователь №: 49 648

|
Готовый генератор синуса можно взять здесь: http://opencores.org/projects . Или использовать соответствующие ядро: http://www.altera.com/literature/ug/ug_nco.pdf. Для простоты ну или можно сделать свой собственный, легче взять готовый =).. Насчет клока, на плате THDB-ADA есть перемычки которые задают режим тактирования ЦАПа (с внешнего или внутреннего генератора тактов), если хотите использовать внешний тогда надо поставить перемычку в соответствующие положение и подать с ПЛИСа на выход HSMC нужный тактовый сигнал (надо смотреть по документации куда выводить). Режимы ЦАПа можно посмотреть в даташите (прикрепил), там ничего сложного нет. Выбирается режим (mode), а так же сигналы по которым идет "выброс" значений ЦАПа во внешний мир (WRT1/WRT2) и в параллельным кодом идет сигнал.
Прикрепленные файлы
AD9767.pdf ( 2.45 мегабайт )
Кол-во скачиваний: 26
|
|
|
|
|
Jan 24 2011, 14:26
|
Участник

Группа: Участник
Сообщений: 56
Регистрация: 20-01-11
Из: Махачкала
Пользователь №: 62 364

|
Вроде установил режим работы и подал клок на цап. 1. Там два режима - Dual-Mode и Interleaved Timing. Я выбрал Dual. (Как я понял - в этом режиме будут работать оба канала, но использую только канал) В проекте добавил элемент VCC и отправил на HSMC и далее на DAC_MODE на ЦАПе. 2. Клок. На схеме я понял (виделил соединенными эллипсами), что клок у ЦАПа может быть от SMA, OSC_SMA и PLL_OUT. Наверно SMA - это внешний клок, который через такой же коннектор подключается к плате. Второй - незнаю. Третий - PLL_OUT - нужный мне вариант - с плиски. Переключается всё это на плате джемпером JP5. Потом это идет к контакту HSMC на THDB-ADA и через него на плис. В итоге - получаю клок с плиски. А что делать с входом моей всей этой системы? По логике там должен быть регистр... Как он называется в квартусе..? ram..? Как подключить после этого выход с ЦАПа на SMA-коннектор? Через "WRT внешний мир"? P.s. Даташиты ВСЕ у меня есть.
Эскизы прикрепленных изображений
|
|
|
|
|
Jan 24 2011, 16:04
|
Частый гость
 
Группа: Свой
Сообщений: 199
Регистрация: 27-05-09
Из: Москва
Пользователь №: 49 648

|
Цитата(azizcheg @ Jan 24 2011, 17:26)  Вроде установил режим работы и подал клок на цап.
1. Там два режима - Dual-Mode и Interleaved Timing. Я выбрал Dual. (Как я понял - в этом режиме будут работать оба канала, но использую только канал) В проекте добавил элемент VCC и отправил на HSMC и далее на DAC_MODE на ЦАПе. 2. Клок. На схеме я понял (виделил соединенными эллипсами), что клок у ЦАПа может быть от SMA, OSC_SMA и PLL_OUT. Наверно SMA - это внешний клок, который через такой же коннектор подключается к плате. Второй - незнаю. Третий - PLL_OUT - нужный мне вариант - с плиски. Переключается всё это на плате джемпером JP5. Потом это идет к контакту HSMC на THDB-ADA и через него на плис. В итоге - получаю клок с плиски. 1. Дуал мод это ЦАП работает на два канала параллельно (т.е. лог. 1 на дак_мод). 2. Ага. Цитата(azizcheg @ Jan 24 2011, 17:26)  А что делать с входом моей всей этой системы? По логике там должен быть регистр... Как он называется в квартусе..? ram..? Как подключить после этого выход с ЦАПа на SMA-коннектор? Через "WRT внешний мир"? рам это память. Что значит со входом? Вы работаете на ЦАП, т.е. на выход. Надо в параллель кидать на HSMC данные в формате [13..0], которые через него попадут на вход ЦАПа.
|
|
|
|
|
Jan 26 2011, 09:47
|
Участник

Группа: Участник
Сообщений: 56
Регистрация: 20-01-11
Из: Махачкала
Пользователь №: 62 364

|
Вибирая ПЗУ LPM_ROM, в визарде увидел надпись, что этот тип пзу используется в режиме обратной совместимости (Family supports lpm_rom only in backward-capatibility mode). Альтера рекомендует ALTSYNCRAM wizard. Ну ладно, взял. Протестил, работает. Сделал с нуля. 1. Clock -> Counter 7bit -> AltSyncRAM -> HSMC -> DAC. 2. Т.к. слова в пзу 12-битные, я на 13-й и 14-й разряды ЦАПа заземлил. 3. Использую DUAL-mode, канал А. Для этого подцепил эту ножку к VCC. 4. WRTA и PLL_OUT_DAC0(клок ЦАПа) повесил на Clock 50 Mhz плиски. 5. POWERON заземлил. Компилировал, зашил. Подключаю осциллограф к sma-коннектору DA-CHANNEL A - пусто...  На J8 (GPIO1) нашел ножки DAC_WRTA и PLL_OUT_DAC0. На них есть синусоида (может чуть искаженная). На DAC_MODE - "1". Где ошибка?
Эскизы прикрепленных изображений
|
|
|
|
Сообщений в этой теме
azizcheg Синтезатор частоты Jan 24 2011, 11:09 vadimuzzz RE: Синтезатор частоты Jan 26 2011, 10:05 azizcheg не. мне не кордика метод нужен. Jan 26 2011, 12:28  vadimuzzz Цитата(azizcheg @ Jan 26 2011, 18:28) не.... Jan 26 2011, 12:36   azizcheg Я понимаю.
Мне вообще изначально посоветовали 2 ме... Jan 26 2011, 13:43    vadimuzzz Цитата(azizcheg @ Jan 26 2011, 19:43) Но,... Jan 26 2011, 14:04    almost Цитата(azizcheg @ Jan 26 2011, 16:43) Я п... Jan 27 2011, 06:05     azizcheg Исправил кое-какие недочеты.
1. подал клок на ОБА ... Jan 27 2011, 08:29      vadimuzzz Цитата(azizcheg @ Jan 27 2011, 14:29) Что... Jan 27 2011, 08:43       azizcheg Раза 4 или 5 перепроверял. Думаю с битами в порядк... Jan 27 2011, 09:28        azizcheg Блин. Так и есть. Перепутал пин.
Есть синус на вых... Jan 27 2011, 09:46         azizcheg После того, как получил посредством DDS синус на S... Feb 1 2011, 09:34          DmitryR Unsigned воспринимается как signed. Feb 1 2011, 09:39           azizcheg Цитата(DmitryR @ Feb 1 2011, 12:39) Unsig... Feb 1 2011, 11:51            DmitryR Цитата(azizcheg @ Feb 1 2011, 14:51) А мо... Feb 1 2011, 12:16             azizcheg Цитата(DmitryR @ Feb 1 2011, 15:16) Прави... Feb 1 2011, 12:46              ViKo Цитата(azizcheg @ Feb 1 2011, 14:46) А мо... Feb 1 2011, 13:33               azizcheg Проблема вылезает вот где.
АЦП не задействован.
... Feb 1 2011, 14:20                vadimuzzz Цитата(azizcheg @ Feb 1 2011, 20:20) Толь... Feb 1 2011, 15:12                 ViKo Цитата(vadimuzzz @ Feb 1 2011, 17:12) ста... Feb 1 2011, 15:24                  vadimuzzz Цитата(ViKo @ Feb 1 2011, 21:24) Нет, он ... Feb 1 2011, 15:40                   ViKo Цитата(vadimuzzz @ Feb 1 2011, 17:40) есл... Feb 1 2011, 18:12         ViKo Цитата(azizcheg @ Jan 27 2011, 11:46) Бли... Feb 1 2011, 12:13 vadimuzzz а схему гоняли в тестбенче? Jan 27 2011, 09:38 ViKo Думаю, у вас в проекте переполнение числа происход... Feb 1 2011, 14:37 azizcheg Цитата(ViKo @ Feb 1 2011, 17:37) Думаю, у... Feb 1 2011, 14:59  ViKo Цитата(azizcheg @ Feb 1 2011, 16:59) Сдел... Feb 1 2011, 15:08   azizcheg Цитата(ViKo)А вы поменяйте местами, что подаете в ... Feb 2 2011, 06:21    ViKo Цитата(azizcheg @ Feb 2 2011, 08:21) ЦАП ... Feb 2 2011, 07:41 vadimuzzz сигналтап - это логический анализатор
http://www.a... Feb 2 2011, 06:55 azizcheg Просимулировал. Все такты на месте. Биты каналов Ц... Feb 2 2011, 08:03  ViKo Цитата(azizcheg @ Feb 2 2011, 10:03) Прос... Feb 4 2011, 07:30   azizcheg Цитата(ViKo @ Feb 4 2011, 10:30) И какие ... Feb 4 2011, 12:32    ViKo Цитата(azizcheg @ Feb 4 2011, 14:32) Ниче... Feb 4 2011, 13:47     azizcheg Упс. Ошибочка вышла.
Исправил. И теперь показания ... Feb 7 2011, 07:12      ViKo Цитата(azizcheg @ Feb 7 2011, 09:12) Упс.... Feb 7 2011, 07:52       azizcheg По логике вещей - если для одного канала соблюдают... Feb 7 2011, 08:54        ViKo Цитата(azizcheg @ Feb 7 2011, 10:54) Я пр... Feb 7 2011, 09:40
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|