Читаем PIC-микроконтроллеры. Все, что вам необходимо знать полностью

Встроенная функция disable_interrupts (GLOBAL) сбрасывает оба бита — GIE и PEIE. Обратная по смыслу функция enable_interrupts (GLOBAL) устанавливает оба бита, однако нам необходимо установить только PEIE, a GIE оставить сброшенным. Поэтому мы «напрямую» устанавливаем бит PEIE = 1. Аналогично, для сброса флага ADIF используется выражение ADIF = 0. Перед вызовом функции sleep () мы запускаем преобразование, вручную устанавливая бит . После возврата из функции sleep () сначала считывается регистр ADRESH и преобразуется к типу long int, чтобы компилятор интерпретировал его как 16-битный объект. Затем это значение умножается на 256, поскольку оно является старшим байтом 16-битного объекта. В результате сложения с полученным 16-битным числом регистра ADRESL его содержимое помещается в младший байт результата.

Вопросы для самопроверки

14.1. В Примере 14.2 пороговое значение уменьшалось по линейному закону. Несмотря на то что такой подход достаточно эффективен при априори известном периоде сигнала, который к тому же изменяется в незначительных пределах, в остальных случаях лучшие результаты можно получить, используя экспоненциальное изменение порога. Для получения такой характеристики из результата выборки необходимо вычитать не константу, а некоторую фиксированную долю полученного значения. Покажите, как можно модифицировать Программы 14.4 и 14.5, чтобы при каждой выборке пороговое значение уменьшалось примерно на 0.025 % (-1/4096), и определите постоянную времени в пересчете на количество отсчетов.

14.2. В реальных аналоговых сигналах обязательно присутствуют шумы. На практике это часто приводит к необходимости фильтрации или сглаживания. В любом случае шумы, наводимые извне, не должны иметь составляющих значительной амплитуды, с частотой, которая больше половины частоты дискретизации, поскольку при восстановлении эти составляющие окажутся сдвинутыми в полосу пропускания, как показано на Рис. 14.4. Сигнал необходимо пропускать через фильтр нижних частот перед аналого-цифровым преобразованием, как показано на Рис. 14.20.

Хотя такой внешний фильтр, устраняющий эффект наложения спектров, должен быть, по определению, реализован аппаратно (например, на -цепочке), помехи, попадающие в полосу пропускания системы, можно сгладить, используя программную фильтрацию. Один из простейших вариантов цифровой фильтрации заключается в считывании нескольких выборок с последующей выдачей усредненного результата. Например, при суммировании 16 отсчетов и последующем четырехкратном сдвиге результата вправо (16) случайный шум уменьшится в √16 = 4 раза.

Другим методом, хорошо известным тем, кто занимается статистикой, является метод скользящего среднего, который часто используется, например, для вычисления среднего курса акций в течение месяца. Достаточно эффективный алгоритм такого рода получается при усреднении по трем точкам:

где Snn-й отсчет, полученный аналоговым модулем.

Покажите, как можно модифицировать подпрограмму GET_ANALOG, чтобы она запоминала значение двух последних отсчетов и возвращала усредненное значение.

14.3. Предположим, что ЦАП МАХ506 используется для реализации автоматической регулировки усиления (АРУ) сигнала, подаваемого на аналоговый вход микроконтроллера в ЭКГ-мониторе из Примера 14.2. Задача АРУ заключается в том, чтобы максимальное значение сигнала на аналоговом входе лежало в диапазоне 3/47/8 полной шкалы. Как бы вы реализовали такую подсистему? Подсказка: вспомните, что выходной сигнал каждого канала ЦАП МАХ506 определяется собственным аналоговым входом и общим опорным напряжением Vref, которое может лежать в диапазоне 0…VDD.

14.4. Входной синусоидальный сигнал необходимо подвергнуть двухполупериодному выпрямлению, т. е. отрицательные полуволны должны поменять свой знак. Напишите подпрограмму, выполняющую данное действие, полагая, что 8-битное оцифрованное значение находится в регистре ADRESH, а выходное значение должно быть передано через порт В на внешний ЦАП.

14.5. В основе схемы, изображенной на Рис. 14.21, лежит Fig. 10 из документа AN546 «Using the Analog-to-Digital (A/D) Converter». Такая схема используется для формирования внешнего опорного напряжения для экономичных устройств. Можете ли вы объяснить, как она работает, и из каких соображений выбирается номинал токоограничивающего резистора?

Рис. 14.21. Управляемый источник опорного напряжения

