Кто любит RISC в жизни, заходим, не стесняемся.
Ответить

Re: Кто то доставал до дна производительности STM32F1 ?

Ср июл 03, 2019 16:48:22

Однажды делал БП на 2 кВт с частотой 100 кГц, соответственно с ПИ-регуляторами выходного напряжения и тока. Следовательно, позарез нужно было уложить оба ПИ-регулятора в 10 мкс. Без асма уложил их в 4 мкс, на целочисленной арифметике. Выполнял их в прерывании таймера. Всё остальное - в главном цикле, не торопясь и со вкусом...
)

Re: Кто то доставал до дна производительности STM32F1 ?

Чт июл 11, 2019 22:28:49

Дно у меня начиначалось с камерой OV7670 или с выводом на ТФТ дисплей кучу информации. Тут понимаешь что 103 не хватает.

Re: Кто то доставал до дна производительности STM32F1 ?

Вт окт 01, 2019 17:35:54

Однажды делал БП на 2 кВт с частотой 100 кГц, соответственно с ПИ-регуляторами выходного напряжения и тока. Следовательно, позарез нужно было уложить оба ПИ-регулятора в 10 мкс. Без асма уложил их в 4 мкс, на целочисленной арифметике. Выполнял их в прерывании таймера. Всё остальное - в главном цикле, не торопясь и со вкусом...
)


Была аналогичная ситуация. Делал на 103 PID-регулятор для PMSM моторколеса. Стоял энкодер AS5600, определял положение колеса. Моя задача была сделать что-то типа сервомашинки. Дык вот на целочисленной арифметике тоже где-то в 3 мс укладывался один регулятор, пытался делать на float-ах все сразу валилось и колесо сходило с ума ))

Дно у меня начиначалось с камерой OV7670 или с выводом на ТФТ дисплей кучу информации. Тут понимаешь что 103 не хватает.


И а каким образом у вас осуществлялся обмен с камерой? Ногодрыгом? Я эту камеру на ПЛИС мучал - ну там понятно... А вот интересно, как 103 будет успевать ее обрабатывать. Буфер был во внутреннем ОЗУ, или было прикручено внешнее?

Re: Кто то доставал до дна производительности STM32F1 ?

Вт окт 01, 2019 19:32:20

Была аналогичная ситуация. Делал на 103 PID-регулятор для PMSM моторколеса. Стоял энкодер AS5600, определял положение колеса. Моя задача была сделать что-то типа сервомашинки. Дык вот на целочисленной арифметике тоже где-то в 3 мс укладывался один регулятор
Чушь несёте. Для одного ПИДа на фиксированной точке даже 1мкс - нереально много. Реальный ПИД выполняется быстрее.

Re: Кто то доставал до дна производительности STM32F1 ?

Вт окт 01, 2019 19:38:12

Чушь несёте. Для одного ПИДа на фиксированной точке даже 1мкс - нереально много. Реальный ПИД выполняется быстрее.


А поподробнее?

Re: Кто то доставал до дна производительности STM32F1 ?

Вт окт 01, 2019 19:52:25

А поподробнее?

Что, подробнее?

Re: Кто то доставал до дна производительности STM32F1 ?

Вт окт 01, 2019 19:53:49

Каким образом пид успевает за 1мкс

Re: Кто то доставал до дна производительности STM32F1 ?

Вт окт 01, 2019 20:17:47

А чего бы ему не успевать, если он — аналоговый? Можно даже на одном операционнике собрать (правда, настраивать замучишься).

Re: Кто то доставал до дна производительности STM32F1 ?

Вт окт 01, 2019 20:25:47

Речь то о цифровом идёт, на 103м МК.

Re: Кто то доставал до дна производительности STM32F1 ?

Вт окт 01, 2019 20:27:41

jcxz писал(а):Для одного ПИДа на фиксированной точке даже 1мкс - нереально много.
При тактовой частоте 1 МГц? :))) :)))

Re: Кто то доставал до дна производительности STM32F1 ?

Вт окт 01, 2019 21:24:42

Кому может взбрести в голову лепить цифровой ПИД, если частота регулирования больше килогерца-другого? Для этого аналог есть...

Re: Кто то доставал до дна производительности STM32F1 ?

