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

    

BioWolf2000

Свой
  • Публикаций

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

  • Посещение

Репутация

0 Обычный

Информация о BioWolf2000

  • Звание
    Частый гость
  • День рождения 21.02.1980

Контакты

  • Сайт
    http://
  • ICQ
    280907035

Информация

  • Город
    Беларусь, Минск
  1. Умножение и деление в ядрах АРМ

    С осциллографом измерения уже делали ) https://blog.classycode.com/esp32-floating-...ce-6e9f6f567a69 В микросекундах Можно попробовать использовать ядро Cortex-M7 с double precission FPU
  2. Вариант конечно глянуть еще схему магнитолы pioneer mvh-280fd. В интернете она есть Внутри собран повышающий преобразователь до 20В для питания усилителя мощности на элементах IC301(AP3603), Q301, Q302 (NVMFS5834), D301, D302 (NRVB2045), L301, L302, L303 И сам усилитель Class-D TAS5414 Заявлено 4x100Вт. В реале 43Вт RMS при питании 20.4В Или купить автомобильный усилитель типа URAL (Урал) PT 2.1200F Нижняя граница частотного диапазона 10 Гц Верхняя граница част. диапазона 20000 Гц Мощность на канал при 2 Ом 900 Вт (x2 - RMS) Мощность на канал при 4 Ом 600 Вт (x2 - RMS) Мощность на канал при 1 Ом 1200 Вт (x2 - RMS) Класс усилителя D Мостовое подключение при 4 Ом 1800 Вт (x1 - RMS) Вобщем решений масса
  3. Lwip

    Я правил файл stm32f7xx_hal_eth.c добавляя инструкцию __DSB(); CODE heth->TxDesc = (ETH_DMADescTypeDef *)(heth->TxDesc->Buffer2NextDescAddr); } } ////////////////////// __DSB(); ///////////////////// /* When Tx Buffer unavailable flag is set: clear it and resume transmission */ if (((heth->Instance)->DMASR & ETH_DMASR_TBUS) != (uint32_t)RESET) { /* Clear TBUS ETHERNET DMA flag */ (heth->Instance)->DMASR = ETH_DMASR_TBUS; /* Resume DMA transmission*/ (heth->Instance)->DMATPDR = 0; }
  4. И намного лучше Visual Studio with visualgdb? Есть смысл переходить? Как там с визуализацией Freertos?
  5. Вообще непонятно, что надо получить. Фронт наносекунды или пикосекунды? Спад сигнала экспоненциальный или любой? Слишком мало исходных данных. Как-то делал генератор импульсов(1000В, 100кГц) на полевом транзисторе 1200В . Конденсатор 1нФ(заряжался через резистор килоомный), разряжал MOSFET, положительный импульс получал с помощью трансформатора из коаксиала на феррите. Выход полевика - на центральную жилу, оплетка на землю. На выходе трансформатора наоборот - центральная жила на землю, оплетка - выход. После транзистора - резистор в районе десятков Ом последовательно с центральной жилой и паралельно ему конденсатор на несколько десятков пикофарад. Фронт получал около 1 нс. И надо сигнал смотреть осциллографом с 50 Омным входом. Естественно с внешними аттенюаторами 50 ом на входе, соединенными последовательно, для распределения мощности(эдакая колбаска получалась). Затвором дергал без резистора с помощью драйвера MOSFET 12В с током 6А по-моему. Давно это было, в 2003 году. Для низких напряжений может подойдут диоды с накоплением заряда (SRD). А вообще можно почитать журнал "Приборы и техника эксперимента" тех лет. Там такие задачи постоянно решались. Тогда даже немного побаловался с ДДРВ диодами Кстати - в схеме не ошибка случаем с конденсатором - 1пФ?
  6. stm32f7+Lwip+lan8742

    Цитата(Kot_Schrodingera @ Dec 1 2017, 10:43) Поставил вторую сетевуху и сделал мост Нашел эту большую паузу, оказалось вот что Код5288    69.077155    172.29.21.156    172.29.21.190    TCP    1514    [TCP Previous segment not captured] 20020 → 40392 [ACK] Seq=1814255 Ack=3988 Win=1865 Len=1460 5289    69.077975    172.29.21.190    172.29.21.156    TCP    60    [TCP Dup ACK 5286#1] 40392 → 20020 [ACK] Seq=3988 Ack=1812795 Win=65535 Len=0 5311    70.366679    172.29.21.156    172.29.21.190    TCP    1514    [TCP Retransmission] 20020 → 40392 [ACK] Seq=1812795 Ack=3988 Win=1865 Len=1460 то есть я правильно понял?что процесс retransmission занимает секунду? У меня без Data Synchronization Barrier тоже около секунды было. В STM32F7 серии из-за кэшей может неккоректно DMA работать. И вообще, мне кажется, с выходом F7 серии ST бездумно перенесла код драйверов с 4-ой серии. Очень уж сырые библиотеки
  7. stm32f7+Lwip+lan8742

    В такой связке тоже были проблемы. Долго изучал пакеты Wireshark и видел непонятные паузы. Проблема решилась правкой в файле stm32f7xx_hal_eth.c функции HAL_ETH_TransmitFrame добавлением строки __DSB(); Код      heth->TxDesc = (ETH_DMADescTypeDef *)(heth->TxDesc->Buffer2NextDescAddr);     }   }    //////////////////////    __DSB(); /////////////////////        /* When Tx Buffer unavailable flag is set: clear it and resume transmission */   if (((heth->Instance)->DMASR & ETH_DMASR_TBUS) != (uint32_t)RESET)   {     /* Clear TBUS ETHERNET DMA flag */     (heth->Instance)->DMASR = ETH_DMASR_TBUS;     /* Resume DMA transmission*/     (heth->Instance)->DMATPDR = 0;   }
  8. stm32f407 проблемы с usb

    Была похожая проблема, когда работал с ethernet. Попробовать внимательно изучить map файл. У меня переменная линковщиком дублировалась почему-то во флэш память и размер получаемого bin получался больше 520мб. И работало также до первого выключения питания. По ресет все работало отлично
  9. иструкции cortex-m3 DMB/DSB/ISB/LDREX/CLREX/TBB

    Наткнулся на интересный баг в STM32F767. Эзернет работает, но иногда в Wireshark проскакивают пакеты TCP DUP ACK и Retransmission. Ложится передача на 0.3с, что для моего устройства с модбас критично. Проблема устраняется редактированием файла stm32f7xx_hal_eth.c В функции HAL_StatusTypeDef HAL_ETH_TransmitFrame(ETH_HandleTypeDef *heth, uint32_t FrameLength) перед Код /* When Tx Buffer unavailable flag is set: clear it and resume transmission */   if (((heth->Instance)->DMASR & ETH_DMASR_TBUS) != (uint32_t)RESET)   {     /* Clear TBUS ETHERNET DMA flag */     (heth->Instance)->DMASR = ETH_DMASR_TBUS;     /* Resume DMA transmission*/     (heth->Instance)->DMATPDR = 0;   } вставляем инструкцию __DSB(); Подозрение, что не успевают обновляться данные в DMASR и получаем ложную ошибку
  10. LwIP обработка ошибок

    Цитата(SasaVitebsk @ Aug 30 2017, 17:14) У меня ещё, кроме того, если остановку проца в дебаге делаю, то ethernet отваливается. У меня в дебаге на раз пятый отваливается. Кто-нибудь победил? Процессор STM32F767 Пример взял для Stm32 из freemodbus 1.9 evalution version с сайта https://www.embedded-solutions.at. С версией 1.5 все работало не стабильно, непонятные ошибки с PBUF в LWIP и так далее
  11. Tracealyzer для FreeRTOS

    Патч заработал. Только начал разбираться. Я так понимаю это похоже на Profiler от VisualGDB?
  12. В Keil v.5.24.2 установил компилятор V6.7. Проект стал компилироваться за 12 секунд с включенным Browse Information. Чтобы не выдавало предупреждения, поставил в настройках AC5-like Warnings. Единственная проблема была с компиляцией ассемблерных вставок, генерируемых кубом. В установленной папке STM32Cube подправил файл FREERTOS-STM32F7xx_Configs.xml Заменил строки Код<SubComponent Csub="Keil">    <!-- Keil refers to RVDS files -->             <File Category="source" Name="Source/portable/RVDS/ARM_CM7/r0p1/port.c"/>             <File Category="header" Name="Source/portable/RVDS/ARM_CM7/r0p1/portmacro.h"/>         </SubComponent> на Код<SubComponent Csub="Keil">    <!-- Keil refers to RVDS files -->             <File Category="source" Name="Source/portable/GCC/ARM_CM7/r0p1/port.c"/>             <File Category="header" Name="Source/portable/GCC/ARM_CM7/r0p1/portmacro.h"/>         </SubComponent>
  13. Цитата(alexunder @ Jun 22 2017, 21:41) Кстати, выше в этой теме предлагали ОУ с входами на биполярных транзисторах. Вы пробовали искать app. notes у Хамаматсу по таким ФД? Иногда в подобных документах дают намек как правильно реализовать усилитель. Уверен, что сами Хамаматсу предлагают готовый модуль усилителя, но стоит он, наверное, как четыре диода PS. Чем вызвано желание использовать InAsSb фотодиод? Как раз у ADA4898 en=0.9nV/sqHz Меньше уже и не найдешь наверное. А желание использовать InAsSb фотодиод возникло с необходимостью регистрировать сигналы в диапазоне 1-5мкм. Hamamatsu сняло с производства все датчики содержащие свинец, в том числе PbSe Запрашивал стоимость усилителя https://www.hamamatsu.com/jp/en/product/cat...9-07/index.html , примерно 1500 евро Проблемы таких датчиков немного тут расписаны https://www.eosystems.com/uploads/2/0/1/3/2...photodiodes.pdf
  14. Запаралелил 2 ОУ ADA4898-2. Визуально шумы раза в 1.5 уменьшились. Хотелось бы на порядок. Может на дискретных биполярных транзисторах входную часть собрать и запаралелить их?
  15. Цитата(BioWolf2000 @ Jun 21 2017, 17:53) Решил применить ИК фотодиод InAsSb Hamamatsu P11120-201. И тут же озадачился. Динамическое сопротивление диода Rsh=10 Ом, что довольно мало. Выбрал LT1128 для трансимпедансного усилителя. Сопротивление обратной связи 200кОм и для сужения полосы впаралель поставил конденсатор 10нФ. На выходе наблюдаю довольно значительные шумы. Какие методы есть для снижения низкочастотных шумов в усилителях с низкоомным источником сигнала? Или я уже уперся в собственные шумы фотодиода? Встроенным элементом Пельтье застабилизировал температуру на уровне -30C Нашел интересную статью. https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4863836/ Стоит пытаться запаралеливать входные ОУ? ps. Похоже, что стоить попробовать. http://www.linear.com/solutions/5657 . Правда дороговатое решение выйдет.