Обсуждаем контроллеры компании Atmel.
Ответить

АЦП вместо ... таймера. :)

Сб дек 04, 2021 11:40:25

"Пусть безумная идея.." (с)
Пришла мысль , но я ее еще не думал. :)
Не хватает таймера, я подумал : А почему бы не использовать прерывание ADC в Free Running mode?
Настроить с нужной скоростью , и инкрементировать счетчик.
Если будет слишком часто , взять и поделить :) , программно.

Это не очень глупо?

Re: АЦП вместо ... таймера. :)

Сб дек 04, 2021 11:45:11

это очень глупо ))
если мало таймеров... ставим рядом второй МК...
будет двух ядерный МК))

Re: АЦП вместо ... таймера. :)

Сб дек 04, 2021 11:46:22

Можно, отчего же. Во всяком случае, второй МК не понадобится. Но что за фантастическа приблуда, что ей вагон таймеров нужен? Если не нано- микрусекундные интервалы нарезать, я обычно на один таймер навешивал несколько задатчиков интервалов - каждому свой счётчик. Шуршало нормально.

Re: АЦП вместо ... таймера. :)

Сб дек 04, 2021 12:20:51

надо наносекунды !
Ethernet-Atmega8-тр.jpg
(200.93 KiB) Скачиваний: 237

:)

Re: АЦП вместо ... таймера. :)

Сб дек 04, 2021 12:31:30

roman.com писал(а):ставим рядом второй МК...

Некуда.
Jack_A писал(а):ей вагон таймеров нужен?

В тини 13 "вагона" нет, единственный занят под шим. Сейчас использую собаку.
15-20мс надо.

Re: АЦП вместо ... таймера. :)

Сб дек 04, 2021 16:10:34

...Не хватает таймера, я подумал : А почему бы не использовать прерывание ADC в Free Running mode?
Настроить с нужной скоростью , и инкрементировать счетчик.
Если будет слишком часто , взять и поделить :) , программно...
Почему бы и нет! WDT живет своей жизнью, а в этом случае будет всё синхронно и полностью управляемо.

Re: АЦП вместо ... таймера. :)

Сб дек 04, 2021 19:44:00

под шим. Сейчас использую собаку.
15-20мс надо.

Собака - тоже вариант (хотя не из мной любимых) .

Re: АЦП вместо ... таймера. :)

Вс дек 05, 2021 11:09:26

...В тини 13 "вагона" нет, единственный занят под шим. Сейчас использую собаку.
15-20мс надо.
Как вариант. Использовать флаг по периоду ШИМ и счетчик этих периодов. Тогда WDT и ADC не нужно задействовать.

Re: АЦП вместо ... таймера. :)

Вс дек 05, 2021 11:11:58

я тоже хотел предложить использовать прерывание по переполнению таймера ШИМ. и на нем сделать программные таймеры.

Re: АЦП вместо ... таймера. :)

Вс дек 05, 2021 13:32:26

Ну это если частота этого самого ШИМируемого сигнала не меняется. Сам хотел предложить, но засомневался.

Re: АЦП вместо ... таймера. :)

Пн дек 06, 2021 11:30:43

Jack_A писал(а):если частота этого самого ШИМируемого сигнала не меняется. Сам хотел предложить, но засомневался.

И правильно! Она не меняется , но максимальна и чтобы получить нужную , придется потратить память , которой еще меньше чем таймеров. :)

Re: АЦП вместо ... таймера. :)

Пн дек 06, 2021 13:22:04

придется потратить память , которой еще меньше чем таймеров. :)

Раз уж мало и памяти и таймеров, то может просто перейти на новые tiny402/412, у нас в магазине они по 1$ и там 2 или 3 таймера. Или денег и желания разбираться с новой архитектурой тоже мало? :)

Re: АЦП вместо ... таймера. :)

Пн дек 06, 2021 14:50:37

...чтобы получить нужную , придется потратить память , которой еще меньше чем таймеров.
Пары регистров для счетчика переполнений хватит чтобы сделать интервал до 1,7сек.

Re: АЦП вместо ... таймера. :)

Пн дек 06, 2021 16:23:29

практика использования АЦП в качестве "лишнего" таймера - нормальная практика. и не надо бояться и напрягаться от "вредных" запретов.

Re: АЦП вместо ... таймера. :)

Вт дек 07, 2021 22:26:15

Вот не помню уже - время преобразования не зависит от отношения Uвх и Uref ? Или оговорено максимальное для наихудшего случая?
И ещё: если free running, то момент окончания преобразования - случаен относительно момента начала отсчёта интервала? Грубо выражаясь - джиттер ?
Последний раз редактировалось Jack_A Вт дек 07, 2021 22:31:29, всего редактировалось 2 раз(а).

Re: АЦП вместо ... таймера. :)

Вт дек 07, 2021 22:28:38

время преобразования не зависит ни от чего (кроме системы тактирования АЦП), но первое после запуска АЦП будет чуток дольше длиться, чем все последующие.
Ответить