позволяет ли mega2560 одновременно независимое управление 8-ю 8-битными шимами с частотой не менее 1кГц?

iva2000
Offline
Зарегистрирован: 10.02.2012

Позволяет ли mega2560 одновременное независимое управление 8-ю 8-битными шимами с частотой не менее 1кГц?

Если нет, то почему и с какой частотой это возможно?

Может ли процессор жить своей жизнью, слушая какие-то еще датчики, считая что-то, управляя чем-то еще, и попутно время от времени (допустим раз в 0,1сек) изменять скважность шима в восьми каналах, работающих с частотой 1кГц?

Спрашиваю, потому, что спец, которого я об этом спрашивал, сомневается.

 

Zaliv
Offline
Зарегистрирован: 05.03.2011

 Можно и быстрее чем 1кГц. Вот здесь http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1235060559/12 поднималась эта тема. Для части портов максимум 62.5кГц, остальные  32.125 кГц.

А "параллельность" можно достигнуть таймером на аппаратными прерываниях.

step962
Offline
Зарегистрирован: 23.05.2011

 Дуйташит на мегу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 Гц +/- нестабильность осциллятора).

iva2000
Offline
Зарегистрирован: 10.02.2012

Дорогие товарищи, всем большое спасибо.

Открыт тендер на реализацию 8-канального ШИМ-а за деньги. Может быть здесь есть кто-то, кто может мне помочь.

2012.04.24 ТЗ на 8-битное ШИМ-управление
http://goo.gl/xXJFG

Надеюсь, это не противоречит правилам форума.