Микроконтроллеры | помогите разобраться с attiny25 |
|
---|---|---|
Здравствуйте! Мне нужен генератор 100 кГц со скважностью 3.2 - 3.7 ldi r16, 0x3f фактически, я пытаюсь получить ШИМ на таймере И кто может подкинуть идею(это к таймеру не относится ), как получить на выходе скажем при частоте 500 Гц случайное ее изменение +-10Гц, ну может псевдо-случайное, но с возможно большим периодом повторения? |
|
|
по такой реализации что можно сказать(для 25)? RAND: |
|
|
1. У вас какой результат - все время лог.1 или лог.0 вместо ШИМа?. Так оно и будет, потому что в вашем режиме OCR0A используется в качестве TOP. Задействуйте выход ШИМ на OCR0B. |
|
|
Чтобы получить 100 кГц шим, надо задействовать pll 64/32 МГц. Выход плл подключен только в таймеру1, а вы используете таймер0, исправьте. По второму вопросу, при генерации шим случайным образом меняете заполнение (скважность) в заданных пределах. Ну и НЧ-фильтр, разумеется. Ещё можно оцифрять шум стабилитрона с помощью АЦП и выдавать в качестве коэффициента заполнения. |
|
|
chav1961 2. Ну вариант не мой Если не сложно - не подскажете, для тини25 при бат. питании внешний супервизор нужен или будет достаточно внутреннего Brown-Out Detector? GM Чтобы получить 100 кГц шим, надо задействовать pll 64/32 МГц ???? Увыжаемый, а Вы вообще читали, что я спросил? мне нужно менять частоту при заданной скважности, и ног свободных для стабилитрона нет |
|
|
alvo: таймер в таком режиме никак с остальной частью программы связан не будет? |
|
|
alvo: Увыжаемый, а Вы вообще читали, что я спросил? мне нужно менять частоту при заданной скважности, и ног свободных для стабилитрона нет если нечего сказать по делу, не лучше-ли просто промолчать? 1) Ваши слова "со скважностью 3.2 - 3.7" я понимаю буквально, скважность должна меняться от 3.2 до 3.7. Ваше решение даёт всего 8 точек, это не шим, а профанация. Использование внутренней PLL 64 МГц даст более-менее приличный результат. 2) Использование стабилитрона было указано как вариант, не хотите, не используйте. Насчёт количества ног, в первом посте вы указали, что используете 7 ног, а в tiny25 их 8, вот и нога свободная появилась. 3) Что касается нечего сказать по делу, позвольте мне самому определять, что говорить, кому и как. А вам, увыжаемый аникейщик с претензиями, я советов больше давать не буду и других призываю. |
|
|
GB извиняйте, сразу не понял, туплю 1) Ваши слова "со скважностью 3.2 - 3.7" я понимаю буквально, скважность должна меняться от 3.2 до 3.7. Ваше решение даёт всего 8 точек, это не шим, а профанация. Использование внутренней PLL 64 МГц даст более-менее приличный результат. 2) Использование стабилитрона было указано как вариант, не хотите, не используйте. Насчёт количества ног, в первом посте вы указали, что используете 7 ног, а в tiny25 их 8, вот и нога свободная появилась. 3) Что касается нечего сказать по делу, позвольте мне самому определять, что говорить, кому и как. А вам, увыжаемый аникейщик с претензиями, я советов больше давать не буду и других призываю. chav1961 alvo: таймер в таком режиме никак с остальной частью программы связан не будет? я токо начал разбираться с АВР, в даташите некоторые вопросы очень туманно освещены нужно на выходе МК получить 100кГц, промодулированных 500 (+-10)Гц,примерно как на рисунке |
|
|
1.Таймер на выполнение программы может повлиять только в двух случаях - либо мы опрашиваем его регистры состояния и по результатам опроса выполняем те или иные действия, либо таймер в процессе работы генерирует прерывания, и эти прерывания разрешены. Все остальное время он сидит тихо как мыш и что-то там считает Обычные часы вас ведь по жизни тоже не беспокоят, пока не зазвенят Кстати, если второй таймер у Вас свободен, можете 500 Гц сделать на нем. Тогда программа вообще будет в основном "спать", да время от времени вносить ваши +/- 10Гц. Потребление будет минимально. Только поменяйте таймеры, как советовал GM. Хотя причин, почему скважность должна быть именно 3.2..3.7, я, честно говоря, пока не вижу. |
|
|
почему скважность должна быть именно 3.2..3.7 если второй таймер у Вас свободен, можете 500 Гц сделать на нем Т.е. логика получается такая: ?????? вопрос что экономичней, таймер с прерываниями или непрерывный цикл в программе? |
|
|
Форум про радио — сайт, посвященный обсуждению электроники, компьютеров и смежных тем. pro-radio.online | Обратная связь |
© 2003—2024 |