Ассемблер на К1921ВК01Т

Ответить
rasulikv
Сообщения: 6
Зарегистрирован: 24 авг 2017, 15:23

Ассемблер на К1921ВК01Т

Сообщение rasulikv » 30 авг 2017, 17:03

Добрый день! Преамбула) Разработчики цифровых систем управления для преобразователей (необязательно для электропривода) пишут подпрограммы прерывания для TMS320, в которых происходит обсчет регуляторов, всякие усреднения данных с АЦП и прочее на ассемблере.
Понятно, что это связано с тем, что частота коммутации бывает и сотни кГц, и необходимо использовать ассемблер, чтобы п/п прерывания успела завершиться за период коммутации.
Фабула и собственно вопрос. Ни одного примера таких п/п на ассемблере уже применительно к К1921ВК01Т я не нашел, потому что этот микроконтроллер для привода, где редко бывают высокие частоты коммутации (10 - 30кГц) и такое лютое быстродействие уже не требуется и можно писать на С? Или может быть регуляторы для привода гораздо более сложные, чем простой контур по току DC-DC, и уже исходя из этого ставятся требования к быстродействию, а не изза частот?
Заранее благодарю.

Аватара пользователя
Лашкевич Максим
Сообщения: 342
Зарегистрирован: 30 дек 2015, 10:38

Re: Ассемблер на К1921ВК01Т

Сообщение Лашкевич Максим » 01 сен 2017, 13:36

Добрый день. Компиляторы сейчас такие хорошие, что чтобы написать на ассемблере быстрее - надо год тренировок. И будет хорошо если процентов на 20 быстрее чем Си. При этом если правильно писать на Си, то можно простой контур управления вполне до 100кгц сделать для дсдс.
Кроме того, непонятна ваша фраза про 10-30кГц. В приводе частоты коммутации бывают очень разные, грубо говоря от 2 до 200кГц. И частота коммутации никак не привязана к частоте расчета контура управления - она может быть любой другой. Частота обсчета обычно делается максмально-доступной по производительности. На К1921ВК01Т можно сделать контур управления приводом с частотой 10-20кГц (пример ПО - motorcontroldemo).
Знать ассемблер однако полезно, но не чтобы на нем писать в голом виде, а чтобы понимать в общих чертах, что сгенерировал компилятор Си и чем ему можно помочь. Скоро в печать выходит книга Козаченко В.Ф. по программированию на ассемблере для Cortex M4F (и для К1921ВК01Т в частности).
С уважением,
Лашкевич Максим.
skype: maxlashk
Инженер-программист ООО "НПФ Вектор", Москва.

rasulikv
Сообщения: 6
Зарегистрирован: 24 авг 2017, 15:23

Re: Ассемблер на К1921ВК01Т

Сообщение rasulikv » 04 сен 2017, 15:28

Да, насчет частоты коммутации преобразователей в приводах был ляп от неспециалиста. Но как мне кажется в ТЗ могут указаны такие требования к динамике нагрузки, что нужда заставляет обсчитывать каждый период коммутации. В той же книжке Мелешина "Управление транзисторными преобразователями электроэнергии" описывается именно такой подход. И то же самое я нашел как раз в описании ПО MotorControlDemo. Наверняка ведь он используется для каких нибудь крутых прецизионных приводов с движениями с микрометровой точностью как в работах Балкового.
А задался я этим вопросом потому, что мне очень желательно засунуть в вышеназванный воронежский проц СУ для ИБП, в котором ККМ и инвертор имеют по 2 контура ОС и частоту коммутации 30кГц и помимо этого есть еще куча нетребовательных ко времени процессов типа индикации, кнопочек и интерфейсов. А на ассемблере писать вообще не охота.
С уважением,
К. Расули

Аватара пользователя
Лашкевич Максим
Сообщения: 342
Зарегистрирован: 30 дек 2015, 10:38

Re: Ассемблер на К1921ВК01Т

Сообщение Лашкевич Максим » 05 сен 2017, 13:06

Два или четыре контура ОС на 30кГц вообще нет никакой проблемы сделать там на Си и еще половина ресурсов свободными останутся. Если не будете какие-нибудь там разложения Фурье туда вставлять, конечно. А индикацию и прочее можно вообще не считать, их можно на 1кГц в низкоприоритетном прерывании поставить и всё там успеть.
С уважением,
Лашкевич Максим.
skype: maxlashk
Инженер-программист ООО "НПФ Вектор", Москва.

Ответить