Вт окт 01, 2019 21:32:58

Кому может взбрести в голову лепить цифровой ПИД, если частота регулирования больше килогерца-другого? Для этого аналог есть...


Руководству )

Re: Кто то доставал до дна производительности STM32F1 ?

Вт окт 01, 2019 21:50:38

Ну так приляпать рядом с микроконтроллером ОУ. Без палева ☺

Re: Кто то доставал до дна производительности STM32F1 ?

Вт окт 01, 2019 22:14:53

Каким образом пид успевает за 1мкс
А каким образом ему не успевать если для него нужно выполнить всего несколько ассемблерных команд?

Добавлено after 1 minute 17 seconds:
При тактовой частоте 1 МГц? :))) :)))
Раз автор не указал тактовую, то предполагаем её максимальной.

Добавлено after 4 minutes 23 seconds:
Кому может взбрести в голову лепить цифровой ПИД, если частота регулирования больше килогерца-другого? Для этого аналог есть...
А в чём проблема с цифровым ПИД?
Имею пачку программных ПИ-регуляторов, работает всё на 10кГц и не занимает сколько-нибудь существенного времени.

Re: Кто то доставал до дна производительности STM32F1 ?

Вт окт 01, 2019 22:37:52

jcxz писал(а):то предполагаем её максимальной.
Ну ОК, я уже догадался что речь шла о тактовой 9999999999999999999999999999999999999999999999999 Иоттагерц. :))) :)))

Re: Кто то доставал до дна производительности STM32F1 ?

Вт окт 01, 2019 23:26:05

jcxz писал(а):А каким образом ему не успевать если для него нужно выполнить всего несколько ассемблерных команд?

Для ПИДа-то? Несколько команд? Угу-угу... Даже если производную считать как конечную разность всего по двум точкам, интеграл надо брать по несколько большему количеству. Т.е. циклически крутить данные в массиве, скажем, из 10 значений. Только на это запросто уйдет тактов 100!

Re: Кто то доставал до дна производительности STM32F1 ?

Вт окт 01, 2019 23:44:59

jcxz писал(а):А каким образом ему не успевать если для него нужно выполнить всего несколько ассемблерных команд?

Для ПИДа-то? Несколько команд? Угу-угу... Даже если производную считать как конечную разность всего по двум точкам, интеграл надо брать по несколько большему количеству. Т.е. циклически крутить данные в массиве, скажем, из 10 значений. Только на это запросто уйдет тактов 100!


Угу, там кольцевой буфер на 64 выборки и крутился )

Re: Кто то доставал до дна производительности STM32F1 ?

Ср окт 02, 2019 07:50:02

Т.е. циклически крутить данные в массиве, скажем, из 10 значений. Только на это запросто уйдет тактов 100!
Не знаю что такое "крутить" там что-то в массиве. Но для нахождения суммы N-значений, при том что на каждом шаге добавляется новое значение, нужно всего 2-3 операции. Вне зависимости от размера какого-то буфера.
Хотя - если нет головы или стоит задача "потратить как можно больше тактов", можно и миллион тактов чего-то там "крутить".

Добавлено after 2 minutes 44 seconds:
Угу, там кольцевой буфер на 64 выборки и крутился )
Зачем для ПИД-а какие-то буфера? :dont_know:

Re: Кто то доставал до дна производительности STM32F1 ?

Ср окт 02, 2019 07:51:57

Зачем для ПИД-а какие-то буфера?


Тот самый массив для суммирования.

Re: Кто то доставал до дна производительности STM32F1 ?

Ср окт 02, 2019 07:54:04

Тот самый массив для суммирования.
Можете привести код? Не понимаю - зачем массив нужен для ПИД?
Написал много ПИ-регуляторов, ни в одном мне массив не потребовался....
Да в общем-то и ПИД не потребовался никогда для управления PMSM-моторами. Достаточно ПИ-регулятора.

PS: Тема напоминает анекдот:
"Функцию, суммирующую A+B, сможешь на 10 тактов написать?"
"Смогу"
"А на 100 тактов?"
"Тоже смогу, но подумать немного надо."
"А на 1000 тактов?"
"Один не справлюсь - помощник нужен."
:)))
Ответить