48450 (Работа периферийных устройств), страница 3

2016-07-30СтудИзба

Описание файла

Документ из архива "Работа периферийных устройств", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "48450"

Текст 3 страницы из документа "48450"

Все перечисленные операции в ведомом устройстве выполняются аппаратно.

Порт TWSI у микроконтроллера типа ml63 содержит 5 регистров ввода-вывода:

■ регистр данных TWDR (№ $03);

■ регистр адреса TWAR (№ $02);

■ регистр состояния TWSR (№ $01);

■ регистр задания скорости передачи TWBR (№ $00);

■ регистр управления TWCR (№ $36).

Порт переводится в активное состояние при установке в единичное состояние разряда TWEN регистра TWCR. При этом выводы порта SCL и SDA подключаются к внешним выводам микроконтроллера PC0 и РС1 соответственно.

Порт начинает работать в качестве ведущего после установки в единичное состояние разряда TWSTA регистра TWCR.

При работе в качестве ведущего генератор G формирует импульсный сигнал, который через буферную схему I/OCL выдается в линию SCL. Скорость передачи битов определяется числом, код которого записан в регистре TWBR. Положение фронтов импульсов в импульсном сигнале связано с выполнением определенных операций в порте и может изменяться в некоторых пределах. Осредненное значение скорости передачи BR, бит/с, определяется по формуле

где FCK - тактовая частота микроконтроллера; (TWBR) - число, код которого записан в регистр TWBR ( (TWBR) >7); tA - показатель, учитывающий растяжение некоторых интервалов между фронтами импульсов (tА = 200-600 нс).

При работе порта в качестве ведомого порядок его работы определяется импульсной последовательностью, которая через вывод SCL и буферную схему I/OCL поступает в схему управления СУ.

Регистр TWDR имеет цепи для сдвига кода влево. В него параллельно записываются байты, предназначенные для последовательного вывода в линию SDA через буферную схему I/ODA, и последовательно вводятся байты, поступающие из линии SDA через буферную схему I/ODA. импулсы сдвига поступают из схемы управления.

Регистр TWAR используется только при работе порта в качестве ведомого. Код, записанный в старших семи его разрядах, представляет собственный адрес микроконтроллера (А6,..., АО). Этот код сравнивается с помощью схемы сравнения СС с кодом в старших семи битах адресного байта, принятого в регистр TWDR.

Младший разряд TWGCE регистра TWAR разрешает прием байтов данных (при TWGCE = 1) после получения адресного байта с адресом общего вызова для всех ведомых микроконтроллеров ($00).

Регистр TWCR содержит разряды, определяющие работу схемы управления, (TWEA, TWSTA, TWSTO и TWEN), отражающие состояние порта (TWINT и TWWC) и разряд TWIE, разрешающий поступление запроса прерывания из порта в блок прерываний. Запрос прерывания TWSI поступает в блок прерываний при TWINT = 1 и TWIE = 1.

Код, формируемый в регистре TWSR, отражает состояние порта TWSI на различных этапах его работы.

Порт может работать в следующих режимах:

1) ведущий с передачей байтов данных;

2) ведущий с приемом байтов данных;

3) ведомый с приемом байтов данных;

4) ведомый с передачей байтов данных.

В табл.6. описан порядок управления портом TWSI при работе его в качестве ведущего с передачей байтов (табл.6, а) и с приемом байтов (табл.6,5) при отсутствии ошибок в процессе обмена.

В таблице используются следующие обозначения:

■ SLA, W/R - адресный байт, где SLA - адрес ведомого устройства;

■ DATA - байт данных;

■ (TWSR) - байт в регистре TWSR;

■ (TWDR) - байт в регистре TWDR;

■: = - знак операции установки разряда регистра TWCR в указанное состояние.

В исходном состоянии разряд TWEN в регистре TWCR находится в единичном состоянии, остальные разряды - в нулевом состоянии.

В табл.7. описан порядок управления портом TWSI при работе его в качестве ведомого с приемом байтов (в табл.7, а) и с передачей байтов (в табл.7, б) при отсутствии ошибок в процессе обмена.

