| AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR... |
Fast PWM Mode
01.02.2018, 14:53
|
|
|
Прописка
Регистрация: 25.11.2008
Сообщений: 114
Сказал спасибо: 3
Сказали Спасибо 9 раз(а) в 9 сообщении(ях)
|
Fast PWM Mode
Чтой-то я заблудился. ATmega 8 бит, любая...
Если этот быстрый шим установть 7 (Fast PWM, 10-bit), то выход (OCnA) при совпадении с OCRnA устанавливается в 1, а при достижении 0x03FF сбрасывается в 0. (Ну или наоборот).
Всё просто. Работает.
А как быть с Fast PWM=15? Верхний предел задан в OCRnA. А "нижний" чем?
При достижении верхнего предела (в OCRnA) выход сбрасывается. А чем он "устанавливается" перед этим?
|
|
|
|
01.02.2018, 16:07
|
|
|
Супер-модератор
Регистрация: 13.03.2004
Адрес: Minsk
Сообщений: 2,394
Сказал спасибо: 2,016
Сказали Спасибо 1,356 раз(а) в 591 сообщении(ях)
|
Re: Fast PWM Mode
Сообщение от DPANYTA
|
|
А как быть с Fast PWM=15? Верхний предел задан в OCRnA. А "нижний" чем?
|
переполнением счетчика
__________________
[ жизнь приятна и красива, если выпить литр пива ]
|
|
|
|
01.02.2018, 18:07
|
|
|
Прописка
Регистрация: 25.11.2008
Сообщений: 114
Сказал спасибо: 3
Сказали Спасибо 9 раз(а) в 9 сообщении(ях)
|
Re: Fast PWM Mode
Дык...
Переполнения (MAX) не наступает, если я правильно читаю датшит, а наступает TOP, после которого счётчик сбрасывается.
Датшит:
"In fast PWM mode the counter is incremented until the counter value matches either one of the
fixed values 0x00FF, 0x01FF, or 0x03FF (WGMn3:0 = 5, 6, or 7), the value in ICRn (WGMn3:0 =
14), or the value in OCRnA (WGMn3:0 = 15). The counter is then cleared at the following timer
clock cycle."
Перевод:
"В режиме быстрой ШИМ счетчик инкрементируется до совпадения его значения с одним из фиксированных значений 0x00FF, 0x01FF или 0x03FF (если WGMn3:0 = 0b0101, 0b0110 или 0b0111, соответственно), значением в ICRn (если WGMn3:0 = 0b1110) или значением в OCRnA (если WGMn3:0 = 0b1111), а затем сбрасывается следующим тактом синхронизации таймера."
|
|
|
|
02.02.2018, 08:50
|
|
|
Прописка
Регистрация: 25.11.2008
Сообщений: 114
Сказал спасибо: 3
Сказали Спасибо 9 раз(а) в 9 сообщении(ях)
|
Re: Fast PWM Mode
Мм.дааа... Завалили ответами.
Чё, все уже на STM перешли?
Ответ нашёлся тут.
И то без объяснения, просто пример. Рабочий.
ИТАК.
"Верхний предел" (частоту ШИМа) задаёт OCR1A, а "нижний" (скважность) - OCR1B.
Т.е. при Fast PWM=15 работает только канал A. Канал B ему "помогает".
|
|
|
|
02.02.2018, 10:21
|
|
|
Модератор
Регистрация: 04.08.2010
Адрес: Москва СЗАО/МО
Сообщений: 12,290
Сказал спасибо: 11,862
Сказали Спасибо 4,159 раз(а) в 3,177 сообщении(ях)
|
Re: Fast PWM Mode
Проверял у 328P все режимы PWM - ничего, кроме complete datasheet не потребовалось. Правда там описание "несколько" разбросано, но со второй попытки все заработало.
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
|
|
|
|
02.02.2018, 12:31
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 08.10.2007
Сообщений: 2,758
Сказал спасибо: 1,100
Сказали Спасибо 1,033 раз(а) в 568 сообщении(ях)
|
Re: Fast PWM Mode
Сообщение от DPANYTA
|
|
Мм.дааа... Завалили ответами.
|
Вы серьёзно полагаете, что после обеда в четверг вся страна бежит на казус отвечать на вопросы теоретиков, не дочитавших даташит?
Сообщение от DPANYTA
|
Верхний предел задан в OCRnA. А "нижний" чем?
ИТАК.
"Верхний предел" (частоту ШИМа) задаёт OCR1A, а "нижний" (скважность) - OCR1B.
|
Счётчик таймера считает от нуля до числа, хранимого в OCR1A (Output Compare Register). Сбрасывается в 0000 при совпадении. И так в цикле.
НЕЗАВИСИМО ОТ ЭТОГО регистр - компаратор B может управлять выходом OC1B, как назначено в TCCR1A. И всё.
Если вы используете авр студио, то некоторые режимы эмулируются неправильно.
Сообщение от DPANYTA
|
|
Т.е. при Fast PWM=15 работает только канал A. Канал B ему "помогает".
|
Не выдумывайте, там всё железно и независимо.
|
|
|
|
Сказали "Спасибо" makakus
|
|
|
02.02.2018, 12:32
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,578
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
|
Re: Fast PWM Mode
__________________
Глаза боятся,а руки делают.
|
|
|
|
Сказали "Спасибо" CERGEI1982
|
|
|
02.02.2018, 15:07
|
|
|
Прописка
Регистрация: 25.11.2008
Сообщений: 114
Сказал спасибо: 3
Сказали Спасибо 9 раз(а) в 9 сообщении(ях)
|
Re: Fast PWM Mode
Сообщение от mike-y-k
|
|
описание "несколько" разбросано
|
Весьма мягко сказано.
Я так и не нашёл в датшите как реализовать ШИМ сигнал при Fast PWM=15.
|
|
|
|
02.02.2018, 15:34
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 08.10.2007
Сообщений: 2,758
Сказал спасибо: 1,100
Сказали Спасибо 1,033 раз(а) в 568 сообщении(ях)
|
Re: Fast PWM Mode
Сообщение от DPANYTA
|
|
как реализовать ШИМ сигнал при Fast PWM=15.
|
Ну раз вы заняли OCR1A и компаратор под период ШИМа (а можно было ICR1), то на втором компараторе, понятное дело.
Эти таймеры очень простые, что там не понять? спрашивайте.
|
|
|
|
02.02.2018, 16:45
|
|
|
Прописка
Регистрация: 25.11.2008
Сообщений: 114
Сказал спасибо: 3
Сказали Спасибо 9 раз(а) в 9 сообщении(ях)
|
Re: Fast PWM Mode
Да сейчас уже всё понятно.
Только не из датшита.
Ткните носом (в датшит), где про эти два компаратора прописано.
Про второй вернее.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 07:22.
|
|