STM32G4 Аппаратный цифровой фильтр FMAC

Поділитися
Вставка
  • Опубліковано 19 тра 2021
  • Рассматриваю настройку цифрового аппаратного фильтра на микроконтроллерах STM32G4. Запускаю блок в режиме реального времени с данными от АЦП и передачей напрямую в ЦАП.
    Привожу пример расчета КИХ фильтра и использование полученных коэффициентов в программе.
    Интересные сайты: Паяльник cxem.net/
    Для прямой помощи каналу, перевод с банковских карт:
    yoomoney.ru/to/4100116712276152
    Модули производства TDM Lab: vk.link/tdm_lab
    Группа ВК: tdm_lab
    Проект в CubeIDE (исправленный) drive.google.com/drive/folder...
    Рекомендуемая литература
    *************************************
    Аппаратный цифровой фильтр FMAC на базе STM32G4 www.compel.ru/lib/139617
    Онлайн расчет КИХ fiiir.com/
    Расчет КИХ фильтра с линейной фазочастотной характеристикой методом частотной выборки www.dsplib.ru/content/filters/...
    community.st.com/s/question/0...
    **************STM32**************
    STM32G474 Nucleo-64 alii.pub/5sdxo3
    STM32F103C8T6 alii.pub/5sbhoe
    STM32F103C8T6 Black ali.pub/579d2l
    STM32F401CCU6 ali.pub/56s1yb
    STM32F411CEU6 ali.pub/56s1yb
    STM32F407VET6 alii.pub/5rm368
    Программатор ST-Link V2 ali.pub/56weqg
    ***********ПЛИС/FPGA***********
    Отладочная плата Xilinx FPGA Spartan-7 XC7S15 alii.pub/5rm3ih
    Отладочная плата Xilinx SoC FPGA Zynq7000 XC7Z010 alii.pub/5sbga8
    Отладочная плата Xilinx FPGA Artix-7 XC7A35T DDR3 256MB alii.pub/5sbgk5
    **************Arduino**************
    Arduino Uno ATmega328p ali.pub/56s0bz
    Arduino Nano ATmega328 ali.pub/56weyt
    Arduino Micro ATmega32u4 ali.pub/4m7upw
    Arduino Leonardo ATmega32u4 ali.pub/56weg5
    Arduino Mega ATmega2560 alii.pub/5sbgtv
    *******Шаговые двигатели*******
    NEMA17 Hanpose alii.pub/5sbh9f
    NEMA23 Hanpose alii.pub/5sbhcx
    NEMA34 Hanpose alii.pub/5sbhea
    Драйверы ШД TB6600 alii.pub/5sbhhl
    ***********Наборы SMD************
    Набор резисторов 0805 ali.pub/4o3xz7
    Набор резисторов 1206 ali.pub/4o3x4h
    Набор конденсаторов 0805 ali.pub/4o3y4u
    Набор токовых шунтов 2512 ali.pub/4o3udb
    *************АЦП/ЦАП*************
    АЦП 16 бит I2C ADS1115 ali.pub/56s0mv
    АЦП 18 бит I2C MCP3421 ali.pub/56s17o
    АЦП 24 бит SPI ADS1220 ali.pub/4zlq1x
    MCP4725 ЦАП 12 бит ali.pub/56s2f8
    *********DDS генераторы**********
    AD9833 12,5MHz ali.pub/4ps0xu
    AD9850 40,0MHz ali.pub/56s0yq
    AD9851 70,0MHz alii.pub/5sbivr
    AD9959 4ch 200,0MHz alii.pub/5sbj4b
    *********Дисплеи LCD/TFT*********
    Экран LCD 12864 ali.pub/4o3w5a
    3,5" TFT LCD ali.pub/56w5gl
    1,8" TFT SPI LCD ali.pub/56w4oe
    1,3" OLED I2C LCD ali.pub/56w8vh
    ЖК-экран с клавиатурой, 1602 для Arduino Uno ali.pub/56wau2
    **************Диоды***************
    Диоды Шоттки 100шт [1А, 60В] SR160 alii.pub/5ogndb
    Диоды Шоттки 100шт [2А, 100В] SR2100 ali.pub/4o3s9o
    Диоды Шоттки 100шт [2А, 60В] SR260 ali.pub/4o3swt
    Диоды Шоттки 20шт [5А, 40В] SR540 alii.pub/5ognnm
    Диоды Шоттки 20шт [5А, 200В] SR5200 alii.pub/5ognm2
    Диоды Шоттки 5шт [60А, 100В] MBR60100 alii.pub/5og62w
    Диодный мост GBJ2510 ali.pub/4o3uvs
    Светодиоды SMD 0805 5 цветов ali.pub/4o3tps
    **************Разное****************
    Термоклейкая лента 80x80 мм alii.pub/5m32dc
    DC-DC c 8 ~ 32V до 45 ~ 390V alii.pub/5oav2r
    Компараторы LM393 ali.pub/4o3tzp
    Изолированный DC/DC 5V/5V ali.pub/4o3w8l
    Тестовые точки ali.pub/4o3wgy
    Реле 5V / 230VAC 10A ali.pub/4o3xi3
    Оптопары PC817 ali.pub/4o3xpa
    ACS712 Датчик тока ali.pub/56s27u
    ***************************************
  • Наука та технологія

