Перейти к содержанию
    

Skryppy

Свой
  • Постов

    210
  • Зарегистрирован

  • Посещение

Весь контент Skryppy


  1. Нет компьютера под рукой, завтра попробую набросать модуль. Гугл нашёл такой пример: Google book
  2. Если у вас плата уже есть, то посмотрите какое питание на банк подаётся, что выдумывать.
  3. Так это вроде обычный lvds https://ru.m.wikipedia.org/wiki/LVDS так что заводите 2.5 вольта на банк. А в ucf пишите iostandard = lvds;
  4. Если входной сигнал меняется по частоте, то надо ставить фильтр гильберта. Раз выходная часть работает хорошо и данные с АЦП в чипскоп красивые, то я теряюсь в догадках. Если с АЦП приходит синус в другом коде, то надо инвертировать старший бит шины.
  5. Если с dds+бих фильтр+цап нет проблем, то шаманить с АЦП. Если так работать не будет, то: Подайте в чипскоп данные с выхода dds, промежуточные данные с различных вычислительных частей вашей цифровой схемы, с выхода вашей схемы. Проверьте нет ли нигде переполнений , соответствует ли ваш выход с ожидаемым.
  6. Ну я бы на вашем месте сначала отработал одну часть, например только ЦАП. Для этого сделайте dds генератор и подайте синусоиду. Если на выходе ЦАП все ок, начинайте шаманить с фазами и т.д. Плюс данные на чипскоп подать, чтобы сравнить с ожидаемыми. Если все будет работать нормально, то только потом подключить АЦП.
  7. Насколько я знаю библиотека Use.numeric_std.all и 1164 допускаются для использования в стандартах, остальные библиотеки нет.
  8. В матлабе есть какие-то пакеты для проверки на соответствие авиастандартам DO. Там проверяется с формированием сертификата соответствия, вроде , hdl код. Посмотрите в этом направлении. https://matlab.ru/promo/standards
  9. Смотреть отдельно re и im вам ничего не даст, смотреть надо вычисленную амплитуду. А вы точно уверены, что dds выдает сигнал, может дело в нём?
  10. Для начала возьмите только один сигнал с dds. Подайте его на бпф, сделайте бпф 16 точечным,чтобы легче было разобраться. После нахождения амплитуды комплексного сигнала у вас будут повторяющиеся комбинации чисел и нужный вам Бин будет повторяться каждые 16 отсчётов, остальные бины (отсчёты) должны быть близки к нулю.. Когда получите стабильные данные и нужный вам Бин, тогда переходите к сумме сигналов. Также учтите, что с выхода dds синусоида может появиться не мгновенно и какое-то количество данных уйдет на переходной процесс
  11. Без процесса моделирования и симуляции большие проекты не заработают. Так что моделирование как можно чаще. Другой вопрос какие требования. При разработке требования к модулю/прибору/блоку могут меняться, часто сам заказчик не совсем понимает что ему надо и вам надо как-то заранее прикидывать как вам за вечер/день/неделю быстро добавить новую функцию и переделать старые. После сдачи заказчику обычно ещё появляются хотелки/свистелки у начальства и Вам надо уметь быстро перекраивать код, а без тестирования и применения всяких матлабов, vivado hls и т.п. , я считаю, обойтись трудно.
  12. Сразу после цапов будет согласующий трансформатор (балун) TC1-33-75G2+ , после него 50 ом одна компланарная линия
  13. Забыл указать. Частоты не более 2-2.5 ГГц, каналов 10. Динамический диапазон чем больше тем лучше. Нашел в интернете разъемы GRF1–P–P–08–E–ST–TH1 и GRF1–J. Я так понимаю их можно использовать как мезонинные коаксиальные?
  14. Здравствуйте. У меня возникла проблема, прибор с ПЛИСами + куча ЦАП + ВЧ микросхем не умещается на одну плату, надо разбить его на две платы. Думаю оставить на одной плате цифровые микросхемы и ЦАПы, а на другую перенести ВЧ часть. Вопрос можно ли для передачи с платы на плату 75 Омного дифференциального сигнала с выхода ЦАП (AD9739) использовать мезонинные разъемы типа QFS–026–04.25–L–D–A (или подобные) или же нужно использовать коаксиальные ВЧ разъемы(как тогда выравнивать длину диф пар с кабелями?) ? Сами ЦАПы перенести на другую плату не получится, так как места для сотен диф-пар и разъемов для них тоже нет. Может быть есть какое-нибудь более простое решение?
  15. В лоб решить проблему врядли получится. Попробуйте что-то типа такого: load_system(my_model); set_param('my_model','SimulationCommand','start'); Внутри модели подайте на matlab_function управляющий сигнал(например по счётчику), и в самой функции напишите что-нибудь типа такого: x = 33; set_param('my_model/Slider Gain','gain', num2str(x)); Ну или просто по счётчику выставить сигнал переключения свитчем. Также можно поиграться с функцией get_param. Может что и получится.
  16. Нужен установленный xilinx ise или vivado. В папке пуск -> xilinx -> system generator. Там надо указать путь к матлабу. После этого появятся блоки. В simulink доступ к блокам происходит в открытой модели , при нажатии правой кнопки мыши на любом пустом месте модели. Подключение Работа с Black box https://youtu.be/7yR2vcDCqwU
  17. Попробуйте так (через cosimWizard) https://www.youtube.com/watch?v=C-d0N7eXvyk&t=28s Лично я использую System Generator: кидаете блок System Generator и блок Black Box, указываете путь к VHDL/Verilog файлу, кидаете блоки gateway in, gateway out.
  18. По идеи если вы пропишите требования к тактовой частоте, то компилятор итак сделает все что можно, чтобы расхождения в клоках были минимальными и ничего другого писать не надо. Если вам надо сделать клоки в противофазе, то фазу можно менять в mmcm блоках в больших пределах.
  19. Насчет SysML и MBSE не знаю такие инструменты, но описание требований к модели + генерация очень похоже можно сделать и в матлабе. Недавно был на конференции по матлабу, там народ активно рекламировал матлаб как среду в которой можно связать требования + кодогенерацию. Не знаю как это работает на практике (лично я использую матлаб только для моделировая и генерации кода) , но советую посмотреть ролики на похожие темы, может все можно проще решить матлабом не изучая новые языки программирования. Вот примерные ссылки. https://exponenta.ru/products/system-models , https://www.youtube.com/watch?v=J88A35JEcHQ
  20. Если проект большой, то Матлаб must have. Причем запускать модель желательно (если алгоритм цос модели позволяет) с различными параметрами на многоядерном серверном компьютере в параллели (используя циклы parfor и т.д.), тогда будет нормальный выигрыш времени моделирования.
  21. Работаю и с System Generator и в Stateflow делаю сложные автоматы управления, где условия заказчиком добавляются/изменяются по несколько раз в месяц. И как ни странно стабильно все работает в железе. По-моему данные инструменты хоть и сложны в освоении, но ничего экстремального в них нет.
  22. Скачал Saturn. Вот что он мне выдал при настройках по умолчанию Получается 7.1 пс/мм Параметры материалов я уточню у конструкторов, но по крайней мере можно идти к ним с данными. Покажу эти расчеты. Поговорил недавно с одним конструктором, он сказал, что всегда старались сделать дорожки одинаковой длины, никто корректировкой не заморачивался из плисоводов на предприятии.
  23. Впервые слышу об этих программах. Посмотрю информацию, может так проще будет. Плата будет разводиться в P-cad 2006. Попробую смоделировать поведение в программах для разводки.
  24. Спасибо. Я хоть немного разобрался. Проект я уже сделал под конкретные контакты. Все констрейны проекта выполнились. Осталось правильно развести и настроить. Разница задержек для одного банка artix 7 получается до 90 пс. Если что буду настраивать внутри проекта с помощью add_delay и других различных офсетов если будут проблемы.
×
×
  • Создать...