Страница 13 из 15 Первая ... 31112131415 Последняя
Показано с 241 по 260 из 285

Тема: board_xc7a100_v10

  1. #1 Показать/скрыть первое сообщение.
    Старый знакомый
    Автор темы
    Аватар для demon_rt
    Регистрация
    23.05.2014
    Сообщений
    678

    По умолчанию board_xc7a100_v10

    Решил создать отдельную ветку.

    При эксплуатации первой версии ЦАП board https://forum.vegalab.ru/showthread.php?t=83083 на базе Virtex 4 били выявлены некоторые недостатки:

    - Очень сильный нагрев ПЛИС и как следствие всего устройства, в силу примененного старого семейства с большим потреблением.

    - Применение программируемого генератора Si570 сильно усложняло проект ПЛИС в из-за реализации конечного автомата программирования, тем самым снижалась общая надежность устройства при переходах между разными Fs. Также параметры фазового шума и точности настройки данного синтезатора уступают константным генераторам с фиксированной частотой.

    - Не хватало полной гальванической развязки между цифрой и аналогом.

    Ну и еще пару мелких недочетов подвигли на разработку нового устройства.



    ТЗ:

    - Питание от внешнего импульсного преобразователя постоянного тока, напряжением +12 В.

    - Общее потребление устройства с установленными модулями ЦАП в районе 10 Вт.

    - Все элементы должны находиться на одной двухслойной плате, за исключением двух модулей ЦАП.

    - Цифровые входы: SPDIF OPt, SPDIF COAX, USB

    - Аналоговый выходы: RCA, Phone

    - Применение современной ПЛИС с малым потреблением и достаточным количеством блоков DSP для обработки.

    - Полная гальваническая развязка по питанию и сигнальным линиям между цифровым и аналоговым трактами.

    - Реализация USB на процессоре Atmel (с возможностью использования драйверов от аманеро)

    - Аттенюатор на реле.

    - Применение генераторов аналогового тракта с низким фазовым шумом

    - Наличие энергонезависимой ПЗУ для хранения настроек (уровень аттенюатора, селектор вх. вых. и др)

    - Интегрированный усилитель для наушников на мощных буферах ( очень хорошо показали себя LM49600 в прошлой версии)

    - Защита по DC в усилителе для наушников

    - Все управление одним энкодером

    - Поддержка управления через инфракрасный ПДУ

    - Поддержка VFD дисплея 16х112 точек и реализация графического контроллера в ПЛИС

    - Реализация в ПЛИС ЦФ 2048 отвода, 32 бита. и коэффициентами интерполяции х1,х2,х4,х8

    Схема:
    Нажмите на изображение для увеличения. 

Название:	_Atten.jpg 
Просмотров:	612 
Размер:	1.07 Мб 
ID:	359983Нажмите на изображение для увеличения. 

Название:	_Clk.jpg 
Просмотров:	582 
Размер:	1.10 Мб 
ID:	359984Нажмите на изображение для увеличения. 

Название:	_FPGA_0.jpg 
Просмотров:	536 
Размер:	3.02 Мб 
ID:	359985Нажмите на изображение для увеличения. 

Название:	_ISO.jpg 
Просмотров:	443 
Размер:	1.48 Мб 
ID:	359986Нажмите на изображение для увеличения. 

Название:	_MAIN.jpg 
Просмотров:	438 
Размер:	1.16 Мб 
ID:	359987Нажмите на изображение для увеличения. 

Название:	_Out.jpg 
Просмотров:	576 
Размер:	1.44 Мб 
ID:	359988
    Нажмите на изображение для увеличения. 

Название:	_Power.jpg 
Просмотров:	504 
Размер:	1.70 Мб 
ID:	359989Нажмите на изображение для увеличения. 

Название:	_USB.jpg 
Просмотров:	433 
Размер:	1.33 Мб 
ID:	359990

    Внешний вид:
    Нажмите на изображение для увеличения. 

Название:	Снимок5.PNG 
Просмотров:	654 
Размер:	397.9 Кб 
ID:	359991Нажмите на изображение для увеличения. 

Название:	20191212_224448.jpg 
Просмотров:	515 
Размер:	3.03 Мб 
ID:	360881Нажмите на изображение для увеличения. 