КОМЕНТАРІ • 185

  • @TDMLab
    @TDMLab  3 роки тому +10

    Спасибо всем кто пишет комментарии и ставит лайки, это важно для развития канала!
    Проблема, в коде на 10:05 в том, что указатель создан неправильно, моя ошибка, правильно так: (uint32_t*)&FMAC->WDATA
    С CMSIS для G4 в этом плане все в порядке, единственное, зачем надо следить, обращение ко всем регистрам FMAC должно быть только по словам "Access: word access", обращение в пол слова "half word" не работает.
    Код по ссылке в описании исправлен.

  • @TheNewWorld823
    @TheNewWorld823 Рік тому +6

    Какой же сверхмощный мегатруд был предпринят
    Обязательно продошжайте!!!!!!
    Вы приносите огромную пользу всему человечеству, которое за это вам крайне благодарно)))!

  • @dimzen2120
    @dimzen2120 3 роки тому +38

    Зачёт и уважуха, почёт первопроходцам берущим на себя наш гемор!

  • @ehvl
    @ehvl 3 роки тому +20

    Интересное видео, автор глубоко копает.
    Про тригонометрический ускоритель CORDIC хотелось бы узнать по подробнее.

    • @Engineer_Stepanov
      @Engineer_Stepanov 2 роки тому

      Необходимо узнать. Мы не можем себе позволить прорехи в знаниях.

  • @bigbani1334
    @bigbani1334 3 роки тому +16

    Спасибо огромное! Благодаря вашему видео я наконец смог понять суть цифровых фильтров!
    P.S. про БИХ фильтры послушал бы с огромным интересом

    • @floks700
      @floks700 3 роки тому

      книжки надо читать и в инете всё есть. не стоит это изучать по видео программиста. это ведёт в тупик к убогим.

    • @kardanium
      @kardanium Рік тому

      Там проще. Пять коэффициентов, три умножаются с входным потоком и складываются, как в КИХ, оставшиеся два умножаются с выходным потоком и вычитаются. Получается, что БИХ охвачиваются обратной связью.

  • @user-hd6bu8zn2j
    @user-hd6bu8zn2j 3 місяці тому

    По поводу нет даже намёка на интересующий вопрос в интернете - удивлялся много раз как такое может быть , далее идут разборки , поиски , решения. И вот и ответ - найдя ответ такой ценой люди не делится информацией. Так что вам огромное спасибо , материал отличный .

  • @denisyegorov5109
    @denisyegorov5109 3 роки тому +2

    Это видео доказывает, кто должен работать в Сколково. Думаю компания STM должна вас заметить ) если вы их поправляете и находите их косяки. Спасибо за информацию о фильтрах и об этом МК.

    • @RomaShtep
      @RomaShtep 3 роки тому +1

      Что за компания STM и причем тут Сколково? Это видео доказывает, что его автор очень упертый и отлично разбирается в материале от чего иногда у него происходят подобные недокументированные прорывы. Хвала отладке!!!

  • @danilamaster877
    @danilamaster877 3 роки тому +3

    Красавчик. Огромный труд. Разобраться, да еще и разжевать так доступно. Так держать. Очень интересно про трехфазные решения для фильтров. Даешь ликбез про кортекс...
    ЗЫ: С удовольствием помогу с музыкальной подложкой доя твоего канала.
    Будет эксклюзивно и чисто по авторским правам.

  • @SaLaGaDH
    @SaLaGaDH 3 роки тому +5

    спасибо, чрезвычайно полезная и интересная информация

  • @user-ie4zr3od2h
    @user-ie4zr3od2h 2 роки тому

    Удивительная настойчивость

  • @user-cm9nh5hv7w
    @user-cm9nh5hv7w 3 роки тому +10

    Ссылка на компэловскую статью не рабочая.
    За освещение темы цифровых фильтров отдельное спасибо!

    • @TDMLab
      @TDMLab  3 роки тому

      Поправил ссылку.
      Спасибо!

    • @DancingToys5D
      @DancingToys5D 3 роки тому

      www.compel.ru/lib/139617

  • @michaelborisenko9232
    @michaelborisenko9232 3 роки тому +2

    Респект и уважение за проделанную работу 🤝

  • @yurijshmelkov8320
    @yurijshmelkov8320 3 роки тому +1

    спасибо за твое терпение и упорство!

  • @artvk8294
    @artvk8294 3 роки тому +2

    Спасибо за бесценную информацию! Все понятно и по делу.

  • @watashisolify
    @watashisolify 3 роки тому

    Высший пилотаж!!! Поздравляю!.

  • @DRDRPETR
    @DRDRPETR Рік тому

    Отличный обзор, хорошая штука этот FMAC.

  • @user-rt9uk8ip4v
    @user-rt9uk8ip4v 3 роки тому +1

    Большое спасибо) Жду теперь ещё БИХ фильтры) Было бы супер если помимо CubeMX был ещё CMSIS...

  • @user-fy8lh5vd6q
    @user-fy8lh5vd6q 3 роки тому

    Очень круто! Большое спасибо, ждем новых видео!!!
    Больше ЦОС!!! ))

  • @Diject
    @Diject 3 роки тому +5

    Для DMA не имеет значения из/в куда отправлять данные - важно лишь что затриггерит саму передачу. То есть можно запустить передачу через DMA от АЦП, а писать из RAM в RAM, из любой переферии в любую переферию и т.д. Главное, чтобы участки памяти были доступны для DMA (можно глянуть в разделе System architecture мануала).

    • @TDMLab
      @TDMLab  3 роки тому +2

      Ну да, но это не очевидно если не разу этим не пользовался. Даже ST в той ветке говорили что у них там бардак в документации относительно обращений по DMA к FMAC.

  • @johnrom8787
    @johnrom8787 3 роки тому +1

    Тоже помню как столкнулся с ошибкой регистра в cmsis на stm32f417. Пришлось всю инициализацию по мануалу прописать

  • @yuribochkarev4477
    @yuribochkarev4477 3 роки тому

    Очень круто! Сними серию уроков по ЦОС, у тебя отлично получается

  • @albertziatdinov1373
    @albertziatdinov1373 3 роки тому +1

    Класс, большое спасибо Вам!

  • @KARMAElectronics
    @KARMAElectronics 3 роки тому +4

    Так это магическое число и есть адрес периферийного модуля FMAC плюс офсет регистра внутри модуля)

    • @TDMLab
      @TDMLab  3 роки тому

      Так и есть)

  • @taichiveron9278
    @taichiveron9278 3 роки тому +4

    Порог вхождения в stm32 очень, ооочень высокой. Соотношение функционал / цена идеальное. Но реальность такова, что это просто кусок кремния, без головы, которая это настроит.
    Вот есть у меня мечта идиота, своя универсальная ЧПУ стойка. Да такая, что бы скинуть цену на один порядок ниже для людей. И конечно же на стмке. Но времени изучать всё интересное уже нету...
    Вашим энтузиазмом восхищён!

    • @sledleo
      @sledleo 3 роки тому

      Видимо знающие дяди не могут запилить простую либу с уровнями сложностями, например нулевой - одна функция в которую передается один параметр и т.д.

    • @user-en9sm7ed9g
      @user-en9sm7ed9g 3 роки тому

      CUBE IDE, использованная в этом видео очень сильно его снижает. Была бы у ни ещё документация хорошая. На её создании стишники как всегда экономят. Разбираться самому по коду в их приколах порой действительно бывает трудно!

    • @sledleo
      @sledleo 3 роки тому

      @@user-en9sm7ed9g была бы нормальная документация, а не портянка... была бы нормальная либа с уровнями (от простого к сложному), были бы примеры четкие и понятные....
      А есть темный лес и только стараниями из народа есть возможность разобраться.
      Поэтому смотрю лаконичные статьи по CMSIS на Hubstub и Dimoon, смотрю видосы на нормальных каналах как этот

    • @user-en9sm7ed9g
      @user-en9sm7ed9g 3 роки тому

      @@sledleo Согласен. Сам ST не слишком много внимания уделяет документации. Мягко говоря. Мог бы подкидывать немного деньжат для стимуляции каналов, которые готовы этим заниматься. Например тому, на которым мы находимся. Для него 2 - 3 тысячи баксов в месяц вообще НИЧТО, а для блогера приличные деньги благодаря которым он мого бы глубже погружаться в тему!

    • @easystm6865
      @easystm6865 3 роки тому

      К сожалению стмки стали дорожать

  • @DIY-hv2hv
    @DIY-hv2hv Місяць тому

    Спасибо, круто!

  • @TheVasil2010
    @TheVasil2010 2 роки тому

    Супер! Спасибо!

  • @user-cs3vk6xz8u
    @user-cs3vk6xz8u 2 роки тому

    Ничего не понял, но очень интересно. Шутка. Автору спасибо. Ценные вещи.

  • @FastChargeIsFuture
    @FastChargeIsFuture 3 роки тому +5

    FMAC служат в основном для одной главной цели.
    Это аппаратная реализация функций компенсатора 2P2Z и 3P3Z и нужно это для создания БП работающих на очень высокой частоте, от 200кГц и выше (2P2Z и 3P3Z это как ПИД только круче).
    По принципу ADC - FMAC - PWM.
    Больше негде он особо не нужен.

    • @TDMLab
      @TDMLab  3 роки тому +4

      FMAC это лишь аппаратная реализация цифровых фильтров, а область применений ЦФ просто огромна.

    • @FastChargeIsFuture
      @FastChargeIsFuture 3 роки тому +2

      @@TDMLab Это понятно, модуль очень простой, целочисленный 16бит умножение, применений для него кроме кок для компенсатора, очень ограниченны.
      Но при желании, можно конечно делать все что угодно!

    • @TDMLab
      @TDMLab  3 роки тому +2

      @@FastChargeIsFuture там ST-шники в апноуте даже про адаптивные фильтры заикались. А по сути LP фильтры небольших порядков не вредно применять на всех каналах аналоговых данных.

    • @FastChargeIsFuture
      @FastChargeIsFuture 3 роки тому

      @@kokotmkokot4926 В самый раз.
      Я, например зарядками для электромобилей занимаюсь и БП у нас 10 - 20кВт, сейчас пользую f334, но G4 на отладке, в скором времени перейдем на них.

  • @johnrom8787
    @johnrom8787 3 роки тому +1

    Вспомнил Лайонса ЦОС. Хорошая книжка

    • @floks700
      @floks700 3 роки тому

      высоцкий - цифр фильтры на имс 1984
      рабинер, шаффер, цифр обраб речевых сигналов. ))
      истоки, так сказать , начала.

  • @user-bv4rz4ps6q
    @user-bv4rz4ps6q 3 роки тому +2

    то что делает этот человек, в институте занимает не один семестр преподавания, это нереально сжатая выжимка по теории ЦОС

    • @floks700
      @floks700 3 роки тому

      ерунду вы пишете.
      в Лэисе и в Чпи это занимало 1 семестр - теория бих/ких, фурье/бпф. кроме этого, парллельно изучалось ещё как минимум 12 курсов. а автор копает только 1 направление, но в свободном плавании, без ненужного ему балласта, поэтому ему легче, чем студенту.

  • @lira8329
    @lira8329 3 роки тому

    Благодарю за подробный разбор! CORDIC алгоритм будет весьма кстати. И вообще всё что касается DSP обработки очень интересует. DSP это вообще как "чёрная магия".

  • @user-ej3jm4eq6f
    @user-ej3jm4eq6f 3 роки тому

    Это просто круто.

  • @michaeltimoshkin919
    @michaeltimoshkin919 3 роки тому

    Очень интересно, тоже себе плату заказал.

  • @user-bo7qg1bw8t
    @user-bo7qg1bw8t 3 роки тому +1

    Про CORDIC давайте! Интеренсно. Никто про g474 толком не пишет и не снимает. Я аж отладку заказал после ваших видосов.

  • @user-rc6gb2mc3o
    @user-rc6gb2mc3o 3 роки тому +1

    Да автор правильно подметил что в случае с стм нужно как минимум 4 таких канала. 3 фазы и по входу dc мерять ток. А для обычного инвертора с lc контуром мне хватило программной реализации на дешманском контроллере avr.

  • @blackeagle1030
    @blackeagle1030 3 роки тому

    Класс, жду видео про CORDIC

  • @DIMAL
    @DIMAL 3 роки тому

    Автор, ты крут !

  • @Sanchogus
    @Sanchogus 3 роки тому

    Основательно подошел. Еще и с субтитрами заморочился. CORDIC тоже интересен.

  • @user-hf9zz2ob1z
    @user-hf9zz2ob1z 2 роки тому

    Капец, я б уже трижды застрелился, если б сам разбирался в этом! Респект терпению и технической грамотности автора!

  • @sergeyrusmod5500
    @sergeyrusmod5500 3 роки тому +1

    Лайк!

  • @pswru
    @pswru 3 роки тому

    Спасибо за труд, познавательно, хоть лично я и лишь читаю Си со словарём, а к АРМам вообще не подступался.
    DMA=ПДП (прямой доступ к памяти) устоявшаяся абревиатура из СССР.
    Чтоб эксель принимал запятые как разделитель при копипасте - оно должно в системных свойствах стоять как разделитель.
    Особенно помогает когда приходится чужие CVS файлы импортировать - в них разделитель полей запятая, а у нас - она разделитель целой и дробной, приходится временно менять подарок Билли всем не англосаксам.
    Чисто теоретически навскидку - глядя на 2:59 структуру - решение вопроса 15:58 может выглядеть как буфера на каждую фазу 1/3 от максимальных имеющихся 127 штук, при получении АЦП выборки фазы фильтр и ДМА получают (циклов за 10-20) в качестве настройки смещения буферов конкретной фазы, далее делают ~42 умножения с накоплением для этой выборки (уже быть могет в фоне), и так по кругу для трёх фаз.
    Удачи в исследованиях.

  • @arduinomega1030
    @arduinomega1030 Місяць тому

    Походу нужно брать Digital Signal Processing класс. Оч интересная тема.

  • @aisonaison2877
    @aisonaison2877 3 роки тому +1

    Какой ужас. Ты огромный молодец, что не сдался!

  • @rustybroom7071
    @rustybroom7071 2 роки тому

    Молорик!

  • @ivandiystatic6179
    @ivandiystatic6179 3 роки тому

    Красава!🤝

  • @user-en9sm7ed9g
    @user-en9sm7ed9g 3 роки тому

    Глобальный труд! На своём опыте знаю как трудно бывает первопроходцам, когда пишешь программы не имея примеров да ещё для новых чипов с неполной неустоявшейся документацией, а иной раз имеющих ещё и хардвэрные баги не отражённые в ерратах. Что касается магии на десятой с половиной минуте, то вы скорее всего не совсем разобрались в теме.
    Впрочем вас уже поправили в комментариях, не буду попугайничать.
    Удачи в освоении этих интересных чипов.

  • @akvilion7365
    @akvilion7365 3 роки тому +8

    Дублируй название ролика на английском, и сабы тоже бы прикрутить. Я же говорил - на эту тему инфы толком нет, в общих словах только, в тч от самих ST (что странно, обычно когда они хвалят свои фишки у них целые поваренные тома выходят). А камню уже как бы год...

    • @TDMLab
      @TDMLab  3 роки тому +2

      Английские сабы добавил партнеры просили уже, а название итак переводится на язык зрителя.
      Да вообще столько обновлений куба было и ничего по этому блоку не добавили. Кстати, FMAC на H7 тоже есть.
      Спасибо!

  • @user-eq7ss8rk7t
    @user-eq7ss8rk7t 3 роки тому +1

    Благодарная публика просит продолжения разбора G4 процов) Очень полезно. LL кстати пользуетесь?

    • @TDMLab
      @TDMLab  3 роки тому

      Ок, все будет)
      Не, LL нет, только HAL + CMSIS

  • @lionlinux
    @lionlinux 3 роки тому +1

    всё понятн ждём новых диких глюков в китайских клонах :-(

    • @TDMLab
      @TDMLab  3 роки тому

      В китайских клонах не знаю, у меня нет, да и эта проблема с обращением к регистру была моим косяком, дальше расскажу)

  • @Stereobot
    @Stereobot 3 роки тому

    Я просто электрик,но все равно очень интересно)

  • @olegpupkin4460
    @olegpupkin4460 3 роки тому

    вери гуд!

  • @DART2WADER
    @DART2WADER 3 роки тому +1

    Тоже себе прикупил пару для посмотреть, что за зверь такой и чем жирный stlink v3 отличается от v2

  • @alexburceacov9232
    @alexburceacov9232 3 роки тому +1

    Респект Автору за подачу материалов и упорство! А что у STM с тех.поддержкой, не пробовали обращаться?

    • @TDMLab
      @TDMLab  3 роки тому

      Спасибо! нет не пробовал.

  • @3x__
    @3x__ 2 роки тому

    👍

  • @FastChargeIsFuture
    @FastChargeIsFuture 3 роки тому

    Есть кстати бесплатная программка WinFilter, можно считать разные фильтра, плюс умеет делать исходники.
    Не matlab но на скорую руку считает хорошо.

  • @andreykunitsyn4168
    @andreykunitsyn4168 3 роки тому +4

    uint32_t* Fmac_Wdata = (uint32_t*)(&FMAC->WDATA); а у вас значение из регистра в качестве адреса

    • @TDMLab
      @TDMLab  3 роки тому

      Да, я действительно ошибся, вообще не обратил внимания, зря гнал на ST, по крайней мере в этом плане все там в порядке.
      Проверил с uint32_t *Fmac_Wdata = (uint32_t *)&FMAC->WDATA;
      все работает корректно, спасибо, что кто-то смотрит код, а то сам порой не видишь в упор очевидного:)

    • @user-en9sm7ed9g
      @user-en9sm7ed9g 3 роки тому

      Спасибо за то, что обратили внимание на данный момент и не пожалели время на то, чтобы заглянуть а даташит!
      Как полезно бывает снимать видео! Можно узнать много нового для себя у Аксакалов в области Embedded!

  • @antonchik8012
    @antonchik8012 3 роки тому +1

    Молодчина. Хотелось бы разобраться с DAC G серии. Непонятно, что значит внутренние и внешние DAC и какое всё таки кол-во каналов?

    • @TDMLab
      @TDMLab  3 роки тому +1

      Ок, войдет в общий разбор переферии

  • @pingburner
    @pingburner 3 роки тому

    Классно ты расколол этот орех. Я так и не понял от куда ты взял адрес ввода на модуль. Был в готовых примерах?

    • @TDMLab
      @TDMLab  3 роки тому

      Адрес регистра я взял из отладки, но его можно взяnь и из reference manual-а

  • @AlexanderBelikov
    @AlexanderBelikov 3 роки тому

    У меня вопрос не по теме этого видео. Я делаю устройство для машины. В нем будет мега328-ая и блютус модуль hc-06. Я заметил что БТ модуль достаточно сильно шумит в линию питания и решил его отсадить на отдельное питание. Хочу чтоб у меги было достаточно стабильное питание чтоб не плыли показания АЦП. Планирую ставить 2 регулятора LM7805 но не знаю нужна ли какая-то дополнительная обвязка чтоб они друг другу не мешали. Конденсатор на входе я так понимаю будет один на 0.33 мкФ? Есть ли смысл ставить гальванические развязки (например изолированный DC-DC B0505-1W) чтоб убрать наводки от генератора? Спасибо за твои ролики, уже много всего полезного подчерпнул для себя!

    • @TDMLab
      @TDMLab  3 роки тому +1

      Думаю, что не стоит никаких развязок так как они импульсные. Конденсаторы можно и побольше.

  • @user-cc9sn3bx4l
    @user-cc9sn3bx4l 3 роки тому +2

    Вам нужно использовать fpga и настраивать под себя.

    • @TDMLab
      @TDMLab  3 роки тому

      Конкретно для цифровых фильтров да, ПЛИС то что доктор прописал, но для некоторых задач управления у МК есть несомненные преимущества.

  • @stm32Lab
    @stm32Lab 11 місяців тому

    Круто, не знал, что коэффициенты можно домножать, т.к. важно их соотношение. Глупый вопрос, т.к. с ЦОС недавно: подключил DSP, там типы: f32, q31, q15, q7, при этом АЦП и ЦАП 12 бит (F407). Получается, можно использовать только FIR с q7?

    • @TDMLab
      @TDMLab  11 місяців тому +1

      Q15, Q32 это просто целочисленные знаковые форматы 16 и 32 бита, они подходят для обработки целочисленных данных с АЦП 12 бит с правым выравниванием.
      Тип данных должен быть больше или равен размерности входящих данных, но лучше использовать Q32 будет запас по точности вычислений и динамическому диапазону.

  • @Fastereus
    @Fastereus 3 роки тому

    Автор доброе время суток, вот и вы наконец наткнулись на косяки STшек , когдато давно когда явыбирал платформу для большого массового заказа и какраз был момент что я работал с AT/ESP/i контроллерами а вот ST как то меня минули , толком IDE в те времена у них небыло сразу скажу, в общем купиля тогда 8 и 16 битный варианты истал ихизучать , и о боже чтото более сложное чем подергать ножкой запустить не могу, мне не нужны были шимы меня интересовало тогда пробуждение окнтроллера по внешнему сигналу ... поыв даташиты выяснилось что в прилагаемлом inc файле естьошибки , не верно указаны регисты и вуаля все заработало ...
    чутьпозже я наткнулся и на ошибку в мануале ... когда работал с аналоговым компаратором . ибо заначения коэфициента усиления указщнные в мане были обратнопропорциональны тем что я получал.
    с тех пор две отладки так и лежат ,а 23 бита пришедшую через месяц я даже не подключил
    так что я думаю что вы еще не раз хлебнете, кстати ни у кого я таких косяков не встречал, глюки IDE да а вот чтобы инки были косячные не разу или в мане такая серьезная ошибка ..

    • @TDMLab
      @TDMLab  3 роки тому

      Ну, да, не доработали они этот блок, но в целом в что-то более простое ST дает легкий вход.

    • @Fastereus
      @Fastereus 3 роки тому

      @@TDMLab угу если в include нет косяков

    • @TDMLab
      @TDMLab  3 роки тому

      @@Fastereus Как оказалось в данном примере это я слепой, я не указатель отдавал DMA, а сам регистр)) оттого и была проблема. Думаю я не единственный который нашел такой "косяк" у ST)

  • @Addenri
    @Addenri 2 роки тому

    Содержательное видео, помогло подобрать коэф. для КИХ-фильтра на G474. Но разрабатываем преобразователь, где необходим БИХ с меньшим сдвигом фазы. Тоже запускается, но в отличие от КИХ, АЧХ не соответствует рассчитаной в MATLAB. Пробовали ли вы запустить БИХ на этом FMAC?

    • @TDMLab
      @TDMLab  2 роки тому +1

      Конкретно FMAC на БИХ не проверял, но математика есть математика. Учитывали ли вы Уменьшение разрядности до 16 бит для коэффициентов и расчетов, это в значительной степени может влиять на БИХ. Насколько АЧХ/ФЧХ отличаются? Совсем белиберда или немного другие?

    • @Addenri
      @Addenri 2 роки тому

      @@TDMLab Предполагаю, точность могла потеряться при конвертации в формат с фикс. точкой. Согласно графику MATLAB, подавление должно начинаться от 10 кГц при частоте дискретизации 68 кГц и срезе ФНЧ 16 кГц. и 4-м порядке фильтра. На деле же амплитуда падает начиная с 3 кГц, и больше похоже на линейную характеристику.

    • @TDMLab
      @TDMLab  2 роки тому +1

      @@Addenri У матлаба по идеи должен быть перерасчет для выбранной разрядности. Это может сильно влиять. Вообще фильтры БИХ высших порядков могут быть нестабильны, вот тут у меня немного про это есть ua-cam.com/video/GN1RZkViEAE/v-deo.html
      По описанию фильтр работает совсем не так как нужно. Я бы начал с одного биквада, см видео.

    • @Addenri
      @Addenri 2 роки тому

      @@TDMLab Спасибо, попробую разобраться с фильтрами меньших порядков.

  • @souris771
    @souris771 3 роки тому +1

    Сделайие видео, но мне ещё далеко до такого, вся эта математика пока ещё тёмный лес для меня.

  • @user-wd3ji1pw3m
    @user-wd3ji1pw3m 3 роки тому

    А для фильтров и дсп не пробывали библиотеку для питона scipy.signals?

  • @aksel4180
    @aksel4180 2 роки тому

    Молодец, на твоих примерах хоть учись.

  • @user-ck2qo2if8e
    @user-ck2qo2if8e 4 місяці тому

    Great video! Can you redo in English?

  • @PyctamG
    @PyctamG 3 роки тому +5

    Малоизвестные факт, Дмитрия на картошку не брали, он очень глубоко копал

  • @user-ms8lf5xf5y
    @user-ms8lf5xf5y 3 роки тому +1

    Не судите строго, но хочу скажем так по возможности сэкономить автору время на копипастинг и замены запятых в word: в общем для конкретной задачи приведенной в ролике есть решение в excel - "=ЗНАЧЕН(ПОДСТАВИТЬ(A1;".";","))", ПОДСТАВИТЬ(A1;".";",") - сначала меняем точки на запятые, а потом заставляем excel воспринимать как число. Но иногда бывает при копировании с вебстраниц встречаются еще паразитные пробелы и вот такая конструкция предпочтительна: "=ЗНАЧЕН(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;" ";"");".";",")) "

    • @TDMLab
      @TDMLab  3 роки тому +1

      Спасибо)

    • @alexburceacov9232
      @alexburceacov9232 3 роки тому

      Ну или в настройке Windows указать точку вместо запятой как десятичный разделитель 😀

  • @artvk8294
    @artvk8294 3 роки тому

    Использовать один блок для 3х фаз... Частота в 3 раза меньше... Может легче еще один контроллер поставить только на фильтры, подешевле, с малым кол. ножек, возможно g431? Насчет CORDIC конечно интересно послушать. Кстати, CORDIC и FMAC в g431 есть.

    • @TDMLab
      @TDMLab  3 роки тому +1

      Да не, тогда легче сделать обычный аналоговый фильтр на ОУ. ST-шники продвигают идею, что не надо больше внешних компонентов, все внутри, но пока не совсем ясно, возможно еще расскажут подробнее.

  • @Diamond8822
    @Diamond8822 3 роки тому

    Мужик, есть частотник invt gd200. Могу дать для опытов. Надо?

  • @akvilion7365
    @akvilion7365 3 роки тому

    Кста, можно не только проги обрезать, но и прикрыть названия измерительного ПО/оборудования. Если это не спонсоры, разумеется.

    • @TDMLab
      @TDMLab  3 роки тому +1

      Мне для сиглента ничего не жалко лишь бы обновление за 21 год сделали:))

  • @ivandiystatic6179
    @ivandiystatic6179 3 роки тому

    Кордик даааа!!!

  • @alexandrsavochkin9442
    @alexandrsavochkin9442 3 роки тому

    1:37 "Обычно в задачах риалтайма у контроллера и так много дел по работе с ПИД-регуляторами..." Интересно, можно ли собственно ПИД-регулятор засунуть в FMAC? Рекуррентная формула для ПИД регулятора в дискретном времени вроде бы подходит в тот шаблон КИХ+БИХ, что заложен в FMAC.

    • @TDMLab
      @TDMLab  3 роки тому

      В общем то да, на 4:50 пример с 3P3Z компенсатором, PID это тоже компенсатор microchipdeveloper.com/dcdt:selecting-the-compensator

  • @vovanchik_ru4208
    @vovanchik_ru4208 3 роки тому +3

    Получается на КИХ фильтре можно запилить свёрточный, входной слой нейронной сети?

    • @TDMLab
      @TDMLab  3 роки тому +7

      О, нейронные сети на микроконтроллерах. Я уже пометил это себе как одну из будущих тем)

    • @vovanchik_ru4208
      @vovanchik_ru4208 3 роки тому +1

      @@TDMLabЯ так понял, что один КИХ фильтр полностью соответствует принципу работы нейрона: входные значения, веса, сумматор. Осталось после сумматора запилить функцию срабатывания и фсё. Дальше плодить и размножать нейроны в слои. А дальше можно просто взять какую-нить модель, повыдёргивать оттуда веса со структурой и получится вот эта статья www.compel.ru/lib/140486 :)

    • @TDMLab
      @TDMLab  3 роки тому +1

      @@vovanchik_ru4208 тихо-тихо, вы все секреты раскроете до начала:)))

    • @vovanchik_ru4208
      @vovanchik_ru4208 3 роки тому +1

      @@TDMLab :)

    • @vovanchik_ru4208
      @vovanchik_ru4208 3 роки тому +1

      @@TDMLab если будешь что-то пилить на эту тему - рекомендую и тему "OpenMV4 Mini" затронуть

  • @massacr6428
    @massacr6428 3 роки тому

    Здраствуйте! Спасибо за видео! Хотел спросить-предложить!?, не хотите на базе STM32 сделать метеостанцию ? , к примеру взять STM32 , модуль барометр BME280, модуль чтения записи MicroSD кардридер и модуль связи ,к примеру радиомодуль NRF24L01 2.4ГГц, сделать передачу данных через модуль связи на пк, видел в Ютубе на ESP8266 что то подобное делали, но там нету записи на микро сд как резерв записи. Думаю для многих людей будет очень интересно увидиеть как сделать метеостанцию на STM32. спасибо !

    • @TDMLab
      @TDMLab  3 роки тому

      Ох, этих погодных станций на просторах интернета...

    • @massacr6428
      @massacr6428 3 роки тому

      @@TDMLab да как бы не видел, не одной, чтоб писала информацию на сдкарту, и предавала на другой стм32,на дисплей информацию, возможно я ищу не правильно?)

    • @TDMLab
      @TDMLab  3 роки тому

      @@massacr6428 На esp8266 ua-cam.com/video/VA-ZthJOjGg/v-deo.html

  • @user-jb6fi9ux6x
    @user-jb6fi9ux6x 3 роки тому

    Есть ещё бесплатная программка для генерирования FIR фильтров rePhase. На неё очень даже стоит взглянуть.

    • @TDMLab
      @TDMLab  3 роки тому

      Она разве позволяет забирать FIR коэффициенты? Это выглядит как просто программа для фильтрации не для расчета.

    • @user-jb6fi9ux6x
      @user-jb6fi9ux6x 3 роки тому

      @@TDMLab , так она для генерации коэффициентов в файл и сделана. Причем в разные форматы может, в том числе, и в txt, и csv..

    • @TDMLab
      @TDMLab  3 роки тому

      @@user-jb6fi9ux6x Ок, спасибо, для аудио пожалуй неплохо что имеет графический эквалайзер.

  • @pingburner
    @pingburner 3 роки тому

    у меня тут в моём последнем и единственном проэкте на стм32 да и вообще на МК был worning с DMA. в кубе стояло half-word а в проэкте в SW4STM32 функция ADC_чётотам_DMA принимало адресс (*uint_32) и когда я всирал ей адрес uint_16 переменной вылетал ворнинг. Но всё работало и даже при исправлении этого ворнинга всё ломалось и двухканальное сканирование писалось целиком в первый элемент массива. Это я просто к тому твоему мнению что все ворнинги надо исправить как можно скорее и не тянуть до сдачи проэкта. У меня при первом же знакомстве с МК этот ворнинг так и попал в окончательную сборку.

    • @TDMLab
      @TDMLab  3 роки тому

      Иногда ворнинг локализуют, то есть понимают то отчего он и как повлияет в дальнейшем. Хотя нужно стремиться этого избегать и лучше переписать весь блок если какой-то метод приводит к ворнингу.
      Все решается в конкретном случае.

    • @pingburner
      @pingburner 3 роки тому

      @@TDMLab спасибо, разморочил. Переписывать HAL мы конечно же не будем. По крайней мере в этой жизни.

    • @pingburner
      @pingburner 3 роки тому

      @@TDMLab А ты представляешь как вообще пишутся колбеки в си на аппаратные события? Особо не гуглится этот вопрос. Было бы прикольно посмореть пример программы с абсолютно пустым while() в мейне. Пускай что то простенькое но с самодельной хотя бы одной колбек функцией. Гуглится что это функция, которая принимает адрессный тип данных и больше ничего. Просто _IO переменную сделать и вписать указатель на неё в прототип функции? сомневаюсь что это будет работать. ЗЫ: извиняюсь если не точен в терминологиях.

    • @TDMLab
      @TDMLab  3 роки тому

      @@pingburner так дело полагаю было не в HAL, а то как этот слой был применен. Хотя опять таки вам виднее.
      Это проект с пустым while если что:)
      У меня есть видео про вейвлет генератор, там я применяю кол-бек и рассказываю для чего.

    • @pingburner
      @pingburner 3 роки тому

      @@TDMLab То есть чтобы очистить вайл в твоём проэкте вейвлет оставалось только перевести ацп на дма? А в этом видео я даже не заметил что вайл пустой :) У тебя очень качественный контент, спасибо.

  • @kjlas8
    @kjlas8 2 роки тому +1

    Скорее всего можно заставить FMAC обрабатывать два канала если записывать коэффициенты с промежутком: a1, 0, a2, 0, a3, 0, a4, 0, ...

    • @TDMLab
      @TDMLab  2 роки тому

      Как вы это видите?

    • @kjlas8
      @kjlas8 2 роки тому

      ​@@TDMLab проталкиваем в фильтр данные двух каналов по очереди. В четных ячейках будут данные одного канала в нечетных другого. Нули в коеффициентах маскируют второй канал.

    • @TDMLab
      @TDMLab  2 роки тому

      @@kjlas8 Да, пожалуй это возможно. Уменьшим максимальную длину вдвое, но да, это работоспособно. Спасибо за интересный комментарий.

  • @kardanium
    @kardanium Рік тому

    Я такой аппаратный фильтр реализовал на FPGA.

    • @TDMLab
      @TDMLab  Рік тому +1

      Да, FPGA хорошо подходят для КИХ/БИХ фильтров, а если FPGA типа Zynq, то вообще всё для жизни уже на кристале есть.

    • @kardanium
      @kardanium Рік тому

      @@TDMLab Я делал на Cyclone II. Там умножителей не так много, но мне хватило всего четырёх для свертки 24-битного потока с 18-битной импульсной характеристикой, длиной в 128 коэффициентов.
      Да, пришлось кольцевой буфер собирать на встроенных блоках памяти и ROM для ИХ. Плюс, управляющий конечный автомат и генератор адресов памяти. Ресурсов вроде немного ушло на него.
      Конечно, у более современных плисов уже не просто умножители, как у древнего Циклона, а навороченные DSP блоки. Особенно у Зайлинкса.

    • @TDMLab
      @TDMLab  Рік тому +1

      @@kardanium Да, новые плисины крутые есть.
      Я работал с циклоном 3, делал адаптивный КИХ фильтр, корректор АЧХ проводного канала связи. Он по известной тестовой последовательности подбирал оптимальные коэффициенты минимизируя межсимволную интерференцию и шумы. Было что то типа 64 или 128 коэффициентов. Работало прям как магия после того как мы раньше это делали отвёрткой по сигналу на осцилле, подстраивая набор из 2-3 аналоговых ФВЧ.

    • @TDMLab
      @TDMLab  Рік тому

      @@kardanium Я использовал последовательно-пораллельную схему работы аппаратных умножителей, задействуя один несколько раз за одну выборку АЦП.
      У меня был не высокий поток данных, 16 бит 1-2Мвыб/с

    • @kardanium
      @kardanium Рік тому

      @@TDMLab Да, ныне аналог уходит в прошлое. Сейчас даже простое радио реализуют через оцифровку и последующую цифровую обработку.
      Ну, у меня с умножителями так же было. Один использовался на все 128 операций. Их четыре ушло, потому что они 18-битные, а выборки 24 бита. Квартус собрал из четырёх один.
      Скорость потока в моем случае была ещё ниже - 48кВыб. Это обычный аудиопоток. Потоков два было - для левого и правого канала. Кольцевых буферов два, одна ROM и управляющая часть тоже общая на оба канала, так как выборки поступают параллельно. Фильтр этот использовался в роли фильтра-корректора после апсемплинга и CIC интерполятора. Интерполяция много нервов съела, так как чем ближе частота сигнала к частоте Fs/2, тем сложнее технически его восстановить.

  • @sledleo
    @sledleo 3 роки тому +1

    Где Компел? Помощи от них нет?

    • @TDMLab
      @TDMLab  3 роки тому +2

      Мы идем параллельными курсами:)

  • @DF-0997
    @DF-0997 3 роки тому

    На компонентах не пробовал без этой преблуды сделать!

  • @sledleo
    @sledleo 3 роки тому +1

    Видимо знающие дяди не могут запилить простую либу с уровнями сложности, например нулевой - одна функция в которую передается один параметр и т.д. И так по каждой теме

  • @dgo42
    @dgo42 3 роки тому

    Из моего опыта работы с СТМ32 - много просто нет в кубе и надо долго и нудно "курить" даташиты...

    • @TDMLab
      @TDMLab  3 роки тому

      Да, так и есть)

  • @pavel5345
    @pavel5345 Рік тому

    ПРошло уже 2 года с момента опубликования видео а в кубе в части FMAC так нифига и не сделано (версия пакета под G4 ->1.5.1).

    • @TDMLab
      @TDMLab  Рік тому

      Да, забили они на фмак, как собственно и я в итоге не нашел ему применения.

    • @pavel5345
      @pavel5345 Рік тому

      @@TDMLab да, то что FMAC на борту всего один - сильно ограничивает его применение. Хотя бы 3 завезли. Хотя бы под 3-фазные сети. И еще, может я что-то не понял, получается что на максимальной скорости семплирования 4 мсемпла/с с максимальным кол-вом коэффициентов FMAC работать не будет? Если так то это полумера от ST. МОжет поэтому они и сами на него забили и в кубе его не развивают.

    • @TDMLab
      @TDMLab  Рік тому

      @@pavel5345 Количество вычислений необходимых для расчета всех этапов фильтра на 256 при скорости 4 Мега выборки много больше производительности по тактовой частоте.
      То есть фильтр же обсчитывает по очереди все выходы, то есть 256 умножений и накопление и его тактирование такое же как и ЦП и он не успеет.

  • @johnblack7536
    @johnblack7536 3 роки тому

    cmsis st давно не развивает. Вместо cmsis использую LL.

    • @TDMLab
      @TDMLab  3 роки тому

      Это как? А на чем LL написан тогда?:) developer.arm.com/tools-and-software/embedded/cmsis
      А вообще ничего против не имею, хотя сам использую HAL + CMSIS

    • @johnblack7536
      @johnblack7536 3 роки тому

      @@TDMLab базовый адрес FMAC в файле stm32g474xx.h #define FMAC_BASE (AHB1PERIPH_BASE + 0x1400UL). А LL - собственная библиотека ST, к CMSIS отношения не имеет. В STM32CubeMX вариантов инициализации периферии только 2 - LL и HAL

    • @TDMLab
      @TDMLab  3 роки тому

      @@johnblack7536 Да, заголовочные файлы типа stm32g474xx.h это вендорная часть библиотеки CMSIS. Часть которая работает с периферией написана в данном случае ST, а часть которая работает с самим ядром написана ARM. И да, в заголовочном файле была информация об адресе регистра WDATA, я уже закрепил комментарий с разъяснениями и поправил прикрепленный к этому видео пример кода.
      Любая библиотека на чем-то написана, в данном случае библиотека LL написана на основе библиотеки CMSIS, которая в свою очередь использует ASM.
      И да, кодогенератор CubeMX представляет только два варианта автоматизированной инициализации, но пользовательская инициализация может использовать любой из набора CMSIS/LL/HAL
      Как это работает на моем примере:
      uint32_t *Fmac_Wdata = (uint32_t*)&FMAC->WDATA; // Это объявление указателя с присвоением ему адреса регистра WDATA в периферийном устройстве FMAC и написано с использованием CMSIS
      HAL_ADC_Start_DMA(&hadc1, Fmac_Wdata, FILTER_IN_BUFFER_SIZE); // Это запуск АЦП с передачей оцифрованных данных по DMA в регистр по указателю Fmac_Wdata и написано с использованием HAL

  • @odissey2
    @odissey2 3 роки тому

    У Cypress PSoC5 был похожий цифровой фильтр 24х24-бит 128 taps максимум. В целом оказалась бесполезная штука. Слишком малое количество taps, и слишком сложно работать с ним. Опять же, всего один фильтр, а часто нужны несколько, и в каскаде. В-общем, не пошло, и в PSoC6 он был заброшен.

    • @TDMLab
      @TDMLab  3 роки тому +1

      Согласен, если бы блоков было N-ное количество, можно было бы подумать, а так я думаю, что это "пилот".

    • @odissey2
      @odissey2 3 роки тому

      @@TDMLab Спасибо за обзор микроконтроллера. Я давно приглядываюсь к ST линейке, но руки не доходят.
      В PSoC6 Cypress установил два процессора, Cortex M0. + M4. Так что можно, например, общаться с периферией (ADC, DAC) используя M0, а DSP делать в M4. Однако, в целом, PSoC6 "не пошёл', и сложно сказать почему. Это очень странный маркет.

    • @TDMLab
      @TDMLab  3 роки тому +1

      @@odissey2 У ST-шников в самом жирном H7 семействе M4 + M7 и еще и этот FMAC, а так да, второе ядро можно как математический сопроцессор использовать))
      В мире правит маркетинг, "Кипарисам" просто не повезло по всей видимости, хотя то что они работают в связке с Infineon думаю без масла на хлеб не останутся:)

  • @sergoseleznev4979
    @sergoseleznev4979 3 роки тому

    Со светом разберись. Мерцает на видео. Свет это не частотник там ШИМ без надобности.

    • @TDMLab
      @TDMLab  3 роки тому

      Мерцания происходят из-за пересвета камеры, не имея профессионального осветительного прибора рассеянного света победить это иногда достаточно сложно, а делать темнее не хочу.

  • @user-ve4rj6jf7p
    @user-ve4rj6jf7p 3 роки тому

    стоит чего то не норм!

  • @exico_minsk
    @exico_minsk Рік тому

    Здоровья TDM! Провел сегодя эксперименты и выяснил пренеприятнейшую вещь. При тактировании от TIM3 в 5uS резко падает производительность кода в цикле main().
    for(cnt = 0; cnt < 1000; cnt++) {
    __NOP(); __NOP(); __NOP(); __NOP(); __NOP(); __NOP(); __NOP(); __NOP(); __NOP(); __NOP();
    }
    HAL_GPIO_WritePin(TEST_GPIO_Port, TEST_Pin, GPIO_PIN_SET);
    for(cnt = 0; cnt < 1000; cnt++) {
    __NOP(); __NOP(); __NOP(); __NOP(); __NOP(); __NOP(); __NOP(); __NOP(); __NOP(); __NOP();
    }
    HAL_GPIO_WritePin(TEST_GPIO_Port, TEST_Pin, GPIO_PIN_RESET);
    При включенном FMAC цикл дергания ножкой TEST составляет 1.6mS, а при отключенном FMAC 0.3mS пятикратная разница. Потеря производительности обусловлена скорее всего тем, что запросы DMA занимают большую часть доступа к шинам (не разбирался по каким шинам идет обмен, не суть важно) . В итоге при такой реализации FMAC вещь достаточно бесполезная. И еще момент, который я не понимаю. Вы подаете выборку ADC раз в 5uS, но FMAC не может принять эту выборку ибо занимается расчетом предыдущей выборки. И это время при колличестве коэф. 127 составляет около 600us. Хотя я вижу на выходе DAC что фильтрация идет, но ... проходит ли до конца расчет для всех коэффициентов? Извините если написал глупость, тема новая и интересная, а информации мало.

    • @TDMLab
      @TDMLab  Рік тому

      Я уже не помню, а там ядро используется для вывода в ЦАП? Я там прерывание возможно использую.
      А если в ЦАП не выводить или опять использовать DMA?
      FMAC может принять новую выборку, у него есть кольцевой буфер.
      Фильтрация по всем 127 коэффициентам происходит корректно, это видно по отклику фильтра на дельта функцию.

  • @igorsuhonosov8757
    @igorsuhonosov8757 3 роки тому +2

    На самом деле можно было найти адрес регистра FMAC_WDATA и сделать нужный указатель гораздо быстрее - обратившись к документу RM0440
    Reference manual для STM32G4 Series. Сдвиг базового адреса 0x18 для регистра FMAC_WDATA указан на стр. 511 документа, а
    базовый регистр 0x4002 1400 для FMAC можно найти на странице 83 и того адрес нужного регистра 0x4002 1418

    • @TDMLab
      @TDMLab  3 роки тому

      Проблема была не в нахождении адреса WDATA, это как раз не проблема) Настоящая засада была в том чтобы понять, что именно из-за этого модуль и не запускается.

    • @igorsuhonosov8757
      @igorsuhonosov8757 3 роки тому +2

      @@TDMLab Ага понимаю, у меня после кучи потраченных часов на поиски и отладку, уже параноя появилась, теперь все используемые библиотеки проверяю на соответствие адресам регистров. Долго, зато нервы целее =).