ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
5 мая
68371 Топик полностью
GM (10.09.2006 00:08, просмотров: 1) ответил AVR на Хотелось бы не известий, а аргументов и фактов. Будьте так любезны
Извольте, уважаемый А) В вашем варианте переменная pwm меняется в диапазоне от 0 до 255 в течение одного периода шим. Предположим для некоего канала уставка=63, тогда форма шим выглядит следующим образом
_         _______________________
 |_______|                       |___ pwm
 0       63     127     191     255
Теперь, пусть при pwm=126 произошла запись новой уставки=191. Форма шим будет будет иметь совершенно другой вид (см. ниже), поскольку для pwm=[63..127], сигнал будет выдаваться в соответствии со старой уставкой, а для pwm=[128..255], сигнал будет выдаваться в соответствии с новой уставкой.
_         _______         _______
 |_______|       |_______|       |___ pwm
 0       63     127     191     255
Страшно представить, что будет если менять все уставки каждый период. А вот вам и Б) Формально, предложенный мною алгоритм более чем в ТРИ раза быстрее вашего. На самом деле, "разов" еще больше, т.к. моя программа реально дает частоту шим Fclc/(18*256)=4340 Гц и при этом имеет более 90% свободного машинного времени, в то же время как ваш алгоритм загружен на 100%. Чтобы сменить хотя бы одну уставку, вашей программе к 65МЦ нужно дополнительно еще порядка 35МЦ (по вашим подсчетам). Следовательно, реальная частота вашего шим составляет Fclc/(100*256)=781 Гц и моя программа более чем в ПЯТЬ раз быстрее вашей. Вот такой "скелет мизинца" получился(:-).