Название:	20191212_224727.jpg 
Просмотров:	596 
Размер:	3.27 Мб 
ID:	360882
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	20191212_225101.jpg 
Просмотров:	341 
Размер:	1.33 Мб 
ID:	360879   Нажмите на изображение для увеличения. 

Название:	20191212_225132.jpg 
Просмотров:	359 
Размер:	1.44 Мб 
ID:	360880  
    Последний раз редактировалось demon_rt; 28.12.2019 в 17:06.

  2. #241
    Старый знакомый Аватар для lionel
    Регистрация
    10.05.2010
    Адрес
    СПб
    Сообщений
    504

    По умолчанию Re: board_xc7a100_v10

    Попробовал с latch, тот же результат. Возможно, я не до конца понимаю как нужно подавать valid. Это тот же lrck со скважностью 50%, пересинхронизированный на защелке?
    Приложу файлы модулей, преобразующих последовательные данные в шину 24бит и обратно, может там что-то не совсем правильно. Хотя FIR фильтры, сгенерированные из fdatool, работают в этом же дизайне.
    pcm_input_bus.zip
    Фильтры раздельные для каждого канала, данные на шине обновляются по rising edge lrck.
    Нажмите на изображение для увеличения. 

Название:	Screenshot_3.jpg 
Просмотров:	73 
Размер:	205.3 Кб 
ID:	383308

  3. #242
    Старый знакомый
    Автор темы
    Аватар для demon_rt
    Регистрация
    23.05.2014
    Сообщений
    678

    По умолчанию Re: board_xc7a100_v10

    always @ (posedge lrck_in) begin
    store_reg_l <= shift_register[63:32];
    store_reg_r <= shift_register[31:0];
    end

    always @ (negedge bck_in) begin
    shift_register <= shift_register << 1;
    shift_register[1] <= data_in;
    shift_register[0] <= shift_register[63];
    end


    always @ (posedge clk) begin
    pcm_out_l <= store_reg_l[23:0];
    pcm_out_r <= store_reg_r[23:0];
    bck_out <= bck_in;
    lrck_out <= lrck_in;
    end

    У вас все три процесса работают на разных опорных частотах с одними данными. Это неправильно!

    ---------- Сообщение добавлено 13:24 ---------- Предыдущее сообщение было 13:12 ----------

    Все зависит от типа ЦАП. Некоторые требуют чтобы все сигнала, включая BCK были синхронны с SCK. В этом случае всю приемо-передающую часть лучше делать на частоте SCK. Часть DSP же можно на любой высокой частоте, к примеру на 200 МГц, но от входной (SPDIF, USB ) части и выходной (ЦАП) этот сегмент кода должен быть отделен с помощью памяти (можно на FiFo) умеющей работать на двух клоках, только при такой архитектуре можно говорить о битперфектности цифрового канала.

    ---------- Сообщение добавлено 14:54 ---------- Предыдущее сообщение было 13:24 ----------

    Набросал картинку. Как видно из схемы вся логика внутри ПЛИС тактируется только двумя частотами. Которые в свою очередь развязаны между собой. Такая архитектура позволяет правильно реализовать в ПЛИС синхронную логику передачи потоков данных без потерь и возникновения метастабильности. Разводится прошивка при данной концепции, как правило без единой Timing Error.
    Нажмите на изображение для увеличения. 

