Ревич, Ю.В. Программирование микроконтроллеров AVR: от Arduino к ассемблеру
294 Часть 111. Практическое программирование микроконтроллеров А VR В примере с АЦП цена одной градации при опорном напряжении ровно 1 вольт ( 1 ООО мВ) будет равна 1 000/ 1 024 = 0,9765625 мВ, максимальное значение будет равно 1 023 · 0 .9765625 = 999,02343 75 мВ, а середина диапазона - 5 1 2 · 0.9765625 = = 500 мВ. Чтобы лучше понять, представьте, что у вас есть опорный источник напряжением 4,096 вольта (такие реально существуют). Разумеется, цена одной градации 1 0-битного АЦП при этом будет 4 мВ ровно, а максимальное значение, которое может выдать такой АЦП, равно 1 023 ·4 = 4092 мВ. При этом середина диапазона будет соответствовать числу 5 1 2, т. е. в нашем примере ровно 2,048 В. ЗАМЕ.ТКИ НА ПОЛЯХ Заметим в скобках, что все эти цифры есть результат соглашения проектировщиков АЦП в целях облегчения расчетов . Им ничего не стоит подкрутить коэффициенты преобразования под любой требуемый масштаб, в том числе и такой , когда макси мальное возможное значение кода точно соответствует опорному напряжению. Но во что бы тогда превратились расчеты? Как мы говорили , есть специально выпускаемые источники опорного напряжения с точным значением 4096 или 2048 мВ . В нашем слу чае 1 О-разрядного АЦП цена разряда тогда будет ровно 4 или 2 мВ , а максимальное измеряемое напряжение - 4,092 и 2 , 046 вольта соответственно. А в «подкрученном» варианте цена разряда оказалась бы не круглым числом, и преобразования кодов в физические величины неимоверно бы усложнились, учитывая еще и ограниченные возможности 8-разрядных контроллеров . И смысла в приобретении таких относитель но дорогих источников не было бы. До сих пор мы говорили в основном о встроенном АЦП. Но в АVR есть еще анало говый компаратор. Давайте рассмотрим типовые применения компаратора, а потом уже опять вернемся к АЦП и рассмотрим его более подробно. Работа с аналоговым компаратором Аналоговый компаратор сравнивает две величины напряжения, установленные на его входах, и, в зависимости от их соотношения, устанавливает выход в одно из двух логических состояний. По сути это элементарный АЦП - однобитный преоб разователь аналогового напряжения в цифровой сигнал . Во всех без исключения схемах АЦП любого типа (интегрирующих, дельта-сигма, последовательного при ближения, непосредственного преобразования, в том числе и в самых наворочен ных DSР-контроллерах) компараторr:.1 всегда служат основой. Нет особых проблем построить собственное АЦП, используя аналоговый компаратор контроллера, и когда-то так и делали, но вряд ли кто-то этим сейчас будет заниматься . Ввиду дос тупности встроенных и внешних АЦП самого разнообразного типа, а также спе циализированных DSР-контроллеров для обработки аналоговых сигналов, само стоятельное изобретение аналого-цифровых преобразователей потеряло всякий смысл . Из-за этого про существование встроенного аналогового компаратора обычно за бывают, и, например, в Arduino нет даже встроенных функций или стандартных библиотек для работы с ним. Тем не менее и сейчас аналоговый компаратор может пригодиться для выполнения каких-то элементарных действий. В аналоговой элек тронике на основе компараторов обычно строят простые релейные регуляторы или
Made with FlippingBook
RkJQdWJsaXNoZXIy MTExODQxMg==