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

vitzap

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

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

  • Посещение

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


  1. Делал такое - загрузка AD9361 на цифровом автомате. Но стояла задача настройки "в один режим", и потом перестройка опорной частоты. В целом вроде работало. Вечером посмотрю что осталось - могу поделиться. По AD9361 регистры более-менее документированы, скачивался основательный талмуд+библиотеки для C. Сейчас думаю, что тогда правильней бы было поднимать ядро процессора и использовать библиотеки AD, но на тот момент у заказчика была позиция "никаких софт-процессоров". У вас, насколько я понимаю, Zynq - там уже процессор есть.
  2. - Вы чипов продаете? - Нет, просто показываем - Красивое...
  3. Сдается мне, что при переходе от аналогового фильтра к цифровому и обратно необходимо учитывать деформацию частотной шкалы либо задать частоту дискретизации повыше, чтоб она не влияли на результат.
  4. У меня при таких глюках reset_project помогает, а еще перезагрузка системы.
  5. Стоит заметить, что результаты он все-таки сохраняет - внизу пишет что-то вроде "results saved to ...\..\!@#.ila" и их потом можно открыть.
  6. Счетчик с разрешением счета. Сбрасываем счетчик по переднему фронту приходящего импульса, регистрируем событие по заднему. Как-то так: input imp; input clk; output reg [15:0] result; reg imp_rg; reg imp_rg2; reg [15:0] count; wire rise_imp, fall_imp; assign rise_imp = imp_rg & ~imp_rg2; assign fall_imp = ~imp_rg & imp_rg2; always @(posedge clk) begin imp_rg <= imp; imp_rg2 <= imp_rg; if (rise_imp) count <= 0; else if (imp_rg) count <= count+1'b1; if (fall_imp) result <= count; end
  7. Все с точностью до наоборот. Разработка здесь, "негры" - там. В названии и символике обыгран уральский фольклор.
  8. Как вариант, можете поддержать отечественного производителя. http://www.planarchel.ru/Products/Measurement instrument Самый дешевый векторный анализатор Обзор-TR1300/1 (до 1,3ГГц) выйдет даже дешевле. С другой стороны, возможностей для обучения все-таки меньше.
  9. А какова цель данной разработки? Ведь на рынке полно подобных устройств. Например, Endress+Hauser Memograph, Мультиграф завода "Теплоприбор", Элметро ВИЭР.
  10. А после получения диплома вы, наверное, захотите на работу устроиться... Посмотрел - никакой сверхзадачи перед вами не ставят. Если хотите учиться - учитесь. Если чувствуете, что не ваше - переводитесь на другую специальность. Если кто-нибудь сделает вам этот проект - вам еще нужно будет объяснить, что там в коде написано.
  11. Зависит от емкости. Маленькие - 3.5$/шт на Digikey Вообще CPLD всегда дорогие, особенно если считать на ячейку. У Lattice еще есть недорогая серия Ice, но это вообще-то FPGA, причем ее грузить надо чем-то, внутри у них однократная ПЗУ. Поработать я с ними хотел, но не успел - пришлось перейти на другую работу. Дешевле, наверное, только китай. Со встроенной флэш-памятью - серии маленьких FPGA MachXO. Работал с ними, в принципе доволен - сюрпризов не заметил, электричества жрут мало (серия ZE), софт почти удобный (так и не нашел надежного способа привязать регистр к конкретной ячейке).
  12. У Lattice есть серия CPLD ispMACH 4000. Софт свежий, программируются от FTDI. У Xilinx была серия Coolrunner-II - вроде бы еще не снята с производства.
  13. Вообще, в задачах измерения уровня жидкости успокоительные колодцы часто применяются - как раз для уменьшения пены и прочего. Для снижения капиллярного эффекта эти колодцы делают с отверстиями.
  14. Может быть, сшивка земляных полигонов? Но в любом случае выглядит странно.
  15. Интересно, а неподключенные подстроечные элементы разве никак не влияют на линию передачи?
  16. "Чудеса" у меня случались с JTAG на более коротком шлейфе - в итоге порядка 40 см. На осциллографе правда были видны искаженные из-за переотражений фронты. Ситуацию улучшили последовательно запаянные сопротивления порядка 33 Ом. Может быть, помехи какие ловятся на провод - попробуйте применить экранированный кабель.
  17. По всей видимости, вам нужно конструкцию save_reg=ram_read_data; оформить в виде комбинационной логики. Для этого вынести это присваивание и условия в еще один always @(*) if (условие) save_reg=ram_read_data; Либо сделать save_reg как wire и оформить в виде тетрарной операции - нечто вроде assign save_reg = (условие) ? ram_read_data : save_reg Но в любом случае надо представлять, в виде каких конструкций этот код синтезируется.
  18. Задержка в пинах - да, калибруется. Задержка на LUT-ах или чем-то еще - только если сделать механизм калибровки вручную, но это титанический труд.
  19. Странное задание. В этих микросхемах есть программируемая задержка входа для пинов, но дискрета около 105 пс. В любом случае, если что-то сделать на разнице задержек внутренних элементов, то все это будет плыть не только от результата размещения, но и от флуктуаций питания, температуры и просто от того, что на нее не так посмотрели.
  20. Насколько я помню, либы эти были с открытыми исходниками и неплохо читались. То есть можно было все действия повторить в baremetal. Когда-то я сделал инициализацию ad9361 через цифровой автомат, однако не скажу, что это было хорошее решение.
  21. 1. Как насчет линий передачи с опорным слоем? Как раз конфигурацией стека и определяется, какие линии передачи будут возможны. 2. Вы хотели сказать, простота отладки, чтоб можно было каждый сигнал посмотреть, а если что - дорожку резануть? Тут не поспоришь... пока в схеме не появились BGA корпуса. И с BGA просто приходится каждый сигнал толкать внутрь, и дуршлаг как раз получается. 1. Резонансы между полигонами - не нужно пугать топикстартера такими страшными словами. Если вы говорите о таких вещах, скорее всего плата работает на частотах 5 ГГц и выше (навскидку). 2. Ну так они и прекрасно "ловят" друг друга. Есть эмпирическое правило "три ширины дорожки", но если линия критична к помехам, то всегда можно посчитать взаимное влияние, а лучше промоделировать.
  22. Разница есть. Дело в том, что полигон земли экранирует помехи от сигнальных проводников с верхнего слоя на нижний. Плюс к этому, пара полигонов земля-питание создают емкость для фильтрации помех по питанию.
×
×
  • Создать...