Название:	gg.jpg 
Просмотров:	93 
Размер:	81.1 Кб 
ID:	383318

  4. #243
    Старый знакомый Аватар для lionel
    Регистрация
    10.05.2010
    Адрес
    СПб
    Сообщений
    504

    По умолчанию Re: board_xc7a100_v10

    В моем случае всё может тактоваться от одной частоты и fifo мне вроде как не нужен.
    Переделал всё под синхронизацию от одной частоты. Проявлявшиеся иногда проблемы с неправильной работой полностью ушли.
    Но вот ip ядро FIR ii попрежнему не работает. Хотя без каких бы то ни было проблем работают фильтры, сгенерированные из fdatool. Да и всё остальное работает.
    lrck пересинхронизирован на latch. Никаких искажений или потерь нет, но ip ядро работает как аттенюатор, не фильтруя сигнал. Непонятно, что еще ему не так может быть. Ну либо оно просто нерабочее.

  5. #244
    Старый знакомый
    Автор темы
    Аватар для demon_rt
    Регистрация
    23.05.2014
    Сообщений
    678

    По умолчанию Re: board_xc7a100_v10

    Цитата Сообщение от lionel Посмотреть сообщение
    Но вот ip ядро FIR ii попрежнему не работает.
    На какой частоте семплирования работает ЦАП ?

  6. #245
    Старый знакомый Аватар для lionel
    Регистрация
    10.05.2010
    Адрес
    СПб
    Сообщений
    504

    По умолчанию Re: board_xc7a100_v10

    Цитата Сообщение от demon_rt Посмотреть сообщение
    На какой частоте семплирования работает ЦАП ?
    Я пробовал от 44100 до 384000 подавать на FIR ii, в проекте в качестве ЦАП пара DSD1792, пока что в режиме со встроенным ЦФ.

  7. #246
    Старый знакомый
    Автор темы
    Аватар для demon_rt
    Регистрация
    23.05.2014
    Сообщений
    678

    По умолчанию Re: board_xc7a100_v10

    Цитата Сообщение от lionel Посмотреть сообщение
    пока что в режиме со встроенным ЦФ.
    А как проверяли, что фильтр не корректно работает?

  8. #247
    Старый знакомый Аватар для lionel
    Регистрация
    10.05.2010
    Адрес
    СПб
    Сообщений
    504

    По умолчанию Re: board_xc7a100_v10

    Цитата Сообщение от demon_rt Посмотреть сообщение
    А как проверяли, что фильтр не корректно работает?
    Всё просто, сделан тестовый фильтр, там частота среза 100Гц. С теми же коэффициентами сгенерированный из матлаба - всё прекрасно срезает. А этот либо вообще не работает либо имеет реальную частоту среза далеко за звуковым диапазоном. Уровень отличается а АЧХ такая же.

  9. #248
    Старый знакомый
    Автор темы
    Аватар для demon_rt
    Регистрация
    23.05.2014
    Сообщений
    678

    По умолчанию Re: board_xc7a100_v10

    т.е. проверяли уже после ЦАП на звуковой карте?

  10. #249
    Старый знакомый Аватар для lionel
    Регистрация
    10.05.2010
    Адрес
    СПб
    Сообщений
    504

    По умолчанию Re: board_xc7a100_v10

    Цитата Сообщение от demon_rt Посмотреть сообщение
    т.е. проверяли уже после ЦАП на звуковой карте?
    Да, для семплрейта 44100 и частоты работы 90.3168 МГц смотрел через АЦП.

  11. #250
    Старый знакомый Аватар для tomtit
    Регистрация
    23.06.2009
    Адрес
    пгт.Торонтовка
    Возраст
    65
    Сообщений
    951

    По умолчанию Re: board_xc7a100_v10

    Цитата Сообщение от demon_rt Посмотреть сообщение
    Не понял, что значит "аккумулятор надо бы сильно побольше" в контексте ненужности большой разрядности коэфф. и отводов?
    Я имел в виду, что разрядность коэффициентов влияет только на неравномерность АЧХ и подавление в полосе задержания. Я использовал 27бит. Аккумулятор же не должен переполняться и желательно не отбрасывать младшие биты до финального округления с дизерингом. Поэтому на этом экономить не нужно.
    Излишне длинный фильтр имеет слышимое стеклянное звучание из-за слишком длинного отклика. Конечно все нормально, если лишние тапы равны нулю или влияние их ниже уровня шума. Но тогда каков их смысл?

  12. #251
    Завсегдатай Аватар для sia_2
    Регистрация
    18.07.2005
    Сообщений
    4,009

    По умолчанию Re: board_xc7a100_v10

    Цитата Сообщение от tomtit Посмотреть сообщение
    Излишне длинный фильтр имеет слышимое стеклянное звучание из-за слишком длинного отклика.

    Offтопик:
    Распространенный миф, кстати. В нормальных фонограммах просто нет сигналов, на которых бы он "зазвенел", сами посмотрите спектр. "Стеклянность" - это обычно или дефект самой фонограммы, например, чрезмерно агрессивный нойз-шейпинг, или последствия некорректной цифровой обработки (особенно этим грешили первые цифровые пульты и workstations). "Короткий" фильтр их просто маскирует.

  13. #252
    Старый знакомый
    Автор темы
    Аватар для demon_rt
    Регистрация
    23.05.2014
    Сообщений
    678

    По умолчанию Re: board_xc7a100_v10

    Цитата Сообщение от lionel Посмотреть сообщение
    Никаких искажений или потерь нет, но ip ядро работает как аттенюатор, не фильтруя сигнал. Непонятно, что еще ему не так может быть.
    Моделировать не пробовали? Могу посмотреть ваш COE

  14. #253
    Старый знакомый Аватар для lionel
    Регистрация
    10.05.2010
    Адрес
    СПб
    Сообщений
    504

    По умолчанию Re: board_xc7a100_v10

    Цитата Сообщение от demon_rt Посмотреть сообщение
    Моделировать не пробовали? Могу посмотреть ваш COE
    Ок, спасибо. Файлик вот: 500Hz_coeff.txt. Именно его проверял и с матлаб-фильтром и с ip ядром.

    Думаю действительно надо промоделировать, иначе не понять в чем дело.

  15. #254
    Старый знакомый
    Автор темы
    Аватар для demon_rt
    Регистрация
    23.05.2014
    Сообщений
    678

    По умолчанию Re: board_xc7a100_v10

    Цитата Сообщение от lionel Посмотреть сообщение
    Ок, спасибо. Файлик вот: 500Hz_coeff.txt.
    Такой не смогу проверить. Нужен целочисленный

  16. #255
    Старый знакомый Аватар для lionel
    Регистрация
    10.05.2010
    Адрес
    СПб
    Сообщений
    504

    По умолчанию Re: board_xc7a100_v10

    Цитата Сообщение от demon_rt Посмотреть сообщение
    Такой не смогу проверить. Нужен целочисленный
    Вот экспорт прямо из фильтра:
    unscaled.txt fixed-point.txt scaled.txt

  17. #256
    Старый знакомый
    Автор темы
    Аватар для demon_rt
    Регистрация
    23.05.2014
    Сообщений
    678

    По умолчанию Re: board_xc7a100_v10

    Цитата Сообщение от tomtit Посмотреть сообщение
    Аккумулятор же не должен переполняться и желательно не отбрасывать младшие биты до финального округления с дизерингом. Поэтому на этом экономить не нужно.
    Под аккумулятором вы имеете ввиду сумматор после умножителя?

    ---------- Сообщение добавлено 14:16 ---------- Предыдущее сообщение было 14:15 ----------

    Цитата Сообщение от lionel Посмотреть сообщение
    Вот экспорт прямо из фильтра:
    IP Xilinx умеет работать только с целочисленными коэффициентами

  18. #257
    Старый знакомый Аватар для lionel
    Регистрация
    10.05.2010
    Адрес
    СПб
    Сообщений
    504

    По умолчанию Re: board_xc7a100_v10

    Цитата Сообщение от demon_rt Посмотреть сообщение
    IP Xilinx умеет работать только с целочисленными коэффициентами
    В fixed-point.txt как раз целочисленные коэффициенты.

  19. #258
    Старый знакомый
    Автор темы
    Аватар для demon_rt
    Регистрация
    23.05.2014
    Сообщений
    678

    По умолчанию Re: board_xc7a100_v10

    Цитата Сообщение от lionel Посмотреть сообщение
    В fixed-point.txt
    Нажмите на изображение для увеличения. 

Название:	hgr4h4h4hh4hh.PNG 
Просмотров:	64 
Размер:	24.7 Кб 
ID:	383616
    АЧХ с данными коэффициентами

  20. #259
    Старый знакомый Аватар для lionel
    Регистрация
    10.05.2010
    Адрес
    СПб
    Сообщений
    504

    По умолчанию Re: board_xc7a100_v10

    Так и есть, вот что в fir compiler после загрузки коэффициентов:
    Нажмите на изображение для увеличения. 

Название:	Screenshot_5.jpg 
Просмотров:	70 
Размер:	95.0 Кб 
ID:	383618
    Только вот фильтрации по факту нет.

  21. #260
    Старый знакомый
    Автор темы
    Аватар для demon_rt
    Регистрация
    23.05.2014
    Сообщений
    678

    По умолчанию Re: board_xc7a100_v10

    Цитата Сообщение от lionel Посмотреть сообщение
    Только вот фильтрации по факту нет.
    Может вы ее не видите. Пропускать данный фильтр будет сотни герц, а потом плавное ослабление до -20 Дб. Т.е. фильтром назвать его с трудом можно, больше на аттенюатор похоже.

Страница 13 из 15 Первая ... 31112131415 Последняя

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •