Страница 1 из 1

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

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

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

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

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

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

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

Добавлено: 05 сен 2017, 13:06
Лашкевич Максим
Два или четыре контура ОС на 30кГц вообще нет никакой проблемы сделать там на Си и еще половина ресурсов свободными останутся. Если не будете какие-нибудь там разложения Фурье туда вставлять, конечно. А индикацию и прочее можно вообще не считать, их можно на 1кГц в низкоприоритетном прерывании поставить и всё там успеть.