Главная » Просмотр файлов » Руководство пользователя MSP430

Руководство пользователя MSP430 (1041606), страница 22

Файл №1041606 Руководство пользователя MSP430 (Раздаточные материалы) 22 страницаРуководство пользователя MSP430 (1041606) страница 222017-12-26СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 22)


Рис.12-11 Цикл захвата

Захват, инициируемый программным обеспечением

Захваты могут быть инициированы программно. Биты CMx могут устанавливаться для выполнения захвата на обоих фронтах. В этом случае программное обеспечение устанавливает бит CСIS1=1 и переключает бит CCIS0 для переключения сигнала захвата между VCC и GND, инициируя захват каждый раз, когда CCISO изменяет состояние:

MOV #CAP+SCS+CCIS1+CM_3,&TBCCTLx ; Настройка TBCCTLx

XOR #CCIS0,&TBCCTLx ; TBCCTLx = TBR

Режим сравнения

Режим сравнения выбирается, когда CAP=0. Режим сравнения используется для генерации выходных ШИМ - сигналов или прерываний через заданные временные интервалы. Когда TAR досчитывает до значения в TBCLx, происходит следующее:

  • Устанавливается флаг прерывания CCIFG

  • Внутренний сигнал EQU=1

  • EQU воздействует на вывод согласно режиму вывода

Защелка сравнения TBCLx

Защелка сравнения TBCCRx TBCLx хранит данные для сравнения со значением таймера в режиме сравнения. TBCLx буферизирована TBCCRx. Буферизация защелки сравнения дает пользователю контроль над обновлением периода сравнения. Пользователь не имеет прямого доступа к TBCLx. Сравниваемые данные записываются в каждый регистр TBCCRx и автоматически переносятся в TBCLx. Синхронизация переноса из TBCCRx в TBCLx выбирается пользователем с помощью битов CLLDx в соответствии с описанным в таблице 12-2.

Таблица 12-2. Варианты загрузки TBCLx

CLLDx

Описание

00

Новые данные переносятся из TBCCRx в TBCLx немедленно, когда записывается TBCCRx.

01

Новые данные переносятся из TBCCRx в TBCLx, когда TBR досчитывает до 0.

10

Новые данные переносятся из TBCCRx в TBCLx, когда TBR досчитывает до 0 в режимах «вверх» и «непрерывный». Новые данные переносятся из TBCCRx в TBCLx, когда TBR досчитывает до старого значения TBCL0 или до 0 в режиме «вверх/вниз».

11

Новые данные переносятся из TBCCRx в TBCLx, когда TBR досчитывает до старого значения TBCLx.

Группировка защелок сравнения

Несколько защелок сравнения могут быть сгруппированы вместе для одновременного обновления с помощью битов TBCLGRPx. При использовании групп биты CLLDx самого младшего TBCCRx в группе определяют вариант загрузки для каждой защелки группы, кроме случая, когда TBCLGRP=3, как показано в таблице 12-3. Биты CLLDx, управляющие TBCCRx, не должны устанавливаться в ноль. Когда биты CLLDx управления регистром TBCCRx установлены в ноль, все защелки сравнения немедленно обновляются при выполнении записи в их соответствующие регистры TBCCRx – группировки защелок сравнения не происходит.

При загрузке сгруппированных защелок сравнения необходимо соблюдать два условия. Во-первых, все регистры группы должны быть обновлены, даже когда новые данные TBCCRx равны старым данным TBCCRx. Во-вторых, должно произойти событие загрузки.

Таблица 12-3. Рабочие режимы защелок сравнения

TBCLGRPx

Группировка

Управление обновлением

00

Нет

Индивидуальное

01

TBCL1 + TBCL2
TBCL3 + TBCL4
TBCL5 + TBCL6

TBCCR1
TBCCR3
TBCCR5

10

TBCL1 + TBCL2 + TBCL3
TBCL4 + TBCL5 + TBCL6

TBCCR1
TBCCR4

11

