Ревич, Ю.В. Программирование микроконтроллеров AVR: от Arduino к ассемблеру
ГЛ А В А 1 1 Аналоговый компаратор и АЦП В АVR достаточно много встроенных возможностей для выполнения операций с аналоговыми величинами: это аналоговый компаратор, который неизменно вхо дит во все без исключения модели АVR (а в «продвинутом» семействе XMega их даже несколько), и 1 О-разрядный многоканальный аналого-цифровой преобразова тель (АЦП) - в семействе XMega он стал 1 2-разрядным. Преобразование в обрат ную сторону - цифрового значения в аналоговое - без дополнительных усилий можно осуществлять только с помощью ШИМ-режима таймеров (см. главу 9), хотя, опять же, семейство XMega обладает «настоящими» цифроаналоговыми преобра зователями (ЦАП), а в Arduino функции ЦАП имеются в основанной на 32-раз рядном микроконтроллере АRМ-типа плате Arduino Due . Справедливости ради заметим, что на практике задача цифроаналогового преобразования возникает зна чительно реже аналого-цифрового . В этой главе мы рассмотрим аналого-цифровые преобразования с помощью и ана логового компаратора, и АЦП. Но сначала познакомимся с принципом аналоговых операций, «подводными камнями», которые могут нас поджидать на этом пути, а также с основной терминологией по этому вопросу. Вообще-то, проведение изме рений с помощью электронных приборов - совершенно отдельная и большая тема, не имеющая прямого отношения к контроллерам, как таковым, но мы тут вынуж дены изложить хотя бы ее самые-самые основы, иначе к АЦП будет обращаться незачем. Аналоговые операции : понятие погрешности и построение градуировоч ных уравнений Такое впечатление, что современные инженеры-цифровики о погрешностях ника кого понятия иметь не должны. Arduino для проведения аналоговых измерений фактически требует всего лишь одной строчки программного кода- вызова функ ции analogRead ( ) . Это порождает мнимую уверенность в том, что все прои;юйдет само по себе, и никаких знаний об погрешностях тут не требуется. Такой подход был бы еще простительным в отношении программистов, которые об аналоговых сигналах знают только, что они измеряются в вольтах и милливольтах, а до осталь-
Made with FlippingBook
RkJQdWJsaXNoZXIy MTExODQxMg==