Я так понял, что PWM_DW и PDM_DW - это совершенно разные вещи. PWM_DW - это классический ШИМ, а PDM_DW - это я не знаю что такое. Зачем вы на сайте Hardella сравниваете эти не сравнимые вещи. И названия этим ФБ дали похожие. Это сбивает с толку. Я с дуру ухватился за PDM_DW подумав, что это какой-то супер ШИМ от которого мне привалит много счастья.
Последний раз редактировалось Вольд; 04.03.2017 в 13:16.
PDM это pulse density modulation: https://en.wikipedia.org/wiki/Pulse-density_modulation
В английской статье говорится, что PWM это частный случай PDM.
Есть про PDM упоминание и в русской статье про ШИМ:Pulse-width modulation (PWM) is a special case of PDM where the switching frequency is fixed and all the pulses corresponding to one sample are contiguous in the digital signal...
Высоким качеством обладает такая разновидность однобитной ИКМ, как импульсно-плотностная модуляция (pulse density modulation), которая ещё именуется импульсно-частотной модуляцией.
Добрый день.
Интересный документ представил Ветер. Владимир Ситников, вы не планируете реализовать что-то подобное (хотя бы часть инструкций) в своем проекте ? Ваш ФБ Steper работает хорошо. Было бы не плохо расширить возможности управления ШД.
Последний раз редактировалось Newcomer; 06.03.2017 в 10:14.
Владимир, как можно оценить время исполнения программы для PRU ? Я так понимаю, что время исполнения программы для PRU должно обязательно укладываться в min cycle.
Можно:
1) выполнить её на эмуляторе.
2) грубо оценить -- умножить на 5нс количество команд в PRU коде. Т.е. заглянуть в программу ..._Pru0Init, найти там pruCode : ARRAY[1..557] и умножить размер массива на 5нс.
557*5нс = 2.785мкс. Это оценка сверху. Например, если выполнение пошло по одной из веток IF, то вторая, разумеется, не выполняется.
Можно придумать какой-нибудь механизм, чтобы в online можно было узнать сколько выполнялся пользовательский код. Минус в том, что он потребует какого-то регистра для хранения данных. С другой стороны, одного-двух байтов должно быть достаточно.