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

Manfred

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

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

  • Посещение

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


  1. Разработчик ПЛИС/FPGA, программист микроконтроллеров Запрограмирую ПЛИС и микроконтроллеры, разработаю схемотехнику, напишу технологические и тестовые программы для ПК на Qt/C++ или С# (Linux, Windows). Готов открыть ИП. Ставка $8/час (120 т.р. в месяц), минимальный срок 1 месяц. Открыт для предложений по работе за рубежом на месте или удаленно. Английский - Upper Intermediate. Полное резюме на LinkedIn: https://www.linkedin.com/in/michael-menshikov/ Примеры моего Verilog кода: https://opencores.org/users/Papayaved/profile Примеры моего C/C++ кода: https://github.com/papayaved Correo electrónico: Susanin(coбаka)Янdekc py Работал с Altera, Xilinx, GoWin, использую Questa/ModelSim для моделирования, работал с СнК/SoC на программных процессорах, программировал микроконтроллеры AVR, STM32, многоядерный процессор XMOS, настраивал микросхемы Cypress USB, работал с SerDes АЦП, разрабатывал платы PCI, использовал Ethernet, реализовывал ЦОС, управлял электродвигателями, работал с ультразвуком и радарами, разработал ЧПУ для станка.
  2. Вам нужно несколько специалистов. Во-первых научный руководитель или аспирант по специальности акустика, ультразвуковая дефектоскопия, сонары - можно по совместительству (врядли на форуме электоники Вы его найдете). Во-вторых схемотехник-разводчик ПП который разбирается в пьезоэлементах (передача +-100 В, синхронный приём сигналов - милливольты. На сторону разводку лучше не отдавать, чтобы получить хорошую аналоговую часть), дальше программист ПЛИС для выборки и хранения значений нескольких сот АЦП, программист-математик и специалист по визаулизации который реализует алгоритмы научного руководителя
  3. Для воды сонар можете просто купить. Решетки все импортные. Для плат возбуждения и приёма есть готовые микросхемы. Сонары тематика дорогая, отечественные существуется, помоему, только для ВПК. С воздухом сложнее, решеток нет, надо самим конструировать где-то на 80 кГц (но боюсь сделать её сможет только производитель пьезоэлементов, шаг решетки должен быть полдлины волны ~2 мм элементов минимум 16х16). Если не задаваться целью получения нормальной картинки и объект одиночный, то можно обойтись несколькими приемопередатчиками с перекрывающимися диаграммами направленности, но излучать будет только один передатчик.
  4. При добавление в CubeMX 5.2.1 + FW1.3.2 шины FMC (Mux PSRAM) виртуальный COM порт перестает записывать параметры. Если закоментировать инициализацию FMC, то виртуальный COM порт опять работает полноценно. MX_USB_DEVICE_Init(); // MX_FMC_Init(); Замена порядка инициализации не помогает. Снятие разрешения на запись в FMC в CubeMX тоже не влияет. В варианте CubeMX 4.27.0 и FW1.3.2 все еще хуже. В функции MX_USB_DEVICE_Init(), нет инициализации HAL_PWREx_EnableUSBVoltageDetector(), если добавить в ручную, работает не стабильно. При включенном USB кабеле микроконтроллер при включение питания зависает, так что его даже нельзя его стереть, пока не отключишь UBS кабель. C FMC таже проблема. В варианте CubeMX 5.2.1 + FW1.4.0 запись параметров виртуального COM порта не работает не зависимо, есть FMC или нет.
  5. Спасибо за ответ, в новых версиях FirmWare структуры выглядят несколько по другому. Device_SubClass я исправлял на 0, но это не играет роли. Оказалось, что для STM32H7 надо пользоваться FW1.3.2, с ней все в порядке, а FW1.4.0 работает некорректно. От CubeMX 5.2.1 или CubeMX4.27 не зависит. Интересно, что Си функции fopen("COM6", "r+"), fwrite, fgetc, fclose - работают и в Windows 10, без всякой конфигурации. Проблема у FW1.4.0 именно в конфигурации COM порта - специализированным библиотекам не удается записать в COM порт какой-то параметров (скорость передачи, количество бит или т.п.) - из-за это вылетает исключение не верные параметры.
  6. STM32H743ZI + FPGA + Mux PSRAM

    Спасибо, перенос в 0xC000_0000 определенно помог, адреса на внешней шине теперь правильные выставляются
  7. STM32H743ZI + FPGA + Mux PSRAM

    К микроконтроллеру STM32H7 подключено ПЛИС по мультиплекированной асинхронное шине Address / Data на 16 бит (без частоты и сигнала ожидания, FIFO по записи отключено, кеш процессора отключен, оптимизация компилятора тоже). Все сконфигирировано через последний CubeMx. Проблема в том, что не удается корректно читать ПЛИС. Уже думаю сымитировать шину ножками. Чтения по адресу 0x6000'0000 инициализируют обмен, как просто по volatile указателю так и через HAL функции. Пишу логическим анализатором ПЛИС всю шину. Управляющие сигналы похожи на ожидаемые (address valid, nwe, noe, ne1, byte enable), странности в поведение адреса и количестве обменов. Первый вопрос: как отключить кеширование внешней шины. Чтение шины происходит даже раньше, чем я его запрашиваю и сразу пакетом (много чтений). Второй вопрос: странный протокол адреса. При чтение 32х разрядного числа по адресу 0x6000'0000 получаю в первом цикле адрес 0x0000, во втором 0x0201. Такое впечатление что 2 какой-то управляющий сигнал в 9 бите (слипнуться ноги не могут)
  8. Про четыре элемента - это означает то, что фон в интерференционной картинке будет отличать максимум в 4 раза (реально в 2). В ФАР, где 128 и более приемников интерференция получается гораздо более сильная. Мое устройство с активной решеткой было на 32 элемента, картинка складывалась вполне нормально. Как делается в РЛС я более менее знаю, 15 лет работал в радиолокации - это называется синтезируемая апертура. Это тот же самый ФАР (ЦФА). Вы делаете, например, 1024 выборки синхронно с 4х АЦП. Затем записанные сигналы суммируете с задержками. По каждому направлению получиться группа отсчетов длинной от 256 до 1024, так как расстояние до источника не получить, то все отсчеты можно сложить по амплитуде (огибающие) - это даст дополнительную чувствительность за счет накопления. Все остальные методы - изменение фазы сигнала или корреляции - не устойчивы. Не понятно, что принять за сигнал и источников может быть много. Интерференционная картинка самое эффективное (в сущности это корреляции всех со всеми). От переотражений, которых бояться, можно избавиться перемещая антенну или используя 2 антенны, реальные источники будут оставаться на месте, а переотражения будут сдвигаться (картинки надо совместить, конечно, на основание расстояния между антеннами и направления их оптических осей)
  9. Если Вы видели прибор, то схемотехнику и конструкцию не я разрабатывал, это еще до меня был разработчик
  10. Меня смутила эта фраза: поэтому начал писать от печки Информация о типе сигнала для расчета задержек не важна. Нужна только геометрия и скорость распространения, если принять что скорость распростанения сигналов с разной частотой одинакова. Я уж делал и работало примерно как импортные приборы, с учетом что это был макет. На нормальный прибор денег не нашли. Ни чего особо сложного, но ультразвуковые ФАР дефертоскопы и УЗИ у нас все импортные, сонары может только для оборонки есть, хотя вакансий по ним ни когда не видел. За нормальную зарплаты я бы с удовольствием пошел опять заниматься аккустически ФАРом
  11. Фаза вообще не причем, ни какую фазу ни кто не меряет, нужна амплитуда сложенных с задержками сигналов (фаза учитывается в задержках). Направление определяется по тому с какой стороны (по какому лучу) получился максимальный сигнал. Сигнал также можно накопить. Типичный аккустический сигнал обычно широкополосный с меняющейся частотой. Фильтр Гильберта + абсолютное значение IQ сигналов всегда дает идеальную огибающую. Единственное надо убрать постоянную частоту из I сигнала.
  12. Задержки считаются на основание длины пути от источника до микрофона и скорости распространения волны. Если источник в бесконечности, волна от него плоская, то просто формуле треугольников. В ФАР считаются все возможные направления с некоторым угловым шагом, а потом определяется направление из которого был максимальный сигнал
  13. Фильтру Гильберта не нужна несущая, огибающая строиться без несущей (можно заменить дествительным значением, но это лишняя погрешность). Несущая нужна, если использовать гетеродин и меряются фазы относительно несущей. В ФАР сигналы складываются еще до постороения огибающей, после этого нужна только амплидута сигналов (аккустический ФАР у меня работал)
  14. Нужно обычный ФАР считать, а не фазы сигналов мерить - рассчитывать лучи в разных направлениях и искать в каких направлениях сигнал больше, чем в других. Потребуется: - широкополосный полосовой фильтр (не искажающий фазу), чтобы убрать постоянную частоту - расчет задержек - 4 буфера памяти для выборок данных (для определения размеров буферов надо задаться частотами, углами сканирования и расстоянием между микрофонами) - 4 сумматора данных из буферов с задержками - фильтр Гильберта для получения IQ сигнала и огибающей Главное выборку во все буфера делать одновременно и с постоянной частотой, иначе интерференционная картинка не сложится, и раз в 8 быстрее максимальной частоты сигнала. 4 элемента для ФАР очень мало, но можно сложить отчеты по каждому направлению - т.е. по каждому направлению получится только одно число
  15. Почему всё это не сделать на покупной макетной плате у которой есть 4 входа АЦП?
  16. Работа программы NIOS очень хорошо моделируется в ModelSim вместе с FPGA. Надо запустить тестбенч системы в целом и посмотреть, где теряются данный. Физически смотреть данные надо с помощью программы Wireshark, на некоторый сетевых картах он умеет показывать даже порченные пакеты со сдвинутыми битами, не правильными CRC и прочими ошибками
  17. Ищу дополнительную удаленную работу по ПЛИС Altera (SystemVerilog) и NIOS (Си). Напишу отладочное ПО на ПК C#, Qt. Работе смогу уделять до 2х дней в неделю.
  18. Насколько я понял это HMI интерфейс для ПЛК, т.е. с данными ПЛК должен работать, например по ModBus http://es-electro.ru/market/goods/mt4414t_...el_7_duimov_71/
  19. Микрофоны с PDM интерфейсом - это ШИМ потребуется 64 таймера. Да и для ФАР особо важна синхронность выборок. Данные ФАР можно буферизировать, а не гнать постоянный поток. Записали в память, обработали. Надо прикинуть какие задержки нужны для сканирования лучем, скорее всего достаточно большие, от этого зависит объем памяти требуемый для хранения данных. Также могут быть проблемы со скоростью обработки данных. В электронике оно обязательно понадобиться, так можно съэкономить, но шансов что Вы настроите плату удаленно не много.
  20. Не указано где Вы находитесь территориально, личное присутствие при такой работе будет нужно 64 канала * 24 бита * 48 кГц ~ 71 Мбит/c У Вас точно такой быстрый SPI, умеет ли он работать на такой скорости в режиме Slave? К кому вы хотите стыковать устройство? Это какой-то звуковой ФАР? Скорее всего Вам удобнее всего будет ПЛИС. Смысла делать расширяемое решение нет, думаю проще будет сделать сразу 64 канала, в принципе по началу можно ограничиться покупной макетной платой. Если делать свою плату, то по срокам думаю это месяца 4 начиная со схемотехники до настройки, по 8 часов в день. Оплата должна быть выше рыночной на постоянной работе с учетом отчислений
  21. Съем жилья в Москве не такой уж и дорогой, особенно, если снимать за МКАД. Я плачу 18 т.р. за однокомнатную в Красногорске (сайт ЦИАН). Перебрался из Питера, чтобы хоть немного поинтереснее работа была, чем на питерских оборонках. Но поездки на работу на другую сторону Москвы могут занимать по 3 часа в одну сторону. Смена работы в Москве требует также переезда) Продукты и товара в Москве дешевле, бензин дороже, проезд по сравнению с Питером на электричках дешевле
  22. Вы не написали где находитесь территориально, такие программы надо отлаживать с железом. Также не написали, что за IDE вы хотите использовать (Visual Studio C++/C#, C++ Qt, C++ Builder) С разводкой, похоже, надо моделировать в современно САПР. С платами с которыми я работал получилось все плохо (использовали Cypress FX3), стабильно работало только на коротком кабеле. Также не следует ставить маленький разъем USB, он рвет на плате проводники, рано или поздно. Паралельная линия данных ПЛИС - FTDI также будет звинеть, особенно на кодах 0, -1 - надо использовать поменьше напряжение ножек IO и ограничить ток в ПЛИС. Не понятно, что включает в себя работа, требуется ли программировать ПЛИС? Либо это только конфигурирование микросхемы FTDI и организация протокола взаимодействия на основание библиотек FTDI, детали протокола должны быть скрыты от пользователя в библиотеках dll, чтобы он самостоятельно не смог подключиться к этому устройству
  23. Ровно 3200 Mbps не получиться - это максимальная пропускная способность паралельного интерфейса микросхемы FTDI - т.е. всегда будут потерянные данные. В Windows надо принимать по событию, в отдельном потоке и писать в потокозащищенное FIFO в котором уже храняться заранее сформированные буферы под пакеты максимального размера (чтобы не было динамического выделения памяти). Скорость приема будет зависить от железа компьютера. Если плата FPGA вашего производства, то USB 3.0 очень чувствительно к разводке. Как линий передачи данных так и к питанию микросхемы. Чтобы не было переполнений буфера можно использовать режим Bulk, тогда если данные компьютером не прочитаны микросхема на плате перестает посылать данные и выставляет сигнал FULL Насчет программирования ПЛИС, то на этой микросхеме помоему не удастся съэмитировать процесс программирования ПЛИС или даже подать сигнал Reset на ПЛИС - она помоему не содержит процессора, а интерфейсы программирования ПЛИС отличаются от интерфейса FIFO
  24. Благодаря форуму нашел фриланс по управлению шаговыми двигателями для станка ЧПУ (проект ПЛИС), сейчас поиск работы опять актуален. Ищу только в Москве или Московской области. ПЛИС + программирование, либо одно программирование.
×
×
  • Создать...