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

mutagen

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

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

  • Посещение

Сообщения, опубликованные mutagen


  1. Приветствую! Посдкажите пж-та по поводу CCL (например в ATmega4809). Потребовалось мультиплексировать пины. Насколько я понял можно завести 3 пина в каждый из 4 LUT.

    Не могу найти ограничение на частоты сигналов, подключенных к пинам. Например 12 мгц-ые сигналы допустимо подавать?

  2. Спасибо за информацию! Почитал ДШ на 7.1. В моей версии 6.03а еще нету настройки режима Cyclic.

    Тут дело оказалось в другом. Первоначально я настроил корку в режим Multichannel. Сегодня перевел в одноканальный режим для теста, и о чудо - корка начала тормозиться, когда доходит до последнего дескриптора и продолжает работать после обновления TAIL'а! Как в ДШ описано.

    Нашел неприятное ограничение для многоканального режима : "Does not support descriptor queuing in S2MM path for multichannel mode". В 7.1 оно тоже есть. Видимо это и есть тот случай, когда корка непрерывно дескрипторы загружает.

  3. Немного уточню вопрос после поисков проблемы. Суть в том, что DMA загружает ранее уже обработанные дескрипторы (в которых я не очистил флаг CMP). Из-за этого возникает ошибка SGIntErr. Т.е. DMA по дескрипторной цепочке возвращается к началу.

    Возникает вопрос по регистрам S2MM_CURDESC и S2MM_TAILDESC:

    Допустим выделил 2 дескриптора, установил регистры CURDESC = adr, TAILDESC = adr + 64. После прихода первого пакета CURDESC = TAILDESC = adr+64. После прихода второго пакета регистры вновь CURDESC = adr, TAILDESC = adr + 64.

    Хотя в ДШ пишут: "The tail pointer is initialized by software to point to the end of the descriptor chain. This becomes the pause point for hardware. When

    hardware begins running, it fetches and processes each descriptor in the chain until it reaches the tail pointer. The AXI DMA then pauses descriptor processing."

    Т.е. когда указатели CURDESC и TAILDESC сравняются DMA должно остановиться, а не продолжать загружать дескрипторы. А я вижу противоположное.

    Что-то я не так видимо понимаю...

  4. В моём случае нормально работает: закончились дескрипторы - DMA остановился (состояние IDLE), добавили новые дескрипторы - работает дальше (использую свой драйвер).

     

    Подскажите плз какие прерывания разрешаете в регистре DMACR, все 3 (ERR_IrqEn, Dly_IrqEn, IOC_IrqEn) ?

  5. Здравствуйте! Хотелось бы спросить у знатоков о следующей ситуации:

    Используется DMA в режиме Scatter/Gather. Отлаживаю канал S2MM. Софт написан на основе примера от Xilinx'а "xaxidma_multichan_sg_intr".

    Завел к примеру 8 дескрипторов (1 дескриптор = 1 внешний AXI-stream пакет, кончающийся по сигналу TLAST).

    Приходят 8 пакетов. После чего все дескрипторы становятся обработанными (post-processed). Если потом не освободить и не передать корке DMA новые дескрипторы, то естественно пропадает сигнал TREADY и еще неожиданно появляется ошибка-прерывание(флаг Err_irq в 14 бите регистра S2MM_DMASR) и после этого корка не работает без сброса.

    Тем, что я не даю корке новые дескрипторы, я пытался эмулировать задержку дальнейшей обработки данных (некий Flow-control организовать). При этом я расчитывал, что корка просто не будет давать сигнал TREADY источнику данных.

    Вопрос: как в данной ситуации правильно организовать flow-control S2MM в данном случае ? Ведь могут быть ситуации, когда записанные в память данные, потребитель обрабатывает с меньшей скоростью.

  6. Да правильно - реальное железо и реальный запуск.

    bootloop.elf имеете в виду ? да, с ним тоже пробовал загружать.

    В run-конфигурации выбрана ELF из релизной ветки, профайлинг также выбран. Просто Run без профайлинга нормуль грузится.

     

    О да, насчёт глюков вы правы. Скоро будет бубен 80 лвл :wacko:

  7. Приветствую! Имеется некое рабочее ПО под Микроблейз. Возникла необходимость провести профайлинг. Изучил "EDK Profiling User Guide" UG448 (v14.1), сделал всё как там описано. В процессе запуска возникает ошибка "ERROR : Unexpected error while launching program. java.lang.RuntimeException....."

    2d194543c8ba8a7af36709e4b44073a0.png

     

    EDK 14.4, Windows 7 64

     

    Кто подскажет куда копать ? Кому-нибудь удавалось запустить профайлинг в SDK ?

     

  8. В свойствах проекта вкладка Build Steps.

    Да, я там и пытался прописать свой bat-ник. В Pre-build steps в поле Commands вбил путь типа c:\script.bat. Видимо неверно я это сделал. Надо в документации полазить...

  9. Приветствую! Вопрос простой, но решение не могу найти: как автоматически запускать некий *.bat-файл перед каждой компиляцией проекта ? В *.bat файле содержится скрипт, который создаёт *.h-файл (с константой - время,дата, версия), включаемый в проект.

  10. А 2 фильтра это какие? Один из них feedback,а второй ? Например эквалайзер DFE с алгоритмом LMS. Допустим мы получили оценку по алгоритму LMS, как из неё создать коэффициенты для фильтра ? На русском языке наверное не найти описание таких эквалайзеров ?

  11. Здравствуйте! Хотелось бы уточнить у специалистов моменты синхронизации при OFDM(wifi/wimax).

    У меня выполняются следующие действия :

    1) Точное определение момента начала 1-го OFDM символа (после преамбулы)

    2) Устарнение частотной отсройки (по преамбуле)

    3) Коррекция АЧХ и фазы (в частотной области с помощью эквалайзера по преамбуле и по пилот-тонам)

     

    Вопрос состоит в следующем: нужно ли в OFDM еще определять точку максимального эффекта (MEP, eye-opened point) как это делается в single carrier системах. В каком-то иностранном документе прочитал что для OFDM это не актуально. Истинно ли это и почему ?

  12. У вас сейчас две дискретизации со скоростью 88 и 100 МГц, правильно? Оставьте только одну, например 88. Тогда может быть будет вместо второго дециматора влезет ресэмплер.

     

    Так точно, могу оставить частоту дискретизации либо 88 либо 100 Мгц. Например сэмплируем на 88мгц, проблем для DSSS не вижу (есть один децимирующий FIR-фильтр). Чтобы получить 20 мгц, нужно 88мгц сдецимировать в 22 раза, а потом интерполировать в 5 раз. Я прав? При этом что от сигнала останется после ресемплера при такой децимации и интерполяции? Но тут же опять фильтрация будет нужна, а я ограничен одним FIR фильтром, т.к. умножителей не хватит в плиске еще на один фильтр.Видимо светит только вариант ресемплера и применение CIC/IIR фильтров....

  13. Просветите пожалуйста как на физическом уровне в 802.11g одновременно обрабатывают DSSS и OFDM сигналы? Мне не понятно то, что DSSS сигналы имеют частоту кратную 11 Мгц, а OFDM сигналы имеют частоту 20мгц. Используют 2 входных тракта(ацп, фильтры, VCO)? Возможно ли обойтись одним входным трактом ? Или поделитесь пожалуйста описаниями wifi-чипсетов у кого есть. спасибо.

  14. Насколько я знаю нет. Можно использовать 22МГц сигнал 802.11b (надеюсь, что вы в курсе, что надо работать на удвоенной частоте дискретизации) для передискретизации его в 20 МГц каким-нить полифазным фильтром.

     

    А вообще, советую уже сейчас задуматься от том, как ещё и 802.11n собираетесь принимать.

     

    Да можно было бы, но проблема в том , что еще один фильтр уже не влезет в прошивку. Без дополнительной фильтрации никак не получить 22 и 20 Мгц ?

  15. Здравствуйте. Столкунлся с проблемой: имея один входной тракт (настроенный один FIR-фильтр с децимацией) возможно ли обрабатывать сигналы с разной частотой дискретизации? У меня имеются 2 FPGA-прошивки, которые обрабатывают сигналы 802.11b(DSSS) и 802.11g(OFDM). Необходимо объединить их в одну. Проблема в том, что сигналы DSSS для WiFi имеют частоту дискретизации кратной 11 Мгц, а сигналы OFDM 802.11g имеют частоту 20Мгц. В 802.11b-DSSS я сэмплирую сигнал с частотой 88Мгц, а в 802.11g-OFDM сэмплирую с частотой 100Мгц ну и далее идёт фильтрация с децимацией. Может быть кто-то сталкивался с подобными вещами? Или имеет ссылки/документацию на wifi-чипсеты 802.11g с более-менее детальным описанием.

  16. Здесь, правда, на примере WiFi, но разница небольшая.

     

    К сожалению есть разница. Эквалайзер в WiFi 802.11g работает по двум длинным преамбулам, представленными 2мя OFDM символами (по 64 отсчёта). В WiMax'е 802.16-2004 длинная преамбула (2*128 отсчётов) представлена одним OFDM символом (256 отсчётов). Пока что как этот метод прикрутить к Wimax'у не понятно.

  17. Доброго времени суток! Столкнулся с проблемой: при добалении в проект корки (FFT от xilinx) время симулирования в Modelsime существенно увеличивается (раз в 20). Пробовал modelsim 6.0c и 6.3f. Также использовал опцию -vopt. Но скорость не возрасла. Подскажите в какую сторону копать ?

  18. Господа, кто-нибудь имел дело с коркой xilinx'a для вычисления FFT ? Имеется плата с АЦП и c Virtex II Pro на борту, которая вставляется в PCI. АЦП работает на частоте 208 Мгц.

    Проблема в том, что при росте частоты сигнала корка начинает выдавать лишние пики в спектре сигнала. Вплоть до частоты 16 МГц наблюдается один пик в спектре (сигнал с генератора - синусоида), а выше 16 Мгц начинают появляться боковые пики, которые располагаются равномерно от главного пика и растут в аплитуде с ростом частоты.

    Сначала думал что это растекание спектра. Входные данные с АЦП умножал на взвешивающее окно - не помогает.

    На спектроанализаторе смотрел сигнал с генератора - всегда наблюдается один пик.

     

    Заранее благодарен.

×
×
  • Создать...