8(495)909-90-01
8(964)644-46-00
pro@sio.su
Главная
Системы видеонаблюдения
Охранная сигнализация
Пожарная сигнализация
Система пожаротушения
Система контроля удаленного доступа
Оповещение и эвакуация
Контроль периметра
Система домофонии
Парковочные системы
Проектирование слаботочных сетей
Аварийный
контроль
Раздел: Документация

0 ... 150 151 152 153 154 155 156 ... 195

при использовании внутреннего тактового сигнала (USICS1 = 0) защелка открыта постоянно. Применение триггера-защелки гарантирует, что считывание данных с входа и выдача их на выход будут осуществляться по противоположным фронтам тактового сигнала.

Формат регистра управления USICR показан на Рис. 12.2, а описание его битов приведено в Табл. 12.1.

Начальное значение

USISIE

USIOIE

USIWM1

USIWM0

USICS1

USICS0

USICLK

USITC

R/W 0

R/W 0

R/W 0

R/W 0

R/W 0

R/W 0

W 0

W 0

ATmega 165х

ATmega325x/3250x

ATmega645x/6450x

Рис. 12.2. Формат регистра USICR

Таблица 12.1. Биты регистра USICR

Бит

Название

Описание

7

USISIE

Разрешение прерывания при обнаружении состояния СТАРТ. Если в этом бите записана лог. 1 и флаг I регистра SREG также установлен в 1, то прерывание от детектора состояния СТАРТ разрешено

6

USIOIE

Разрешение прерывания при переполнении счетчика. Если в этом бите записана лог. 1 и флаг I регистра SREG также установлен в 1, то прерывание от счетчика разрешено

5

USIWM1

Режим работы модуля USI. Эти биты определяют функционирование выходных контактов модуля согласно Табл. 12.2. Эти биты не влияют на входы тактового сигнала и данных, поэтому прием данных, а также тактирование сдвигового регистра и счетчика внешним тактовым сигналом могут осуществляться, даже если выходы модуля отключены от контактов ввода/вывода микроконтроллера

4

USIWMO

3

USICS1

Выбор тактового сигнала. Эти биты определяют источник тактового сигнала для сдвигового регистра и счетчика модуля согласно Табл. 12.3

2

USICSO

1

USICLK

Строб тактового сигнала. Назначение этого бита зависит от установок битов Ш1С51:0(см.Табл. 12.3).

Если выбран режим программного формирования тактового сигнала (USICS1:0 = 00), то установка данного бита в 1 вызывает сдвиг содержимого сдвигового регистра и инкрементирование счетчика. Сразу же после установки строба (в том же такте) изменяется состояние выхо+да модуля. В сдвиговый регистр вдвигается значение, считанное в предыдущем такте. При чтении бита возвращается 0.

Если используется внешний тактовый сигнал (USICS1 = 1), то бит USICLK используется в качестве селектора — при установке его в 1 тактирование счетчика осуществляется при помощи бита USITC

0

USITC

Переключение состояния вывода тактового сигнала. При записи в этот бит лог. 1 состояние линии USCK/SCL меняется на противоположное. Если формируемый сигнал необходимо вывести наружу, бит DDB4 регистра DDRE должен быть установлен в 1. При чтении бита USITC возвращается 0.

Если используется внешний тактовый сигнал (USICS1 = 1) и бит USICLK установлен в 1, то запись лог. 1 в бит USITC вызывает инкрементирование счетчика. Благодаря этому обеспечивается раннее обнаружение завершения обмена при работе модуля в качестве ведущего


Таблица 12.2. Задание режима работы модуля USI

о

Описание

0

0

Выходы модуля и детектор состояния СТАРТ отключены. Выводы РЕ4...РЕ6 работают как линии ввода/вывода общего назначения

0

1

Трехпроводный режим. Используются выводы DO, DI и USCK. Значение на выходе данных (DO) замещает значение соответствующего бита регистра порта. При этом направление передачи данных все равно определяется регистром DDRE. Если линия порта настроена на вход, управление подтяжкой осуществляется соответствующим битом регистра PORTE.

Вход данных (DI) и линия тактового сигнала (USCK) не влияют на нормальное функционирование порта микроконтроллера. При работе в качестве ведущего генерация тактовых импульсов осуществляется переключением состояния бита регистра PORTE (для этого можно использовать бит USITC регистра USICR). При этом вывод микроконтроллера должен быть выходом (DDB4 = 1)

1

0

Двухпроводный режим. Используются выводы SDA и SCL.

Оба вывода являются двунаправленными и подключены к выходным драйверам с открытым стоком. Эти драйверы включаются установкой в 1 соответственно битов DDB5 и DDB4 регистра DDRE. После включения драйвер линии SDA формирует на ней НИЗКИЙ уровень, если на выходе сдвигового регистра или в бите PORTE5 присутствует 0. В противном случае линия высвобождается. Аналогично, драйвер линии SCL формирует на ней НИЗКИЙ уровень либо по сигналу от детектора состояния СТАРТ (для высвобождения линии следует сбросить флаг USISIF регистра USISR), либо если бит PORTE4 сброшен в 0. Таким образом, внутренние подтягивающие резисторы на линиях РЕ4 и РЕ5 в этом режиме отключены. Состояние контактов, соответствующих линиям SDA и SCL, может быть считано обычным образом

1

1

Двухпроводный режим. Используются выводы SDA и SCL. Этот режим аналогичен предыдущему, за исключением того, что НИЗКИЙ уровень на линию SCL также выдается при переполнении счетчика. В этом состоянии линия удерживается до сброса флага переполнения USIOIF регистра USISR

Таблица 12.3. Выбор тактовых сигналов модуля USI

USICSl

USICSO

USICLK

Источник тактовых импульсов сдвигового регистра

Источник тактовых импульсов 4-битного счетчика

0

0

0

Тактовый сигнал отсутствует

Тактовый сигнал отсутствует

0

0

1

Программный строб (USICLK)

Программный строб (USICLK)

0

1

X

Блок сравнения таймера/счетчика ТО

Блок сравнения таймера/счетчика ТО

1

0

0

Внешний сигнал, нарастающий фронт

Внешний сигнал, оба фронта

1

1

0

Внешний сигнал, спадающий фронт

Внешний сигнал, оба фронта

1

0

1

Внешний сигнал, нарастающий фронт

Программный строб (USITC)

1

1

1

Внешний сигнал, спадающий фронт

Программный строб (USITC)


Формат регистра состояния USISR показан на Рис. 12.3, а описание его битов приведено в Табл. 12.4.

7

6

5

4

3

2

1

0

USISIF

USIOIF

USIPF

USIDC

USICNT3

USICNT2

USICNT1

USICNT0

Чтение (Р.)/Запись (W) Начальное значение

R/W 0

R/W 0

R/W 0

R/W 0

R/W 0

R/W 0

R/W 0

R/W 0

ATmega 165х

Рис. 12.3. Формат регистра USISR

Таблица 12.4. Биты регистра USISR

Бит

Название

Описание

7

USISIF

Флаг прерывания по обнаружению состояния СТАРТ. В двухпроводном режиме этот флаг устанавливается в 1 при обнаружении на шине состояния СТАРТ. В остальных режимах флаг устанавливается при инкрементирова-нии 4-битного счетчика. Если бит USISIE регистра USICR и флаг I регистра SREG установлены, то при установке данного флага генерируется прерывание (это прерывание выводит микроконтроллер из любого «спящего» режима). Флаг сбрасывается программно записью в него лог. 1. Одновременно со сбросом флага высвобождается линия SCL

6

USIOIF

Флаг прерывания по переполнению счетчика. Этот флаг устанавливается в 1 при переполнении 4-битного счетчика (при переходе от 15 к 0). Если бит USIOIE регистра USICR и флаг I регистра SREG установлены, то при установке данного флага генерируется прерывание, которое может использоваться для вывода микроконтроллера из «спящего» режима Idle. Флаг сбрасывается программно записью в него лог. 1. Одновременно со сбросом флага высвобождается линия SCL

5

USIPF

Флаг обнаружения состояния СТОП. В двухпроводном режиме этот флаг устанавливается в 1 при обнаружении на шине состояния СТОП. Флаг сбрасывается программно записью в него лог. 1

4

USIDC

Флаг коллизии при выводе данных. Этот флаг устанавливается в 1, если значение 7-го бита сдвигового регистра отличается от состояния вывода микроконтроллера (действительно только в двухпроводном режиме). Данный флаг используется для реализации арбитража

3

USICNT3

4-битный счетчик. Эти биты отображают текущее значение счетчика. Это значение можно считывать и изменять в любой момент времени. Инкрементирование счетчика производится по каждому импульсу, формируемому либо аппаратно (детектором фронтов внешнего сигнала или выходом блока совпадения таймера/счетчика ТО), либо программно (с помощью битов USICLK или USITC регистра USISR). Источник тактового сигнала определяется состоянием битов USICShO и USICLK регистра управления USICR (см. Табл. 12.3)

2

USICNT2

1

USICNT1

0

USICNTO



0 ... 150 151 152 153 154 155 156 ... 195