Страница 11 из 15 Первая ... 910111213 ... Последняя
Показано с 201 по 220 из 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 
Просмотров:	607 
Размер:	1.07 Мб 
ID:	359983Нажмите на изображение для увеличения. 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Как сказать, мудреное или нет. Все его стараются использовать. Вот правда у 1792 в DSD режиме есть щелчки. Ну, там еще ко всему судя по осциллограммам, и не обычный AFIR.
    У Вас ведь трансиверы не используются, питание заземлено. Заметил что MGTRREF на землю повешен, это обязательно?
    Питание у неиспользованных I/O банков можно без проблем на землю подключать?
    По старту плисины неясно, у нее свой клок для запуска и считывания конфига из flash используется? А потом глушится?
    А у Вас, кстати, нативный DSD есть в проекте?
    Последний раз редактировалось lionel; 13.05.2020 в 21:36.

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

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

    Цитата Сообщение от lionel Посмотреть сообщение
    Как сказать, мудреное или нет. Все его стараются использовать.
    По мне реле на выходе надежнее. А эти все плюшки придуманы для экономии мне кажется.

    Цитата Сообщение от lionel Посмотреть сообщение
    Вот правда у 1792 в DSD режиме есть щелчки.
    Даже когда программируете регистр MUTE: Soft Mute Control?
    Странно там 256 ступенчатый аттенюатор.

    У меня ни каких проблем со щелчками при переключении битрейтов. Подобрал длительность mute с запасом.

    Цитата Сообщение от lionel Посмотреть сообщение
    У Вас ведь трансиверы не используются, питание заземлено.
    не используются

    Цитата Сообщение от lionel Посмотреть сообщение
    Заметил что MGTRREF на землю повешен, это обязательно?
    По рекомендациям xilinx можно на землю либо опен.

    Цитата Сообщение от lionel Посмотреть сообщение
    Питание у неиспользованных I/O банков можно без проблем на землю подключать?
    Для этого семейства допустимо на землю. Делал умышленно для максимального отвода тепла на земляной полигон.

    Цитата Сообщение от lionel Посмотреть сообщение
    По старту плисины неясно, у нее свой клок для запуска и считывания конфига из flash используется?
    На питании +3,3в ставится супервизор, который после включения питания тянет сигнал INIT ПЛИС, и она запускает режим чтения прошивки из конфигурационной ПЗУ (сама формирует клок). По завершению конфигурирования (успешному) взводится Done.


    Цитата Сообщение от lionel Посмотреть сообщение
    А у Вас, кстати, нативный DSD есть в проекте?
    DSD не использую, ЦАП поддерживает только PCM. Да и мне хватает 352.8. в этом режиме данные на ЦАП подаются без интерполяции (фильтрация остается). Хотя одно время были мысли реализовать DSD то PCM конвертер, чтобы раскрыть весь потенциал используемого транспорта.

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

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

    Цитата Сообщение от demon_rt Посмотреть сообщение
    Даже когда программируете регистр MUTE: Soft Mute Control?
    Странно там 256 ступенчатый аттенюатор.
    В даташите дано описание, с указанием применимости в режимах. Работает только в PCM режиме, увы.

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

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

    У меня тут некоторые вопросы по поводу реализации ЦФ в ПЛИС есть. Вы сами делали модули для конвертации последовательных I2S данных в параллельные и обратно?

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

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

    Цитата Сообщение от lionel Посмотреть сообщение
    Вы сами делали модули для конвертации последовательных I2S данных в параллельные и обратно?
    Да

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

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

    Можете поделиться, как это сделано? У меня есть свои, вроде работают, но есть странности, не могу понять, то ли периодически криво собирается прошивка, то ли я что-то не до конца понимаю, хотелось бы сравнить.

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

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

    Цитата Сообщение от lionel Посмотреть сообщение
    Можете поделиться, как это сделано?
    В обычной реализации это простой сдвиговый регистр на логике.
    Если речь идет про выход данных с процессора Atmel, то там некий автомат, который определяет битрейт потока и формирует нужные битовые частоты для чтения данных и управляет генераторами x44 - x48

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

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

    Цитата Сообщение от demon_rt Посмотреть сообщение
    В обычной реализации это простой сдвиговый регистр на логике.
    Если речь идет про выход данных с процессора Atmel, то там некий автомат, который определяет битрейт потока и формирует нужные битовые частоты для чтения данных и управляет генераторами x44 - x48
    То, что там сдвиговый регистр, это понятно. Непонятно другое, почему у меня происходит какая-то неведомая фигня. То есть, все работает, но стоит сделать отвод от параллельной шины, перестает. Даже не вставку, например цифрового фильтра, а просто отвод, на модуль zero detect. В modelsim, понятное дело, всё в порядке.

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

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

    Цитата Сообщение от lionel Посмотреть сообщение
    Непонятно другое, почему у меня происходит какая-то неведомая фигня.
    На столь низких частотах проблем с разводкой внутри ПЛИС не должно быть. Какой FPGA используете?

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

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

    Цитата Сообщение от demon_rt Посмотреть сообщение
    На столь низких частотах проблем с разводкой внутри ПЛИС не должно быть. Какой FPGA используете?
    Ну я вот тоже думаю что не должно быть проблем. FPGA MAX10 10M50

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

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

    Уделите внимание тактовым сигналам. Их нужно объявить забав параметры в файле ограничений. Затем нужно убедиться, что компилятор обнаружил ваш тактовый сигнал, делается это средствами САПР.
    Последний раз редактировалось demon_rt; 09.10.2020 в 18:25.

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

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

    Цитата Сообщение от demon_rt Посмотреть сообщение
    Уделите внимание тактовым сигналам. Их нужно объявить забав параметры в файле ограничений. Затем нужно убедиться, что компилятор обнаружил ваш тактовый сигнал, делается это средствами САПР.
    То есть в файлике с timing constraints должны быть описаны все сигналы, которые используются в условиях вида @always posedge или negedge? И если timing analyzer их автоматически не добавил, это не значит что они не нужны, и надо вручную добавить?

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

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

    Цитата Сообщение от lionel Посмотреть сообщение
    То есть в файлике с timing constraints должны быть описаны все сигналы, которые используются в условиях вида @always posedge или negedge?
    Да. Если timing analyzer их не видит, велика вероятность, что в ПЛИС компилятор их пустил ни как тактовые сигналы, сквозь тактовую низкоджиттерную сетку и буфера, а через логическую трассировочную систему со всеми вытекающими.

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

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

    Да, действительно по большей части в этом дело было, спасибо за подсказки.
    А разрядность фильтра 32 бит выбрана у Вас просто для запаса или в этом есть какой-то смысл?

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

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

    Цитата Сообщение от lionel Посмотреть сообщение
    спасибо за подсказки.
    На здоровье

    Цитата Сообщение от lionel Посмотреть сообщение
    А разрядность фильтра 32 бит выбрана у Вас просто для запаса или в этом есть какой-то смысл?
    Входная разрядность фильтра 24 разряда, больше нету смысла для ЦАП который я использую, да и для аудио этого с головой.

    ---------- Сообщение добавлено 18:35 ---------- Предыдущее сообщение было 18:29 ----------

    А вот разрядность коэффициентов фильтра да 32 бита. Смысл прост, в ПЛИС оставались вычислительные ресурсы, решил их задействовать, введя более расширенную разрядность коэффициентов.

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

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

    Много ли DSP и Slice Registers использует FIR в проекте? Он ведь вроде бы 2048 отводов и работает на 48 МГц?

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

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

    Цитата Сообщение от lionel Посмотреть сообщение
    Много ли DSP и Slice Registers использует FIR в проекте?
    71 блок DSP, Slice Registers порядка 300

    Цитата Сообщение от lionel Посмотреть сообщение
    Он ведь вроде бы 2048 отводов и работает на 48 МГц?
    Да 2048 отводов на частоте 50 Мгц

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

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

    Цитата Сообщение от demon_rt Посмотреть сообщение
    71 блок DSP, Slice Registers порядка 300
    Попробовал в ISE дизайн накидать, смутило то что так мало ресурсов израсходовано. Выходит, что XC7A100 более чем достаточно.
    Еще есть непонятный момент, Fir Compiler 6.3 зависает в момент ввода разрядности коэффициентов 32, на 24 все нормально, COE на 512 отводов. Может, еще какие-то опции неправильно выставлены?

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

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

    Цитата Сообщение от lionel Посмотреть сообщение
    Fir Compiler 6.3 зависает в момент ввода разрядности коэффициентов 32
    Ранее проект собирал тоже под ISE, проблем не было.
    Какие параметры в COE используете?

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

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

    Цитата Сообщение от demon_rt Посмотреть сообщение
    Ранее проект собирал тоже под ISE, проблем не было.
    Какие параметры в COE используете?
    COE файл из fdatool, там опций при экспорте нет. В fdatool выставлял только Numerator word length = 32
    В файле COE Radix = 16; Coefficient_Width = 32; и далее коэффициенты.

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

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

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

Ваши права

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