TBCL0 + TBCL1 + TBCL2 + TBCL3 + TBCL4 + TBCL5 + TBCL6

TBCCR1

12.2.5 Модуль вывода

Каждый блок захвата/сравнения содержит модуль вывода. Модуль вывода используется для генерации выходных сигналов, таких как ШИМ-сигналы. Каждый модуль вывода имеет восемь рабочих режимов, которые генерируют сигналы, основываясь на сигналах EQU0 и EQUx. Функция ножки TBoutH может использоваться для установки всех выходов таймера В в «третье» (высокоимпедансное) состояние. Когда для ножки выбрана функция TBoutH и на вывод подан высокий лог. уровень, все выходы таймера В находятся в «третьем» состоянии.

Режимы вывода

Режимы вывода задаются битами OUTMODx, а их описание приведено в таблице 12-4. Сигнал OUTx изменяется по нарастающему фронту тактового сигнала таймера во всех режимах, кроме режима 0. Режимы вывода 2, 3, 6 и 7 не используются для модуля вывода 0, поскольку EQUx=EQU0.





Таблица 12-4. Режимы вывода.

OUTMODx

Режим

Описание

000

Вывод

Выходной сигнал OUTx определяется битом OUTx. Сигнал OUTx изменяется немедленно при изменении OUTx.

001

Установка

Выход устанавливается, когда таймер досчитывает до значения в TBCLx. Он остается установленным до сброса таймера или до выбора другого режима вывода и воздействия на выход.

010

Переключение/сброс

Выход переключается, когда таймер досчитывает до значения TBCLx. Он сбрасывается, когда таймер досчитывает до значения TBCL0.

011

Установка/сброс

Выход устанавливается, когда таймер досчитывает до значения TBCLx. Он сбрасывается, когда таймер досчитывает до значения TBCL0.

100

Переключение

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

101

Сброс

Выход сбрасывается, когда таймер досчитывает до значения TBCLx. Он остается сброшенным до выбора другого режима вывода и воздействия на выход.

110

Переключение/установка

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

111

Сброс/установка

Выход сбрасывается, когда таймер досчитывает до значения TBCLx. Он устанавливается, когда таймер досчитывает до значения TBCL0.

Пример вывода – таймер в режиме «вверх»

Сигнал OUTx изменяется, когда таймер досчитывает вверх до значения TBCLx и обратно от TBCL0 к нулю, в зависимости от режима вывода. Пример с использованием TBCL0 и TBCL1 показан на рис.12-12.


Рис.12-12 Пример вывода – таймер в режиме «вверх»

Пример вывода – таймер в непрерывном режиме

Сигнал OUTx изменяется, когда таймер достигает значений TBCLx и TBCL0, в зависимости от режима вывода. Пример с использованием TBCL0 и TBCL1 показан на рис.12-13.


Рис.12-13 Пример вывода – таймер в «непрерывном» режиме

Пример вывода – таймер в режиме «вверх/вниз»

Сигнал OUTx изменяется, когда таймер равен TBCLx при любом направлении счета, либо когда таймер равен TBCL0, в зависимости от режима вывода. Пример с использованием TBCL0 и TBCL3 показан на рис.12-14.


Рис.12-14 Пример вывода – таймер в режиме «вверх/вниз»

Примечание: Переключение между режимами вывода
При переключении между режимами вывода один из битов OUTMODx должен оставаться установленным во время перехода между режимами, кроме переключения в режим 0. В противном случае может произойти сбой, поскольку режим вывода 0 декодирует элемент NOR (НЕ-ИЛИ). Безопасный метод переключения между режимами вывода заключается в использовании режима вывода 7 как переходного состояния:

BIS #OUTMOD_7,&TBCCTLx ; Установка режима вывода =7

BIC #OUTMODx,&TBCCTLx ; Очистка ненужных битов

12.2.6 Прерывания Таймера В

