Jump to content

    

Manfred

Участник
  • Content Count

    62
  • Joined

  • Last visited

Community Reputation

0 Обычный

About Manfred

  • Rank
    Участник

Старые поля

  • skype
    Array
  • Facebook
    Array
  • Vkontakte
    Array
  • LinkedIn
    Array

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array

Recent Profile Visitors

1485 profile views
  1. Вам нужно несколько специалистов. Во-первых научный руководитель или аспирант по специальности акустика, ультразвуковая дефектоскопия, сонары - можно по совместительству (врядли на форуме электоники Вы его найдете). Во-вторых схемотехник-разводчик ПП который разбирается в пьезоэлементах (передача +-100 В, синхронный приём сигналов - милливольты. На сторону разводку лучше не отдавать, чтобы получить хорошую аналоговую часть), дальше программист ПЛИС для выборки и хранения значений нескольких сот АЦП, программист-математик и специалист по визаулизации который реализует алгоритмы научного руководителя
  2. Для воды сонар можете просто купить. Решетки все импортные. Для плат возбуждения и приёма есть готовые микросхемы. Сонары тематика дорогая, отечественные существуется, помоему, только для ВПК. С воздухом сложнее, решеток нет, надо самим конструировать где-то на 80 кГц (но боюсь сделать её сможет только производитель пьезоэлементов, шаг решетки должен быть полдлины волны ~2 мм элементов минимум 16х16). Если не задаваться целью получения нормальной картинки и объект одиночный, то можно обойтись несколькими приемопередатчиками с перекрывающимися диаграммами направленности, но излучать будет только один передатчик.
  3. При добавление в 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 или нет.
  4. Спасибо за ответ, в новых версиях 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 порт какой-то параметров (скорость передачи, количество бит или т.п.) - из-за это вылетает исключение не верные параметры.
  5. Спасибо, перенос в 0xC000_0000 определенно помог, адреса на внешней шине теперь правильные выставляются
  6. К микроконтроллеру STM32H7 подключено ПЛИС по мультиплекированной асинхронное шине Address / Data на 16 бит (без частоты и сигнала ожидания, FIFO по записи отключено, кеш процессора отключен, оптимизация компилятора тоже). Все сконфигирировано через последний CubeMx. Проблема в том, что не удается корректно читать ПЛИС. Уже думаю сымитировать шину ножками. Чтения по адресу 0x6000'0000 инициализируют обмен, как просто по volatile указателю так и через HAL функции. Пишу логическим анализатором ПЛИС всю шину. Управляющие сигналы похожи на ожидаемые (address valid, nwe, noe, ne1, byte enable), странности в поведение адреса и количестве обменов. Первый вопрос: как отключить кеширование внешней шины. Чтение шины происходит даже раньше, чем я его запрашиваю и сразу пакетом (много чтений). Второй вопрос: странный протокол адреса. При чтение 32х разрядного числа по адресу 0x6000'0000 получаю в первом цикле адрес 0x0000, во втором 0x0201. Такое впечатление что 2 какой-то управляющий сигнал в 9 бите (слипнуться ноги не могут)
  7. Про четыре элемента - это означает то, что фон в интерференционной картинке будет отличать максимум в 4 раза (реально в 2). В ФАР, где 128 и более приемников интерференция получается гораздо более сильная. Мое устройство с активной решеткой было на 32 элемента, картинка складывалась вполне нормально. Как делается в РЛС я более менее знаю, 15 лет работал в радиолокации - это называется синтезируемая апертура. Это тот же самый ФАР (ЦФА). Вы делаете, например, 1024 выборки синхронно с 4х АЦП. Затем записанные сигналы суммируете с задержками. По каждому направлению получиться группа отсчетов длинной от 256 до 1024, так как расстояние до источника не получить, то все отсчеты можно сложить по амплитуде (огибающие) - это даст дополнительную чувствительность за счет накопления. Все остальные методы - изменение фазы сигнала или корреляции - не устойчивы. Не понятно, что принять за сигнал и источников может быть много. Интерференционная картинка самое эффективное (в сущности это корреляции всех со всеми). От переотражений, которых бояться, можно избавиться перемещая антенну или используя 2 антенны, реальные источники будут оставаться на месте, а переотражения будут сдвигаться (картинки надо совместить, конечно, на основание расстояния между антеннами и направления их оптических осей)
  8. Если Вы видели прибор, то схемотехнику и конструкцию не я разрабатывал, это еще до меня был разработчик
  9. Меня смутила эта фраза: поэтому начал писать от печки Информация о типе сигнала для расчета задержек не важна. Нужна только геометрия и скорость распространения, если принять что скорость распростанения сигналов с разной частотой одинакова. Я уж делал и работало примерно как импортные приборы, с учетом что это был макет. На нормальный прибор денег не нашли. Ни чего особо сложного, но ультразвуковые ФАР дефертоскопы и УЗИ у нас все импортные, сонары может только для оборонки есть, хотя вакансий по ним ни когда не видел. За нормальную зарплаты я бы с удовольствием пошел опять заниматься аккустически ФАРом
  10. Фаза вообще не причем, ни какую фазу ни кто не меряет, нужна амплитуда сложенных с задержками сигналов (фаза учитывается в задержках). Направление определяется по тому с какой стороны (по какому лучу) получился максимальный сигнал. Сигнал также можно накопить. Типичный аккустический сигнал обычно широкополосный с меняющейся частотой. Фильтр Гильберта + абсолютное значение IQ сигналов всегда дает идеальную огибающую. Единственное надо убрать постоянную частоту из I сигнала.
  11. Задержки считаются на основание длины пути от источника до микрофона и скорости распространения волны. Если источник в бесконечности, волна от него плоская, то просто формуле треугольников. В ФАР считаются все возможные направления с некоторым угловым шагом, а потом определяется направление из которого был максимальный сигнал
  12. Фильтру Гильберта не нужна несущая, огибающая строиться без несущей (можно заменить дествительным значением, но это лишняя погрешность). Несущая нужна, если использовать гетеродин и меряются фазы относительно несущей. В ФАР сигналы складываются еще до постороения огибающей, после этого нужна только амплидута сигналов (аккустический ФАР у меня работал)
  13. Нужно обычный ФАР считать, а не фазы сигналов мерить - рассчитывать лучи в разных направлениях и искать в каких направлениях сигнал больше, чем в других. Потребуется: - широкополосный полосовой фильтр (не искажающий фазу), чтобы убрать постоянную частоту - расчет задержек - 4 буфера памяти для выборок данных (для определения размеров буферов надо задаться частотами, углами сканирования и расстоянием между микрофонами) - 4 сумматора данных из буферов с задержками - фильтр Гильберта для получения IQ сигнала и огибающей Главное выборку во все буфера делать одновременно и с постоянной частотой, иначе интерференционная картинка не сложится, и раз в 8 быстрее максимальной частоты сигнала. 4 элемента для ФАР очень мало, но можно сложить отчеты по каждому направлению - т.е. по каждому направлению получится только одно число
  14. Почему всё это не сделать на покупной макетной плате у которой есть 4 входа АЦП?