В исходном состоянии разряды TWEN и TWEA регистра TWCK находятся в единичном состоянии, другие разряды - в нулевом состоянии; в регистре TWAR записан байт SLA, 0/1.

Таблица 6

№ шага

Операция по команде

в программе

Условие перехода

к следующему шагу

а) ведущий с передачей байтов данных

1

TWSTA: =1

TWINT=1, (TWSR) =$08

2

SLA, 0→TWDR

3

TWINT: =0

TWINT=1, (TWSR) =$18

4

DATA→TWDR

5

TWINT: =0

TWINT=1, (TWSR) =$28

Выполнение шагов 4, 5

N

TWSTO: =1 - конец передачи, освобождение шины IC

N

TWSTO: =1, TWSTA: =1

TWINT=1, (TWSR) =$10

N+1

Выполнение шага 2 в табл. а) или б) и далее

б) ведущий с приёмом байтов данных

1

TWSTA: =1

TWINT, (TWSR) =$08

2

SLA, 1→TWDR

3

TWINT: =0

TWINT=1, (TWSR) =$40

4

(TWRD) →Rd

5

TWINT: =0

TWINT=1, (TWSR) =$50

Выполнение шагов 4, 5

M

TWSTO: =1 - конец приема, освобождение шины IC

M

TWSTO: =1, TWSTA: =1

TWINT=1, (TWSR) =$10

M+1

Выполнение шага 2 в табл. а) или б) и далее

Таблица 7

№ шага

Операция по команде

в программе

Условие перехода

к следующему шагу

а) ведомый с приемом байтов данных

1

TWINT=1, (TWSR) =$60/$70

(TWDR) →Rd

2

TWINT: =0

3

TWINT=1, (TWSR) =$80/$90

(TWDR) →Rd

4

TWINT: =0

Далее шаги 3, 4

б) ведомый с выдачей байтов данных

1

TWINT=1, (TWSR) =$A8

DATA→TWDR

2

TWINT: =0

3

TWINT=1, (TWSR) =$B8

DATA→TWDR

4

TWINT: =0

Далее шаги 3, 4

Единичное состояние разряда TWINT в процессе обмена может определяться программными средствами с использованием команды условного перехода или аппаратными средствами по запросу прерывания TWSI. Во втором случае при инициализации порта необходимо установить в единичное состояние также разряд TWIE регистра TWCR.

При появлении ошибок в процессе обмена в регистре состояния TWSR появляются коды иные, чем указаны в табл.6 и 7.

Разряд TWWC регистра TWCR устанавливается в единичное состояние при попытке записать код в регистр TWDR во время сдвига кода в регистре.


5. Таймеры-счетчики общего назначения

Таймер-счетчик Т/СХ (X = 0, 1, 2 - цифра в имени таймера-счетчика) любого типа содержит базовый счетчик TCNTX, имеющий восемь или шестнадцать разрядов, и восьмиразрядный регистр управления TCCRX. Кроме того, в состав таймера-счетчика входят один или несколько разрядов регистра запросов, прерывания TIFR (№ $38, у МК типа 128 - № $05) и столько же разрядов регистра маскирования прерываний TIMSK (№ $39, у МК типа t28 - № $06). Регистры TIFR и TIMSK являются общими для всех таймеров-счетчиков микроконтроллера.

Разряд регистра TIFR устанавливается в единичное состояние при формировании в таймере-счетчике определенного запроса прерывания. Запрос прерывания проходит в блок прерываний при единичном состоянии соответствующего разряда регистра TIMSK. Разряд регистра TIFR сбрасывается в нулевое состояние аппаратно при переходе микроконтроллера к выполнению соответствующей прерывающей программы или программно при выполнении команды установки бита в единичное состояние (!).

В состав таймера-счетчика, выполняющего функцию сравнения/PWM, входит регистр сравнения OCRX, а в состав таймера-счетчика, выполняющего функцию захвата, - регистр захвата ICRX. Разрядность регистров OCRX и ICRX равна разрядности базового счетчика TCNTX.

