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

nbjkm

Участник
  • Постов

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

  • Посещение

Репутация

0 Обычный

Посетители профиля

548 просмотров профиля
  1. Частоты входных сигналов обычно лежат от 1 МГц до 10 МГц, в фильтре это всё укладывается (если Multisim не врет конечно) Если интегральный буфер, то какой взять и где про них почитать?
  2. Доброго дня! Стоит такая задачка: усилить входной сигнал и отправить его на оцифровку на плату с АЦП AD9226. Амплитуда входных сигналов не превышает 500 мВ (сигнал двухполярный), частота не превышает 10 МГц. Я рассчитал классический каскад усиления по схеме с общим эмиттером с коэффициентом усиления 10 (для теста) Напряжение питания +9 В. Всё это дело отмоделировал - результаты устроили. При реальном подключении выяснилось, что входное сопротивление китайской платы около 50 Ом (не удивительно), и при подключении одного усилителя с общим эмиттером наблюдалась сильная просадка по усилению. Поставил эмиттерный повторитель на выход - просадка уменьшилась, но начало срезать нижнюю полуволну на уровне 1,1 В. Уменьшать сопротивление резистора в эмиттерной цепи уже просто некуда (транзистор не протащит ток холостого хода). Поставил составной транзистор MPSA14, пересчитал все параметры - на симуляторе результат ОК, а в реальности сигнал искажен (вплоть до пилы вместо синусоиды) Причем на базу транзистора Q3 сигнал приходит нормального качества (без искажений), а с эмиттерного резистора снимается уже непонятно что (скринов, к сожалению, не сделал). Расскажу немного про плату с AD9226. Покупал когда-то у китайцев, схему прилагаю. Рассчитана она на сигналы +-5В. Переделывать её без крайней нужды под схемы из даташита желания нет (это проще развести свою плату тогда). Подскажите, как согласовать усилитель с 50 Омным входом? Можно ли повысить входное сопротивление данной платы убрав R5, R1, R2, R6? Или может использовать какую-нибудь другую схему усилителя (например, на ОУ)? AD92_Shem_V2.0.pdf
  3. Можешь еще заюзать ядро по ссылке https://opencores.org/projects/i2c В документации внутри подробно расписано что к чему. В Qsys легко интегрируется. При желании можно вообще не использовать интерфейс Avalon-MM для управления ядром, а выдрать из ядра файл i2c_master_byte_ctrl.v и навесить свою логику работы прямо на него
  4. Благодарю! Другой док посмотрел и таки дошел до истины. Кристалл не с тем Speed Grade там распаян. Больше скорости выжать нельзя
  5. Приветствую! Читаю мануал на трансиверы и вижу следующее т.е. точно должен брать скорости больше 10.312 Гбит/с Дальше захожу в визард и вижу следующую картину: И он утверждает, что больше 10.312 Гбит/с я подняться не смогу. Отладка KC705, среда Vivado 2020.2. Это просто ограничение визарда или реально предельная скорость? Старейшины утверждают, что раньше поднимали на этой плате скорости больше, но это было очень давно, никто не помнит как и проекты днем с огнем не сыщешь.
  6. Да, совершенно точно. При работе с квартусом на машине, подключенной по RDP, постоянно получал какие-то ошибки, то на фиттере вылетал (error send Intel и до свидания), то на assembler пишет "у вас нет лицензии на выбранный кристалл". Причем если прийти и запустить компиляцию напрямую на машине, без rdp, то все итерации проходили без ошибок. Все-таки засомневался и полез в док на signaltap Возможно я получал ограничение по каким-то иным причинам, но не по числу линии мониторинга
  7. О превышении лимита подключенных сигналов signaltap сообщает и больше линиий добавить не может. У меня подобная проблема наблюдалась при копировании проекта по разным папкам, в таких случаях квартус просто не обновлял sof-файл после компиляции. Удалите sof-файл и проведите заново его генерацию (щелкните пункт assembler). Есть ли какие-то ошибки в панели сообщений в самом quartus? Он должен писать код ошибки с описанием
  8. не сталкивался с проблемами при одновременном чтении/записи. Шина сама всё разрулит. И да, как уже заметил new123, запрос на чтение/запись можно (и нужно) подавать когда waitrequest в единице и дожидаться его освобождения. Как только шина освободится от другого мастера (арбитраж не позволит одному мастеру занимать шину вечно), шину займет другой мастер и т.д.
  9. DSP Builder так и не научился нормально использовать, ошибка на ошибке и ошибкой погоняет. К тому же на высокоскоростной IP RS нет лицензии в Quartus, а в MATLAB всё выглядело довольно удобненько. Кстати, к слову, раньше сталкивался с генерацией Lookup table из того же матлаба. Это была обычная ROM, но синтезировалась точно таким же образом как и в данном случае. Там всё легко можно было руками поправить, я просто менял wire на logic и квартус все прекрасно понимал. Но опять же, делалось это только вручную.
  10. Доброго здоровья! В MATLAB имеется блок "RS Encoder/Decoder HDL Optimized". Я синтезирую его HDL-код, получается неплохо + еще довольно читабельно. И казалось бы можно праздновать, но нет. В синтезированном коде есть много объявлений памяти и её инициализации в виде wire [7:0] gfomegapowertable_43 [0:255]; // ufix8 [256] assign gfomegapowertable_43[0] = 8'b00000000; assign gfomegapowertable_43[1] = 8'b10000000; assign gfomegapowertable_43[2] = 8'b00011101; assign gfomegapowertable_43[3] = 8'b10011101; assign gfomegapowertable_43[4] = 8'b00111010; .... assign gfomegapowertable_43[255] = 8'b01100010; assign omega8powertable = gfomegapowertable_43[omega8powerreg]; Подсовываю код в квартус и получаю закономерный результат - он вообще не определяет данный код как память и клепает всё на логике. В результате чего получаю скорость ~70 МГц, что неприемлемо. Данный способ объявления памяти я встречаю впервые, поскольку альтера рекомендует описывать память только через регистры. Сталкивался ли кто-нибудь с подобными вещами? Самостоятельно переписывать весь код больно уж ресурсозатратно. Да и к тому же матлаб везде нахваливают за его удобство и чуть ли не пару кнопок нажал и всё - код сгенерирован и можно работать. Использование директив ramstyle не дало никакого эффекта
  11. Руками писал. Можно было использовать и готовые ядра, но мне это было не столь интересно
  12. Я делал СФ по схеме FIR-фильтра, тупо оцифровал распознаваемый сигнал и запихнул его в качестве коэффициентов фильтра, предварительно переставив местами. И все дела. Работало на отлично. На частоте в 213 МГц
×
×
  • Создать...