С 16-разрядным модулем таймера В связаны два вектора прерываний:

  • Вектор прерывания TBCCR0 для TBCCR0 CCIFG

  • Вектор прерывания TBIV для всех других флагов CCIFG и TBIFG

В режиме захвата любой флаг CCIFG устанавливается, когда значение таймера зафиксировано в соответствующем регистре TBCCRx. В режиме сравнения устанавливается любой флаг CCIFG, если TBR досчитал до соответствующего значения TBCLx. Программное обеспечение может также устанавливать или очищать любой флаг CCIFG. Все флаги CCIFG запрашивают прерывания, когда установлены их соответствующие биты CCIE и бит GIE.

Вектор прерывания TBCCR0

Флаг TBCCR0 CCIFG обладает наивысшим приоритетом прерывания Таймера B и имеет специализированный вектор прерывания, как показано на рис.12-15. Флаг TBCCR0 CCIFG автоматически сбрасывается, когда обслуживается запрос на прерывание TBCCR0.


Рис.12-15 Флаг прерывания TBCCR0 захвата/сравнения

Генератор вектора прерывания TBIV

Флаг TBIFG и флаги TBCCRx CCIFG (кроме TBCCR0 CCIFG) распределены по приоритетам и объединены в источник одного вектора прерывания. Регистр вектора прерывания TBIV используется для определения, какой флаг запросил прерывание.

Разрешенное прерывание с наивысшим приоритетом (кроме TBCCR0 CCIFG) генерирует число в регистре TBIV (см. описание регистра). Можно оценить это число или добавить его к программному счетчику для автоматического входа в соответствующую процедуру программы. Запрещенные прерывания таймера В не воздействуют на значение TBIV.

Любой тип доступа: чтение или запись регистра TBIV автоматически сбрасывает флаг наивысшего ожидающего прерывания. Если установлен другой флаг прерывания, будет немедленно сгенерировано другое прерывание после обработки изначального прерывания. К примеру, если флаги TBCCR1 и TBCCR2 CCIFG установлены, когда процедура обработки прерывания обращается к регистру TBIV, флаг TBCCR1 CCIFG автоматически сбрасывается. После выполнения команды процедуры обработки прерывания RETI, флаг TBCCR2 CCIFG генерирует другое прерывание.

Пример программного обеспечения, использующего TBIV

Приведенный далее пример программного обеспечения показывает рекомендуемое использование TBIV и величину издержек времени на управление. Значение TBIV добавляется к программному счетчику РС для автоматического перехода к соответствующей программной процедуре.

Числа в правом поле показывают необходимое количество циклов ЦПУ для каждой команды. Программные издержки различных источников прерывания включают задержку прерывания и циклы возврата из прерывания, но не учитывают собственно время обработки задачи. Задержки делятся на:

Блок захвата/сравнения CCR0

11 циклов

Блоки захвата/сравнения с CCR1 по CCR6

16 циклов

Переполнение таймера TBIFG

14 циклов

Следующий пример программного обеспечения показывает рекомендуемое использование TBIV для таймера В3:

; Обработчик прерывания для TBCCR0 CCIFG. Циклы

СCIFG_0_HND

... ; Начало времени задержки обработчика прерывания 6

RETI 5

; Обработчик прерывания для TBIFG, TBCCR1 и TBCCR2 CCIFG.

TB_HND $ ; Задержка прерывания 6

ADD &TBIV,PC ; Добавление смещения к таблице переходов 3

RETI ; Вектор 0: Нет прерывания 5

JMP CCIFG_1_HND ; Вектор 2: Модуль 1 2

JMP CCIFG_2_HND ; Вектор 4: Модуль 2 2

RETI ; Вектор 6

Характеристики

Тип файла
Документ
Размер
7,29 Mb
Тип материала
Высшее учебное заведение

Список файлов учебной работы

Раздаточные материалы
Описания к различным сериям микроконтроллеров
Описания некоторых систем передачи данных
Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6376
Авторов
на СтудИзбе
309
Средний доход
с одного платного файла
Обучение Подробнее