позволяет ли mega2560 одновременно независимое управление 8-ю 8-битными шимами с частотой не менее 1кГц?
- Войдите на сайт для отправки комментариев
Пнд, 23/04/2012 - 09:40
Позволяет ли mega2560 одновременное независимое управление 8-ю 8-битными шимами с частотой не менее 1кГц?
Если нет, то почему и с какой частотой это возможно?
Может ли процессор жить своей жизнью, слушая какие-то еще датчики, считая что-то, управляя чем-то еще, и попутно время от времени (допустим раз в 0,1сек) изменять скважность шима в восьми каналах, работающих с частотой 1кГц?
Спрашиваю, потому, что спец, которого я об этом спрашивал, сомневается.
Можно и быстрее чем 1кГц. Вот здесь http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1235060559/12 поднималась эта тема. Для части портов максимум 62.5кГц, остальные 32.125 кГц.
А "параллельность" можно достигнуть таймером на аппаратными прерываниях.
Дуйташит на мегу2560 утверждает что камень имеет:
– Four 8-bit PWM Channels
– Six/Twelve PWM Channels with Programmable Resolution from 2 to 16 Bits
Отсюда следует, что мы имеем от десяти ШИМ-каналов на максимальном разрешении (8- и 16-битные) до шестнадцати - на минимальном.
С 8-битными каналами все ясно - при отключенном (точнее - установленном на 1) прескейлере они генерируют ШИМ-сигнал с частотой fосц/256 = 62500 Гц (при тактировании мк с частотой16-МГц). Это таймер/счетчик0 (2 ШИМ-канала) и таймер/счетчик2 (еще 2 канала).
16-битные таймеры/счетчики (1/3/4/5) считают по умолчанию до 655535, однако их можно перенастроить на 255 (8-бит), 511 (9-бит) и 1023 (10-бит). Максимальная частота 8-битного ШИМ при этом также будет 62500 Гц.
Близкая к 1 кГц частота получится при установке прескейлера на 64 (=> 977 Гц). Такое значение можно установить у счетчика0, 2 (также 32 - ок 2 кГц) и у всех 16-битных счетчиков.
Это если пробежаться по верхам соответствующих глав дейташита. При этом возникает некоторое арифметическое несоответствие между приведенной цитатой и фактическим наличием таймеров счетчиков (2 8-битных таймера, 4 16-битных, у каждого по 2 канала - итого должно бы быть 12 каналов), но даже в худшем (и наиболее вероятном, ибо изготовителю принято верить безоговорочно) случае у нас (вас) имеется 10 каналов для генерации ШИМ.
ЗЫ: В ваших условиях 977 Гц это "не менее 1 кГц"? В противном случае придется мириться с частотами 2 или 4 кГц (точнее 1953 и 3906 Гц +/- нестабильность осциллятора).
Дорогие товарищи, всем большое спасибо.
Открыт тендер на реализацию 8-канального ШИМ-а за деньги. Может быть здесь есть кто-то, кто может мне помочь.
2012.04.24 ТЗ на 8-битное ШИМ-управление
http://goo.gl/xXJFG
Надеюсь, это не противоречит правилам форума.