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

0 ... 144 145 146 147 148 149 150 ... 195

вать об этом ведомого-передатчика, послав сигнал неподтверждения (NACK). Затем ведущий должен сформировать на шине состояние СТОП или ПОВСТАРТ. Формирование состояния СТОП начнется после записи в регистр TWCR следующего значения:

TWINT

TWEA

TWSTA

TWSTO

TWWC

TWEN

- I TWIE

1

X

0

1

1

0

X

*-Разрешить работу модуля TWI

-Сформировать состояние СТОП

I-Сбросить флаг TWINT

Для формирования состояния ПОВСТАРТ в регистр TWCR необходимо занести следующее значение:

TWINT

TWEA

TWSTA

TWSTO

TWWC

TWEN

-

TWIE

1

X

1

0

! X

1

0

X

Разрешить работу модуля TWI Сформировать состояние СТАРТ Сбросить флаг TWINT

Таблица 11.9. Коды статуса для режима «Ведущий-приемник»

Действия программы

Состояние шины и модуля TWI

Чтение/запись в регистр TWDR

Запись в регистр TWCR

Следующее действие, выполняемое модулем TWI

Код ста!

й

STO

TWINT

TWEA

$08

Было сформировано состояние СТАРТ

Загрузить SLA+R

0

0

1

X

Будет передан SLA+R,

будет получен АСК или NACK

Было сформиро-

Загрузить SLA+R

0

0

1

X

Будет передан SLA+R,

будет получен АСК или NACK

$10

вано состояние ПОВСТАРТ

Загрузить SLA+W

0

0

1

X

Будет передан SLA+W, модуль переключится в режим «Ведущий-приемник»

$38

Потеря приоритета при передаче пакета адреса или данных

Нет действий

0

0

1

X

Устройство освободит шину и перейдет в режим неадресо-ванного ведомого

Нет действий

1

0

1

X

После освобождения шины будет сформировано состояние СТАРТ


(продолжение)

Действия программы

Код статуса

Состояние шины и модуля TWI

Чтение/запись в регистр TWDR

Запись в регистр TWCR

Следующее действие, выполняемое модулем TWI

й

STO

TWINT

TWEA

$40

Был передан пакет SLA+R и принято подтверждение (АСК)

Нет действий

0

0

0

Будет принят байт данных и передано неподтверждение (NACK)

Нет действий

0

0

1

Будет принят байт данных и передано подтверждение (АСК)

Нет действий

1

0

X

Будет сформировано состояние ПОВСТАРТ

$48

Был передан пакет SLA+R и принято

Нет действий

0

1

X

Будет сформировано

состояние СТОП

(флаг TWSTO будет сброшен)

не подтверждение (NACK)

Нет действий

1

1

X

Будет сформировано состояние СТОП, а затем состояние СТАРТ (флаг TWSTO будет сброшен)

$50

Был принят байт данных и передано подтверждение (АСК)

Считать данные

0

0

0

Будет принят байт данных и передано неподтверждение (NACK)

Считать данные

0

0

1

Будет принят байт данных и передано подтверждение (АСК)

Считать данные

1

0

X

Будет сформировано состояние ПОВСТАРТ

$58

Был принят байтданных и передано

Считать данные

0

1

X

Будет сформировано

состояние СТОП

(флаг TWSTO будет сброшен)

неподтверждение (NACK)

Считать данные

1

1

X

Будет сформировано состояние СТОП, а затем состояние СТАРТ (флаг TWSTO будет сброшен)

Как уже было сказано, после формирования на шине состояния ПОВСТАРТ (код статуса $10) ведущий может адресовать того же или другого ведомого, не формируя состояния СТОП. Другими словами, использование состояния ПОВСТАРТ позволяет осуществлять смену ведомых уст-


ройств, а также переключаться между режимами «Ведущий-передатчик» и «Ведущий-приемник» без потери контроля над шиной. Все возможные состояния модуля TWI в режиме «Ведущий-приемник» приведены на Рис. 11.17.

Ведущий-приемник

Успешный прием от ведомого-передатчика

Следующая передача

начинается

с формирования

состояния ПОВСТАРТ

Нет подтверждения при адресации ведомого

Потеря приоритета во время передачи адреса или данных

Потеря приоритета, устройство адресовано другим ведущим

sla

Продолжает другой ведущий

A DATA А

Ведущий-передатчик

Продолжает другой ведущий

Продолжает другой ведущий

$68y$78y$B0>

К соответствующим состояниям в режиме ведомого

S— состояние СТАРТ

Rs— состояние ПОВСТАРТ

Р— состояние СТОП

R—запрос на чтение (1)

W—запрос на запись(0)

А— бит подтверждения (0)

А~— бит неподтверждения (1)

SLA— адрес ведомого устройства

data

О-

От ведущего к ведомому

От ведомого к ведущему

Один или несколько байтов данных

с соответствующими битами подтверждения

момент установки флага TWINT, л — код статуса в регистре TWSR

Рис. 11.17. Состояния модуля TWI в режиме «Ведущий-приемник»



0 ... 144 145 146 147 148 149 150 ... 195