Для записи кода в шестнадцатиразрядный счетчик или регистр сначала выполняется команда записи (OUT) байта в старшую половину разрядов (Н), при этом поступавший из регистра общего назначения старший байт запоминается в регистре временного хранения. Затем выполняется команда записи (OUT) младшего байта в младшую половину разрядов (L), при этом оба байта одновременно записываются в счетчик или регистр.

Для чтения кода из шестнадцатиразрядного счетчика или регистра сначала выполняется команда чтения (IN) байта из младшей половины разрядов (L), при этом считанный младший байт поступает в регистр общего назначения, а старший байт запоминается в регистре временного хранения. Затем выполняется команда чтения байта из старшей половины разрядов (Н), при этом старший байт из регистра временного хранения поступает в указанный в команде регистр общего назначения.

5.1 Таймер-счетчик типа А

Таймер-счетчик типа А есть у микроконтроллеров всех типов кроме микроконтроллера типа тЮЗ. Он имеет имя Т/СО (X = 0). Таймер-счетчик типа А формирует запрос прерывания Т/СО OVF при переполнении восьмиразрядного базового счетчика TCNT0 (№ S32, у МК типа t28 - № $03).

Тактовый сигнал микроконтроллера СК поступает в пересчетную схему (prescaler) ПС, представляющую собой десятиразрядный счетчик, где выполняется деление частоты тактового сигнала на 8, 64, 256 и 1024. Сигналы с четырех выходов пересчетной схемы поступают в схему управления СУ (мультиплексор). При наличии в микроконтроллере таймера-счетчика Т/С1 эти же сигналы поступают в Т/С1.

В схему управления поступают также тактовый сигнал СК и сигнал из внешнего источника, принимаемый на вход ТО. В качестве входа то у микроконтроллеров типа 1200, 2313 и 4433 используется вывод порта PD4, у микроконтроллеров типа 2323, 2343 и серии ATtiny - вывод порта РВ2, а у микроконтроллеров типа 8515, 8535 и m163 - вывод порта РВО.

Схема управления в зависимости от комбинации состояний разрядов CSOO, CS01 и CS02 регистра управления TCCR0 (№$33, у МК тип t28 - № $04) передаст один из поступающих сигналов на счетный вход базового счетчика TCNT0, ведущего счет па сложение. Сигналы, используемые для счета в счетчике TCNT0 при разных комбинациях значений в разрядах регистра TCCR0, указаны в табл.8.

Таблица 8

CS02

CS01

CS00

сигнал

0

0

0

нет

0

0

1

СК

0

1

0

СК/8

0

1

1

СК/64

1

0

0

СК/256

1

0

1

СК/1024

1

1

0

Отрицательный фронт

на ТО

1

1

1

Положительный фронт

на ТО

При переполнении счетчика TCNT0 устанавливается в единичное состояние разряд TOV0 регистра TIFR и при единичном состоянии разряда TOIE0 регистра TIMSK в блок прерываний поступает запрос прерывания Т/СО OVF.

В микроконтроллере типа tl5 в работе таймера-счетчика типа А Участвуют разряд PSR0 регистра SFIOR (№ $2С). При установке этого Разряда в единичное состояние сбрасывается в исходное (нулевое) состояние пересчетная схема ПС. Разряд PSR0 возвращается в нулевое состояние аппаратно. В микроконтроллере типа ш163 аналогичная операция выполняется при установке в единичное состояние разряда PSR10 Регистра SFIOR (№ $30).

5.2 Таймер-счетчик типа В

Таймер-счетчик типа В входит в состав периферийных устройств микроконтроллеров типа 115 (Т/С1) и ml03 (Т/С2). Он формирует запрос прерывания Т/СХ OVF при переполнении восьмиразрядного базового счетчика TCNTX и выполняет функцию сравнения / PWM с формированием запроса прерывания Т/СХ СОМР.

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