Jump to content

    

Nemos760

Участник
  • Content Count

    30
  • Joined

  • Last visited

Everything posted by Nemos760


  1. Самое понятие меандра подразумевает скважность равную 2, я поэтому про частоту сигнала разрешения относительно тактовой и спрашивал, если это будет меандр, но с меньшим значением частоты, то в него могут попасть 2 такта. В общем всё нормально, мы об одном и том же, но видимо у меня плохо получилось сформулировать вопрос.
  2. Пробежался для интереса по статье. Ногами не бейте, видимо туплю, но к чему комментарий: Имеется ввиду меандр с тактовой частотой, деленной на 2? А то если подавать любой другой меандр, то вроде set_multicycle_path и уж тем более -setup -end 2 неактуальны
  3. Не cразу понял, что у меня лишнее звено to_integer(DATA) с последующим преобразованием в hex, когда можно было сразу писать x"integer", надо избавляться от старых привычек.
  4. Если с vhdl-2008 проблемы, например, используется Quartus lite, то на крайний случай, чтобы при имплементации не было ошибок, можно присвоить этим портам значения virtual pins.
  5. По сути тоже самое, что функция у Flip-Flop, только в виде модуля и выводит в 16-коде. На вход подаются уже готовые данные из другого модуля (выход мультиплексора, управляемого машиной состояний). Никакой проблемы с засветкой никогда не наблюдал. И да, с функцией было бы удобнее.
  6. Благодарю, видимо нужно лучше курить мануалы и искать на форуме. Подтяжка к VCCIO несколько мешает, придется наверное супервизор по питанию дополнительный поставить.
  7. Всем привет. Вопрос по поводу состояния выводов после включения питания на Cyclone V. В даташите по этому поводу нашел только то, что можно включить подтяжку к питанию (weak pull-up resistor), pull-down можно включить только для JTAG TCK. Так же приведены значения внутренних подтягивающих резисторов до и во время конфигурации (25 кОм). Значит ли это, что после первого конфигурирования ПЛИС соответствующей прошивкой подтягивающие резисторы будут работать при подаче питания до окончания конфигурирования? На всякий случай текст из даташита: А вообще должны ли выводы до завершения конфигурирования находится в Z-состоянии? А то что-то больше походе на то, что идет подтягивание к VCCIO
  8. Интересно, спасибо за программку, обязательно попробую. Я так понимаю программка нужна для собственной сборки Linux. Раньше пробовал только по такому принципу - для готовой сборки под Cyclone V (из мануала Using Linux on the DE1-SoC): 1. Ensure that the MSEL switches on the DE1-SoC have been configured to MSEL[4:0] = 5’b01010. 2. Disable the FPGA-HPS bridges (hps2fpga, fpgs2hps, and lwhps2fpga) using the following commands: • echo 0 > /sys/class/fpga-bridge/fpga2hps/enable • echo 0 > /sys/class/fpga-bridge/hps2fpga/enable • echo 0 > /sys/class/fpga-bridge/lwhps2fpga/enable Explanation: the FPGA-HPS bridges facilitate communication between the HPS and FPGA-side components. Since we are about to (re)program the FPGA with new components, we must first disable these bridges to avoid unpredictable behavior. 3. Load the .rbf into the FPGA device using the command: • dd if=<filename> of=/dev/fpga0 bs=1M where <filename> is the full path to your .rbf file. 4. Re-enable the required FPGA-HPS bridges using the following commands: • echo 1 > /sys/class/fpga-bridge/fpga2hps/enable • echo 1 > /sys/class/fpga-bridge/hps2fpga/enable • echo 1 > /sys/class/fpga-bridge/lwhps2fpga/enable
  9. Возможно я порю чушь, но если напрямую в скрипе uboot отключить мосты через # run bridge_disable потом уже указать, где хранится прошивка, загрузить её, а затем обратно включать мосты через # run bridge_enable_handoff А если уж сложности с device tree, то при желании можно воспользоваться утилитой sopc2dts и даже включить GUI.
  10. Если я не ошибаюсь, fdatool в Mathlab давно умеет генерить фильтры в hdl по шаблону с возможностью выбора параллельной, последовательной или смешанной реализации. КИХ фильтр без расчёта импульсной характеристики, т. е. с готовыми коэффициентами очень прост. Это буфер как элемент задержки и умножители с сумматорами. В своё время пришлось самому писать только из-за того, что в используемом чипе не было аппаратных умножителей и пришлось их делать на логике и под них подстраивать модуль фильтра, правда ещё и места для отчётов не хватало для хранения в регистрах и пришлось ещё всё в озу переносить.
  11. По поводу стандартных библиотек - тут прям аминь. По поводу дробления с коллегой постоянно дисскутируем. Он за более мелкое деление даже без повторного использования, а я не вижу смысла на совсем мелкие сущности разделять. Когда нужно разобраться в чужом проекте и особенно исправить какие-то баги, то мне проще целиком модуль смотреть, а ему наоборот. Если конечно это универсальный модуль типа SPI для работы с каким-нибудь ЦАП, то другой разговор. Комментарии тоже привык сразу на функциональные блоки внутри модуля писать.
  12. Если это камень в мой огород, то я тоже использую numeric_std, но был опыт и с библиотеками signed, unsigned и arith, поэтому и вспомнил. Собственно перестал их использовать, когда похожие эффекты возникли при написании ких-фильтра. Плюс ещё и ограничение, что можно использовать только signed или только unsigned, в общем лучше стандартная, хоть и преобразования иногда нужны дополнительные
  13. А если numeric_std заменить на std_logic_signed? Мне кажется там условие будет всегда выполняться, проверить пока не могу, а интересно. Jenya7 не привёл же весь текст модуля
  14. Просматривал темы, стало интересно, что квартус не ругался. В модуле случайно не была подключена библиотека ieee.std_logic_signed?
  15. К сожалению далеко не для всех семейств работает. Есть какое-нибудь решение для этого случая кроме аппаратного, чтобы с супервизора питания не заводить?
  16. А в этом примере счётчик может инициализироваться со значением 10 вследствии чего сброса не будет?
  17. Насколько я понял приоритет у новых данных, а тут если данные обрабатываться будут долго, то новые потеряются. Записывать '0' в триггер надо сразу без CLEAR_FLAG, а FLAG в соседнем процессе использовать как сигнал разрешения перезаписи буферного регистра (так же по переднему фронту). На входе данных поставить пару триггеров для устранения метастабильности и следовательно сделать задержку сигнала разрешения чтения тоже на 2 такта.
  18. Эмм... я где-то писал, что я специалист по разводке печатных плат? Скорее наоборот. Если Вы читали даташит, то видели наверное параметр No. of microcells равный 22,292 для модели 60035. А та схема с 16 диодами, про которые вы говорите, называет "Simplified circuit schematic of the SensL SiPM". Задачу в железе на текущем уровне я решил, спасибо всем.
  19. 1) Да это матрица диодов с лавинным эффектом (а точнее с гейгеровским) с гасящими резисторами в составе чипа. Fast output не использую, т.к. интересует получение огибающей сразу на выходе, а не с помощью ЦОС (хотя в дальнейшем возможно и будет). 2) Про смещение написал в предыдущем посте - на схеме источник тока, а не сам фотодиод. Сначала по п. 4) Сделал 3 разных платы. Трассировка оказалась самым сложным моментом, хотя на плате элементов-то ни о чем. В этом вопросе не силен, но понял, что полигоны рядом с инвертирующим входом - это плохая идея. Насколько я понимаю, это вносит дополнительную емкость. Для первого каскада сделал внутрипетлевую схему коррекции. Для второго уменьшил сопротивление обратной связи, чтобы увеличить корректирующую емкость (емкость монтажа вносит слишком большую погрешность при таком значении корректирующей емкости), правда снизил и R4 - по току ОУ вполне вытягивает. 3) Сильно уменьшить R3 на практике не получилось. Это можно сделать, но надо будет хорошо экранировать всю схему, в противном случае (сейчас) уровень наводок станет сравним с уровнем полезного сигнала. Да и необходимости уменьшать для такой частоты пока нет, разве что в будущем понадобится.
  20. Я наверное напишу это не в последний раз, но видимо сам виноват, надо было в схему впихнуть фотодиод... Видимо я плохо это донес и меня понял только novikovfb На входе в схеме НЕ КФЭУ, а его имитационная модель на источнике тока с паразитной емкостью равной паразитной емкости КФЭУ. Давайте тогда пройдемся по остальному: Всего в КФЭУ не 16 фотодиодов, а 22292. Каждый из них последовательно соединен с гасящим резистором, потому что работают они в гейгеровском режиме. Импульс тока создается на каждом отдельном "пикселе", при этом в зависимости от оптической мощности на входе создается псевдоаналоговый режим за счет количества элементов. Длительность импульса, а именно постоянная времени, будет зависеть от нагрузки, на которую включен КФЭУ, и собственной паразитной емкости. Кроме того, если до момента прихода следующего фотона ячейка еще не разрядилась, то она снова начнет уходить в гейгеровский режим, но с меньшим коэффициентом усиления. 24 В - это только величина обратного напряжения, кроме него есть еще величина "перенапряжения" (overvoltage), составляющая от 1 до 6 В, от которого зависят такие параметры, как коэффициент усиления, темновой ток, коэффициент взаимного влияния и т.д. По схеме включения от производителя: Вы наверное посмотрели то, что в основном даташите… Это схема включения на пассивную нагрузку с согласующим трансформатором. Она подходит только в том случае, если на выходе можно получить ток достаточной величины, чтобы на маленькой пассивной нагрузке получить соответственно достаточный уровень напряжения. Трансимпедансная схема нужна, чтобы снизить влияние паразитной емкости. Кстати, эта схему рекомендует сам производитель в документе "Biasing & Readout TECH NOTE", для интересующихся прикрепляю скриншот. Суть темы - это схемотехнические решения, не понимаю, почему большинство так сосредоточилось на этой ПОВЕДЕНЧЕСКОЙ модели фотоэлемента. По этому поводу вопрос: что изменится, если я вместо I1 и Сpd поставлю фотоэлемент с обратным отрицательным напряжением? Ток потечет в другую сторону? Вроде нет. Я скорее просто не смогу входной сигнал задать, т.к. его источник уже должен будет быть оптическим.
  21. Да всем угодил, возможно потом и его использую, просто в наличии есть именно AD8033, граничная частота конечно ниже, но надеюсь для попробовать сгодится.
  22. КФЭУ SensL MicroFJ-60035-TSV. Емкость у него, я бы сказал, огромная, надо запас по фазе обеспечить. Находил много указаний по применению (application note) у ADI, там, как правило, подключение фотодиодов выполнено аналогичным способом и частотная коррекция в цепи ОС, собственно оттуда и взята схема в качестве основы. Попробую поискать книги. А для чего горожу - прием импульсных сигналов прямоугольной формы, как и писал в начале. Оптическая мощность маленькая, поэтому пока что решил попробовать КФЭУ, как один из вариантов. Фотодиоды не вытягивают. У всех кремниевых ФЭУ есть при этом недостаток - большой темновой ток, но это уже немного другая история. Спасибо за информацию.
  23. Ipd с Cpd на этой схеме всего лишь иммитация импульсного источника тока, не SPICE-модель КФЭУ, об этом я вроде как написал в первом сообщении. К неинвертирующему входу ОУ он подключен не должен быть, на анод подается обратное напряжение. На счет сомнительных формул - это конечно сильно, я не сам её выдумал, она даже в даташите на тот же AD8033 есть и в любом даташите на трансимпедансный усилитель. Соответственно, если сделать R3 на порядок больше, то частота среза станет 460 кГц и о приёме прямоугольных импульсов с частотой 300 кГц можно не говорить. Специально для Вас сделал R3 15кОм и C5 5пФ, АФЧХ для первого каскада из LTSpice
  24. На выходе первого каскада нужно получить ОСШ не ниже 15 дБ и без сильных фазовых искажений. У AD8033 плотности шума по току и напряжению, приведенные ко входу, довольно низкие 0,7 фА/√Гц и 11 нВ/√Гц соответственно. Если ограничиться полосой в 1,5 МГц, то это 0,9 пА и 13,5 мкВ. Если я правильно рассуждаю, то усилением по напряжению фактически можно пренебречь, потому что полное сопротивление КФЭУ очень велико, на выходе передается шумовой ток с тем же трансимпедансом, что и фототок, а 0,9 пА сильно меньше 13 мкА. Амплитуду нужно получить максимально возможную, это опять же в первую очередь относится к первому каскаду, т.к. по сути он будет определяться ОСШ. Т.к. принимаются прямоугольные импульсы, то нужно сохранить форму на приеме, обеспечить по возможности ровную полку без горбов, т.к. большие горбы на компараторе никаким гистерезисом потом не отфильтруешь, ну и чувствительность резко упадет. С этим у меня как раз основные сложности, т.к. опыта в аналоговой схемотехнике не столько, сколько хотелось бы.