<p>Глава 15</p><p>Хранить вечно!</p>
Перейти на страницу:

Все книги серии Программируемые системы

PIC-микроконтроллеры. Все, что вам необходимо знать
PIC-микроконтроллеры. Все, что вам необходимо знать

Данная книга представляет собой исчерпывающее руководство по микроконтроллерам семейства PIC компании Microchip, являющегося промышленным стандартом в области встраиваемых цифровых устройств. В книге подробно описывается архитектура и система команд 8-битных микроконтроллеров PIC, на конкретных примерах изучается работа их периферийных модулей.В первой части излагаются основы цифровой схемотехники, математической логики и архитектуры вычислительных систем. Вторая часть посвящена различным аспектам программирования PIC-микроконтроллеров среднего уровня: описывается набор команд, рассматривается написание программ на ассемблере и языке высокого уровня (Си), а также поддержка подпрограмм и прерываний. В третьей части изучаются аппаратные аспекты взаимодействия микроконтроллера с окружающим миром и обработки прерываний. Рассматриваются такие вопросы, как параллельный и последовательный ввод/вывод данных, временные соотношения, обработка аналоговых сигналов и использование EEPROM. В заключение приводится пример разработки реального устройства. На этом примере также демонстрируются простейшие методики отладки и тестирования, применяемые при разработке реальных устройств.Книга рассчитана на самый широкий круг читателей — от любителей до инженеров, при этом для понимания содержащегося в ней материала вовсе не требуется каких-то специальных знаний в области программирования, электроники или цифровой схемотехники. Эта книга будет также полезна студентам, обучающимся по специальностям «Радиоэлектроника» и «Вычислительная техника», которые смогут использовать ее в качестве учебного пособия при прослушивании соответствующих курсов или выполнении курсовых проектов.

Сид Катцен

Радиоэлектроника

Похожие книги

Электроника для начинающих (2-е издание)
Электроника для начинающих (2-е издание)

В ходе практических экспериментов рассмотрены основы электроники и показано, как проектировать, отлаживать и изготавливать электронные устройства в домашних условиях. Материал излагается последовательно от простого к сложному, начиная с простых опытов с электрическим током и заканчивая созданием сложных устройств с использованием транзисторов и микроконтроллеров. Описаны основные законы электроники, а также принципы функционирования различных электронных компонентов. Показано, как изготовить охранную сигнализацию, елочные огни, электронные украшения, устройство преобразования звука, кодовый замок и др. Приведены пошаговые инструкции и более 500 наглядных рисунков и фотографий. Во втором издании существенно переработан текст книги, в экспериментах используются более доступные электронные компоненты, добавлены новые проекты, в том числе с контроллером Arduino.

Чарльз Платт

Радиоэлектроника / Технические науки
Электроника для начинающих
Электроника для начинающих

В ходе практических экспериментов рассмотрены основы электроники и показано, как проектировать, отлаживать и изготавливать электронные устройства в домашних условиях. Материал излагается последовательно от простого к сложному, начиная с простых опытов с электрическим током и заканчивая созданием сложных устройств с использованием транзисторов и микроконтроллеров. Описаны основные законы электроники, а также принципы функционирования различных электронных компонентов. Показано, как изготовить охранную сигнализацию для защиты от проникновения в дом, елочные огни, электронные украшения для одежды, устройство преобразования звука, кодовый замок, автономную роботизированную тележку и др. Приведены пошаговые инструкции и более 500 наглядных рисунков и фотографий.Для начинающих радиолюбителей

Паоло Аливерти , Чарльз Платт

Радиоэлектроника / Технические науки
Искусство схемотехники. Том 3 (Изд.4-е)
Искусство схемотехники. Том 3 (Изд.4-е)

Широко известная читателю по предыдущим изданиям монография известных американских специалистов посвящена быстро развивающимся областям электроники. В ней приведены наиболее интересные технические решения, а также анализируются ошибки разработчиков аппаратуры: внимание читателя сосредотачивается на тонких аспектах проектирования и применения электронных схем. На русском языке издается в трех томах. Том 3 содержит сведения о микропроцессорах, радиотехнических схемах, методах измерения и обработки сигналов, принципах конструирования аппаратуры и проектирования маломощных устройств, а также обширные приложения. Для специалистов в области электроники, автоматики, вычислительной техники, а также студентов соответствующих специальностей вузов и техникумов.

Пауль Хоровиц , Уинфилд Хилл

Техника / Радиоэлектроника