Леонид Иванович (02.04.2013 14:11, просмотров: 365) ответил fk0 на Нужен ли BAM vs ШИМ и как управлять светодиодами микроконтроллером.
Почему Вы считаете, что мерцание больше всего заметно при 50% яркости? Это не так. Что касается "размазывания" импульсов во времени, то это можно сделать переходом от ШИМ к дельта-сигма:
static int Sigma = 0;
int Delta;
//квантование:
if(Sigma > POW_MAX)
{
Delta = -POW_MAX;
Led = 1; //включение LED
}
else
{
Delta = 0;
Led = 0; //выключение LED
}
//суммирование:
Sigma = Sigma + Power + Delta;
В случае управления светодиодами это вряд ли нужно, проще просто поднять частоту ШИМ - и всё.
Что касается BAM, то на самом деле пиковая производительность процессора нужна такая же, как и для ШИМ. Только средняя загрузка процессора будет существенно ниже. Многоканальный драйвер светодиодов можно реализовать на ПЛИС, но на каждый светодиод будет уходить столько LCs, сколько используется бит ШИМ-а (плюс общий счетчик ШИМ). Это довольно много, дешевыми CPLD здесь не обойтись. Проще взять достаточно быстрый МК.