Jump to content

    

quato_a

Свой
  • Content Count

    240
  • Joined

  • Last visited

Community Reputation

0 Обычный

About quato_a

  • Rank
    Местный
  • Birthday 11/22/1988

Контакты

  • ICQ
    Array

Информация

  • Город
    Array

Recent Profile Visitors

3794 profile views
  1. Спасибо, видел параметр EXAMPLE_SIMULATION, запрятанный в глубине исходников, но дело не в нем. Поменял протокол с "gigabit ethernet CC" на "Start from scratch" и заработал в симуляции приемник при разных схемах кодирования (None, 8b/10b, 64b/66b, 64b/67b). Ожидание окончания сброса приемника долгое, при разных параметрах от 1,4 мс до 2,5 мс.
  2. Доброго времени суток! Разбираюсь с GTP трансиверами и не могу добиться нормальной симуляции example design, генерируемого из Wizard. Пошарил по форуму xilinx, почитал про их косяки при симуляции, но вроде все уже должно было быть исправлено. Суть в том, что в симуляции приемник не отрабатывает сброс и вообще не шевелится. RXOUTCLK, RXUSRCLK, RXUSRCLK2 не выдают клок, а RXRESETDONE остается в 0. При этом передатчик процедуру сброса проходит, PLL лочится. Пошарил форум xilinx и например один пользователь пишет, что симулируют аж 10 мс и не наблюдают RXRESETDONE - ссылка, на что ему рекомендуют добавить 2 строчки кода в tb для ускорения симуляции. У меня же симуляция принудительно останавливается на 3,5 мс из-за некоторого сгенерированного условия в tb. Во внутренний сгенерированный код залезал, разбирался, вроде понял, что проблема в модуле RX RESET FSM (ожидает в автомате состояний фронта сигнала, который уже давно прошел). Но править сгенерированный код вендора не хочется и не правильно это. На форуме xilinx написал и тут параллельно. Может быть, кто-нибудь сталкивался с подобными проблемами? Думаю, многие devs с форума заводили эти трансиверы.
  3. Просто выделите два счетчика в своем арбитре транзакций: один под команды, второй под данные. Нужно вам записать 100 слов, то отправляйте команды записи с адресами с X по X+100 и параллельно данные с инкрементом каждого из счетчиков. Иногда rdy адресов и данных будут не активны (счетчик не инкрементируется). Какой-то из счетчиков (команд или адреса) дойдет по окончания раньше. Когда оба счетчики дошли, значит пачку из 100 слов записали.
  4. Аналогично, если усредненное действующее значение указывает, что сигнал менее 5% от номинальной амплитуды, то не пропускает его дальше
  5. если нужно отсекать сигнал, который выше порога по амплитуде, то просто его ограничивайте. входной сигнал больше порога -> присвоить выходной сигнал порогу, иначе присвоить входному если нужно масштабировать сигнал без обрезания по амплитуде, то вычисляйте скользящее среднее от действующего значения (если у вас переменный сигнал) и в соответствии с ним управляйте коэффициентом масштабирования
  6. проблемы уже наблюдаются в таком подходе... если на одном канале будет слабый сигнал, а на втором канале сильный, то как вы будете принимать решение по АРУ как усиливать? настроите АРУ по слабому каналу, то сильный канал перегрузит АЦП. настроите АРУ по сильному каналу, не увидите слабый. избирательность по соседнему каналу. если хотите параллельно принимать несколько независимых каналов, то нужны независимые приемные тракты с АЦПшками. по давнему плачевному опыту коллеги разрабатывали приемник только симулируя RTL-код и смотря отладчиком ПЛИС в железе. вроде работало, а уходит какой-нибудь параметр вправо или влево и перестает работать, а понять сложно. тратили уйму времени и потом плюнули и начали изучать поведение в симулинке/матлаб, только тогда разобрались, а времени ушло уйма... лучше сразу беритесь за моделирование с теми же студентами, как вы говорите, и постепенно разберетесь
  7. а эти независимые каналы приходят от разных передатчиков? АРУ единый для всего приемного тракта?
  8. используйте только значение полученной частоты и сносите сигнал с этой частоты, а потом уже ставьте следующим каскадом Костаса
  9. Вам фильтр нужен был полосой на 500 кГц + 30 кГц (отстройка) аналоговый перед АЦП, а не цифровой. Выбранный вами вариант реализации не обеспечит наилучшей чувствительности или избирательности по соседнему каналу. Грубо говоря, если поставить узкую палку мощностью +60 дБ больше вашего сигнала, отстоящую от вашего сигнала на 2-3 МГц, но находящуюся в полосе ПАВ, то АЦП просто уйдет в перегрузку и CIC с децимацией уже не помогут. Хотя, к слову, не об этом спрашивали...) CIC не должен мешать, если он не режет информационную полосу
  10. Правильно понял, что при частоте дисретизации 30 МГц будет приходить сигнал полосой не более 60 кГц (2 символьной скорости) на любой из частот ПЧ в диапазоне частот 1-11 МГц? Если да, то у вас перед АЦП должен быть фильтр полосой на 11 МГц, хотя информационная полоса на много меньше. В таком случае вы сильно поднимаете шумовую полочку, чувствительность пострадает. Эффективнее, чтобы фильтр согласован на полосу информационную. А подстраиваться будете синтезатором несущей.
  11. Два полосовых комплексных фильтра, результат их через abs и скользящие среднее и на петлевой фильтр - грубая частотная постройка а за ней можно точную ФАПЧ поставить