paskal 1 11 октября, 2023 Опубликовано 11 октября, 2023 · Жалоба Проектирую устройство на 128 атмеге, где надо генерировать последовательность импульсов. Импульсы должны быть определенной длительности и с переменным расстоянием между импульсами. По сути надо сгенерировать кодовую посылку. Можно ли это сделать на выходе таймера через режим PWM?. Режим CDC очевидно не подходит. Там можно регулировать длительность выходного импульса, но период фиксирован - 0xFFFF. Режим FastPWM имеет переменный период следования импульсов. Но можно ли с ним регулировать ширину импульса? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_pv 69 11 октября, 2023 Опубликовано 11 октября, 2023 · Жалоба Clear Timer on Compare Match (CTC) + toggle on compare позволяет задавать длительность и положительного и отрицательного импульсов отдельно. менять их только надо каждый раз в прерывании. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
paskal 1 11 октября, 2023 Опубликовано 11 октября, 2023 · Жалоба 2 hours ago, _pv said: Clear Timer on Compare Match (CTC) + toggle on compare Переключение это плохой вариант. Не дай бог случится рассинхронизация, короткие импульсы превратятся в длинные, и всё сгорит (импульсы идут на излучатель который работает только в импульсном режиме). Кроме того импульсы очень короткие, несколько тактов, прерывание не отработает такое короткое время. Нужно чтоб одно прерывание было на весь период, а не на часть. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vov4ick 39 11 октября, 2023 Опубликовано 11 октября, 2023 · Жалоба Если импульсы очень короткие, несколько тактов, можно их делать nop-ами в обработчике, а частоту следования задавать регистром сравнения таймера. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
paskal 1 11 октября, 2023 Опубликовано 11 октября, 2023 · Жалоба А период следования как точно выдержать? Надо бы чтоб аппаратно период формировался. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Plain 197 12 октября, 2023 Опубликовано 12 октября, 2023 · Жалоба 9 часов назад, paskal сказал: Переключение это плохой вариант Вам его и не предлагают. У таймера два компаратора, первый задаёт период, второй — длительность импульса. Соответственно, если второй не меняется, будет ЧИМ, а если первый — ШИМ. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
paskal 1 12 октября, 2023 Опубликовано 12 октября, 2023 · Жалоба 15 hours ago, Plain said: У таймера два компаратора, первый задаёт период, второй — длительность импульса. Соответственно, если второй не меняется, будет ЧИМ, а если первый — ШИМ. Похоже это мне подходит. А какой это режим таймера? Там их 16. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Plain 197 13 октября, 2023 Опубликовано 13 октября, 2023 · Жалоба Mode 15. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться