Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Архитектура микроконтроллеров семейства Atmega. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
12.08.2026
Размер:
909 Кб
Скачать

содержимое OCRn. Чем большее число содержится в OCRn, тем меньше скважность выходных импульсов. Если в OCRn записано максимально возможное число (или 0), то на выходе имеем постоянную логическую 1 (или постоянный логический 0), т.е. уже не кривую, а прямую.

Рис. 9. Формирование сигналов в режимах таймера/счетчика «Быстродействующий ШИМ» (слева) и «ШИМ с точной фазой» (справа)

В режиме «Быстродействующий ШИМ» при изменении длительности импульса происходит сдвиг его центра во времени, другими словами, – изменение фазы. Если

31

в решаемой задаче управления такое событие нежелательно, то используют другой режим – «ШИМ с точной фазой».

В режиме «ШИМ с точной фазой» на вход таймера/счетчика подается импульсная последовательность от системного генератора. Счет импульсов осуществляется непрерывно. Когда происходит переполнение счетного регистра, то его содержимое не сбрасывается в ноль, как в режиме «Быстродействующий ШИМ», а начинает уменьшаться на единицу. В результате получается пилообразная кривая другой формы – с симметричными зубцами. Регистр совпадения в этом режиме используется так же, как и в предыдущем режиме. Прерывания при переполнении и обнулении не предусмотрены.

Основным достоинством данного режима является то, что фаза выходных импульсов в процессе изменения скважности остается прежней. Середина каждого импульса на выходе таймера/счетчика четко соответствует точке смены направления счета.

Недостатком режима «ШИМ с точной фазой» является уменьшение в два раза частоты выходного сигнала, что, в свою очередь, снижает динамичность регулирования системы. Более того, когда в систему включены внешние фильтры для преобразования ШИМ сигнала в аналоговый, схема с более низкой частотой требует использования комплектующих с большими габаритами и массой.

7.3.Предделители таймеров/счетчиков

Предделители таймеров/счетчиков присутствуют в каждом МК. Это очень важная подсистема МК. Все импульсы, подаваемые на таймеры/счетчики, проходят через систему предварительного деления. Предделитель позволяет расширить диапазон формируемых частот и длительностей. Частоту поступления импульсов можно делить на 8, 32, 64, 128, 256,

32

1024 (табл. 2). Запись в разряды CSn0, CSnl, CSn2 различных комбинаций нулей и единиц позволяет выбрать один из восьми режимов работы предделителя (табл. 2). В табл. 2 величина clkI/O – это частота тактирования процессора.

При использовании достаточно большого коэффициента деления, например, 1024, счетный регистр будет проинкрементирован не обязательно через 1024 импульса. Все зависит от состояния предделителя. Работа предделителя не определяется обстоятельством, включен таймер/счетчик или нет. Предделители можно в нужный момент сбрасывать, но необходимо учитывать, что предделитель – один для всех таймеров/счетчиков (для всех – один и тот же регистр).

Таблица 2

Выбор источника тактирования

33

Сбрасывая состояние предделителя, можно сбить работу одного из таймеров/счетчиков – нарушить выдержку временного интервала. Циклический сброс состояния предделителя с целью улучшения функционирования выбранного таймера/счетчика может привести к тому, что другой таймер/счетчик вообще не заработает или будет работать некорректно. Сброс предделителя осуществляется установкой в единицу бита PSR10 в регистре SFIOR. На следующем такте этот бит будет автоматически сброшен.

Пусть выбран коэффициент деления 1024. Пусть частота МК – 16 МГц. Тогда после предделителя частота таймера/счетчика будет 16 000 000 / 1024 = 15625 Гц. В результате получили, что за 1 сек на таймер/счетчик поступит 15625 импульсов.

Пусть необходимо, чтобы 1 раз в 0,5 сек выполнялся программный модуль. Пусть частота МК – 8 МГц . Тогда получим 7813 тиков за 1 сек, а за 0.5 сек поступит в 2 раза меньше — 3906. Далее внесем это значение в регистр сравнения. С каждым приходящим импульсом будут сравниваться содержимое счетного регистра и содержимое регистра совпадения. Пусть при совпадении этих регистров произойдет прерывание по совпадению. Это означает, что при совпадении счетного регистра и регистра совпадения, текущая управляющая программа приостановит свою работу. Дальше отработает обработчик прерываний. После этого управляющая программа возобновит свою работу с того места, где была приостановлена. Подобным образом можно сканировать состояние кнопки, подсчитывать длительность нажатия кнопки, отмерять точные временные промежутки и т.д.

34

8. МОДУЛИ ПОСЛЕДОВАТЕЛЬНОЙ ПЕРЕДАЧИ ДАННЫХ

Последовательная передача данных часто применяется в информационно-управляющих системах для взаимодействия с внешними периферийными устройствами, локальной сетью в мультимикроконтроллерных системах, с системой управления верхнего уровня. Последовательный интерфейс – неотъемлимая часть любого МК семейства Atmega, представленная несколькими такими модулями.

Различают синхронную и асинхронную последовательную передачу данных. Разные типы интерфейсов имеют свой формат кадра и отличия в уровнях сигналов, положений фронтов при переключениях, что можно увидеть на временных диаграммах. На практике физические уровни сигналов формируются путем использования специальных ИС, которые называют по-разному – приемопередатчиками, конверторами, трансиверами. Число линий последовательного интерфейса,чащевсего, составляет два илитри, (вJTAG–четыре).Раccмотримосновныепоследовательныеинфор- мационные каналы МК серии Atmega. Наличие различных типов модулей последовательного ввода/вывода в составе МК нужно уточнятьпоспециализированнымсправочникам.

UART/USART – последовательный интерфейс (универсальный асинхронный приемопередатчик / универсальный синхронно-асинхронный приемопередатчик). Другое название, иногдавстречающеесявлитературе,–УАПП/УСАПП.Интерфейс достаточно прост в организации и удобен в практическом использовании. Широко встречается как в любительских, так и в профессиональных проектах. Он может работать в дуплексном режиме,т.е.врежимеодновременныхприемаипередачиданных.

Данный интерфейс в асинхронном режиме поддерживает протоколстандартаRS-232C, RS-422А, RS-485, чтопозволяеторганизовать связь с персональным компьютером. Длясопряжения МК икомпьютеранеобходимоиспользоватьсхемусопряженияуровней сигналов, например MAX232. В синхронном режиме данный ин-

35

терфейсможетвзаимодействоватьснестандартнымисинхронными протоколамиобмена,ивнекоторыхмоделяхМК–сSPI.

Еще один широко используемый интерфейс – это SPI, стандарт которого предложен фирмой Motorola. Этот модуль является трехпроводным и предназначен для организации обмена данными между МК и ПУ, подключенными к МПС. В качестве ПУ могут выступать, например, сдвиговые регистры, последовательные запоминающие устройства (типа Flash, энергонезависимыеОЗУ, EEPROM), АЦП, ЦАП, сложныепериферийныеБИСи др. Этотинтерфейсприменяютдляорганизацииобменаданными

вмультимикроконтроллерных системах. Через SPI может осуще-

ствлятьсязапись управляющейпрограммывпамятьМК. Следующий интерфейс TWI (стандарт I2C) разработан

фирмой Philips. Он является последовательным, двухпроводным, двунаправленным и позволяет объединить до 128 различных устройств.Егошинасостоитизлиниисинхронизацииилинииданных.

Кратко рассмотрим основные свойства. Скорости подключенныхкшинеустройствмогутбытьразличными.Конфликты

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

Модуль JTAG представляет собой четырехпроводной интерфейс. Он является аппаратным отладчиком и может применяться для внутрисхемной отладки программ, при тестировании печатных плат. Многие МК семейства Atmega имеют совместимый со стандартом IEEE Std 1149.1 интерфейс JTAG или инструмент программнойотладки debugWIRE.

Вдополнение к этому, для МК Atmega, имеющих флэшпамять емкостью 16 кбайт и более, имеется возможность записи управляющихпрограмм в МК через интерфейс JTAG.

36

9. АНАЛОГО-ЦИФРОВОЙ ПРЕОБРАЗОВАТЕЛЬ

Аналого-цифровой преобразователь МК

периферийное устройство, которое вводит в МК аналоговые сигналы и преобразует их в цифровое представление. АЦП применяются во многих областях техники: бытовая аппаратура, измерительная техника, компьютеры, телефония, медицинская технике, системы радиолокации и др. Наличие этого средства в составе МК и особенности его функционирования необходимо уточнять по справочной документации.

В основе работы АЦП Atmega лежит классический метод последовательных приближений. Встроенные в МК модули АЦП, как правило, являются многоканальными.

Период аналого-цифрового преобразования обычно имеет продолжительность 13-25 машинных циклов (от единиц до десятков микросекунд). Длительность такта преобразования задает генератор синхронизации: 1 цикл равен 2 периодам частоты генератора. Коэффициент деления частоты специального предделителя, содержащегося в блоке АЦП, позволяет задать время преобразования.

Аналого-цифровое преобразование не происходит мгновенно. Чтобы удерживать входное аналоговое значение постоянным от начала до конца процесса преобразования в АЦП содержит устройство выборки/хранения (УВХ). Чтобы поддерживать стабильность измеряемого аналогового сигнала в течение всего времени преобразования в состав УВХ входит усилитель. Любой аналоговый вход можно соединить со входом УВХ, используя аналоговый мультиплексор (другое название – многоканальный аналоговый коммутатор). Чтобы выбрать источник сигнала для дальнейшего преобразования, записывают номер канала коммутатора в соответствующее поле регистра управления АЦП.

37

Разрядность АЦП обычно составляет 10 бит при нормируемой погрешности +/- 2 разряда, но бывают исключения. Данный модуль имеет 2 режима работы – однократное преобразование по любому выбранному каналу и последовательный циклический опрос всех каналов.

АЦП также подавляет шум, возникающий при преобразованиях. Имеется возможность запуска этого модуля в режиме пониженного энергопотребления. Помехи, появляющиеся при работе процессорного ядра, не окажут влияния на точность преобразований.

Окончание преобразования определяют по установке триггера готовности данных, который сбрасывается при операции их чтения. Если прерывания от АЦП не запрещены, то генерируется соответствующий запрос. Считывание данных результата измерения осуществляется программным способом.

МК, включающие встроенный АЦП, имеют раздельное питание для цифровой и для аналоговой подсистем. Один из выводов МК предназначен для опорного напряжения. В качестве источника опорного напряжения АЦП Uоп может использоваться напряжение питания самого МК либо внешний источник. МК имеет выводы: VREFH – верхний предел Uоп, VREFL – нижний предел. Опорным напряжением Uоп называют диапозон измерения, т.е. разность потенциалов на входах VREFH и VREFL.

Напряжение питания МК обычно является максимальным значением опорного напряжения. Результат преобразования будет равен FFH, если измеряемое напряжение Uизм > VREFH. Если Uизм < VREFL, то получим код 00.

Еще две характеристики модуля – это разрешающая способность и точность. Разрешающая способность АЦП

вычисляется как Uоп/2n, где n – разрядность двоичного слова результата измерения. Чем меньше данное выражение, тем более высокая точность представления сигнала. Чтобы получить максимальную точность измерения, необходимо выбрать максимально допустимое значение Uоп.

38

10. ЦИФРО-АНАЛОГОВЫЙ ПРЕОБРАЗОВАТЕЛЬ

Цифро-аналоговый преобразователь (ЦАП) – это устройство для преобразования цифровых сигналов в аналоговые. Он выполняет функцию, обратную по сравнению с АЦП. Основные параметры этого модуля: разрешающая способность, время установления, погрешность нелинейности и некоторые другие.

Разрешающая способность ЦАП – величина, обрат-

ная максимальному числу шагов квантования выходного аналогового сигнала. Это минимальное приращение выходного напряжения при преобразовании соседних кодов.

Время установления – интервал времени от подачи кода на вход до момента, когда выходной сигнал войдет в заданные пределы, определяемые погрешностью.

Погрешность нелинейности – максимальное откло-

нение графика зависимости выходного напряжения от напряжения, задаваемого цифровым сигналом, по отношению к идеальной прямой во всем диапазоне преобразования.

Модули ЦАП в составе МК встречаются редко, т.к. вывод аналоговой информации не всегда востребован в практических задачах. Кроме того, функция этого внутреннего ПУ может быть реализована средствами входящего в состав МК программируемого таймера в режиме ШИМ. Режим ШИМ позволяет на одном из выводов МК сформировать высокочастотную импульсную последовательность с регулируемой длительностью импульса. Полученный сигнал сглаживается фильтром нижних частот на операционном усилителе.

ЦАП востребован в системах управления. Также этот модуль используется в цифровых фильтрах для создания необходимого диапазона частот сигнала, а также для формирования сигнала определенной формы. Применение ЦАП эффективно в телекоммуникационных системах. Сформированный сигнал можно наглядно увидеть на осциллографе.

39

11.АНАЛОГОВЫЙ КОМПАРАТОР

Аналоговый компаратор сравнивает напряжения на специальных входах AIN0 (неинвертирующий) и AIN1 (инвертирующий). Если напряжение на входе AIN0 больше напряжения на входе AIN1, то и устанавливается на выходе логическая “1”, иначе – логический “0”. Регистр ACSR хранит в одном из своих разрядов (ACO) полученный результат. В этом же регистре бит с названием ACD отвечает за включение/выключение компаратора. Еще два бита ACIS0 и ACIS1 идентифицируют способ влияния сигнала с выхода компаратора на последующие схемы:

любое изменение на выходе;

изменение с логической “1” на логический “0”;

изменение с логического “0” на логическую “1”. Компаратор имеет в своем составе специальный

внутренний источник опорного напряжения.

На практике компараторы удобно применять для контроля определенного значения входного напряжения.

40

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]