Хроники лаборатории: полезные советы

TRENGTOR CUSTOM: разработка и изготовление электронных цифровых устройств

Небольшие практические заметки. Полезный опыт. Аналитика. Измерения. Особенности применения.

 

 

AVR: непрерывное преобразование АЦП (ADC free running mode)

Одна из наиболее используемых периферий в МК это аналого-цифровой преобразователь, он же АЦП, он же ADC. Однако, в отличие от остальной перифирии МК, АЦП имеет такую особенность работы, как цикл преобразования. В случае ATmega (ATtiny я не использовал, поэтому точно не скажу – уточняйте возможные отличия в нужном даташите) длительность такого цикла равна 13 тактам (максимальная тактовая частота АЦП при сохранении 10-битной точности равна 200 кГц). А это означает, что надо сидеть в цикле и ждать окончания преобразования. Казалось бы, все верно.

Однако циклы ожидания крайне непрятная и нежелательная штука, т.к. вносят хаос в тайминги работы программы. Можно ли этого как-то избежать?

Да, это возможно. Необходимо использовать непрерывный режим преобразования АЦП (ADC free running mode). При этом АЦП будет в фоновом режиме непрерывно крутить циклы преобразования, в конце каждого цикла помещая полученное значение в регистр результата и поднимая флаг готовности данных. Нам остается лишь забирать данные из регистра удобным способом (это может быть и прерывание по флагу готовности данных, и обычная проверка флага) и принудительно сбрасывать флаг (если это был не обработчик прерывания). Это позволяет избавиться от пауз ожидания готовности данных АЦП и от необходимости вставлять в процедуру инициализации АЦП код для первого цикла преобразования, занимающего не 13, а 25 тактов.

02 июня 2016

 


Услуги

Ремонт гитарной электроники

Разработка электроники

Бытовая электроника

Термогигрометр

 

Гитарная электроника

Микрофонный преамп

Кабели и патчи

 

Инструменты

Контроллер для WSP80

 

Комплекты для сборки

Контроллер для WSP80

 

Хроники лаборатории

Полезные советы

 

Это полезно знать

Важное о влажности

 

Как сделать заказ

Контакты


Поддержать
сайт и его автора

 

 

 

Информация, представленная на сайте, не является офертой.

 

© yes.trengtor.com, 2014-2017. При цитировании обязательна ссылка.