Скачиваний:
179
Добавлен:
13.06.2014
Размер:
6.55 Mб
Скачать

30. Двухпроводной интерфейс

30.1 Обзор

Двухпроводной интерфейс (TWI) объединяет устройства с помощью уникальной двухпроводной шины, состоящей из одной линии синхронизации и одной линии данных, позволяющей осуществлять передачу в байтно-ориентированном формате со скоростью до 400 Кбит в секунду. Интерфейс может быть использован для работы с ЭСППЗУ (EEPROM) марки Atmel, имеющим 2-проводную шину. TWI программируется как ведущее устройство с постоянной последовательной или побайтной передачей данных. Настраиваемый генератор синхронизации передачи данных позволяет настроить скорость передачи данных под широкий диапазон тактовых частот ядра.

30.2 Структурная схема

Рис. 30-4. Структурная схема

30.3 Структурная схема применения

Рис. 30-2. Структурная схема применения

30.4 Особенности реализации

30.4.1 Описание линий ввода-вывода

Таблица 30-1. Описание линий ввода-вывода

Линии TWD и TWCK являются двунаправленными, и подключены к положительному источнику напряжения через источник тока или подтягивающий резистор (см. рис. 30-2). В случае, если шина свободна, обе линии имеют высокий уровень. Выходные каскады устройств, подключенные к шине, должны иметь открытый сток или открытый коллектор, чтобы обеспечить объединение "монтажное И".

TWD и TWCK могут быть мультиплексированы с линиями Контроллера параллельной передачи данных (PIO). Для разрешения работы TWI необходимо выполнить следующие действия:

  • Назначить TWD и TWCK для работы в качестве периферийных линий.

  • Установить линии TWD и TWCK для работы в режиме открытого стока.

30.4.2 Управление энергопотреблением

  • Синхронизация периферийных устройств должна быть разрешена.

Интерфейс может быть синхронизирован через Контроллер управления энергопотреблением (PMC), поэтому он должен быть сконфигурирован так, чтобы синхронизация TWI должна быть разрешена.

30.4.3 Прерывания

Линия прерывания интерфейса TWI подключена к Расширенному контроллеру прерываний (AIC). Для осуществления возможности обработки прерываний контроллер прерываний (AIC) должен быть конфигурирован до конфигурирования TWI.

30.5 Функциональное описание

30.5.1 Формат передачи

Выдаваемые на линию TWI данные должны иметь 8-битный формат. Первым передается СЗБ, прием каждого байта информации сопровождается подтверждением. Количество байт в передаче не ограничено (см. Рис. 30-4).

Каждая передача начинается с условия Старт и заканчивается условием Стоп (см. рис. 30-4).

  • Перепад высокий - низкий уровень на линии TWD при высоком уровне на TWCK определяется как условие Старт.

  • Перепад низкий - высокий на линии TWD при высоком уровне на TWCK определяется как условие Стоп.

Рис. 30-3. Условия Старт и Стоп

Рис. 30-4. Формат передачи

30.5.2 Режимы работы

Двухпроводной интерфейс имеет два режима работы:

  • Режим ведущего устройства - передатчика

  • Режим ведущего устройства - приемника

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

30.5.3 Передача данных

После установки ведущим устройством условия Старт оно отсылает 7-битный адрес ведомого устройства, заданный в регистре Режима работы (DADR в TWI_MMR). Следующий за передачей адреса бит определяет направление передачи данных - прием или передача. Равенство этого бита 0 показывает, что будет осуществляться запись данных (операция передачи). Если же бит равен 1, запрашивается чтение данных (операция чтения).

Для работы двухпроводного интерфейса необходимо получение подтверждения о принятии каждого байта от ведомого устройства. Во время тактового импульса синхронизации, совпадающего с ожиданием подтверждения, ведущее устройство освобождает управление линией данных (на ней устанавливается высокий уровень), с тем, чтобы ведомое устройство могло установить на ней низкий уровень, выдавая таким образом уровень подтверждения. Ведущее устройство опрашивает линию данных во время этого импульса синхронизации, устанавливая бит NAK в Регистре состояния в случае, если ведомое устройство не выдало на линию сигнал подтверждения. Установка этого бита, как и некоторых других бит состояния, может генерировать прерывания, если это разрешено соответствующими установками в регистре разрешения прерываний интерфейса (TWI_IER). Передача начинается после записи в регистр хранения передачи (TWI_THR) и установки бита Старт в регистре управления. Данные последовательно выдаются на линию встроенным сдвиговым регистром, и при получении сигнала подтверждения производится установка бита TXRDY, который имеет высокий уровень до тех пор, пока не производится новая запись в регистр TWI_THR (см. Рис. 30-6). При завершения передачи ведущее устройство выдает на линию условие Стоп.

Последовательность чтения начинается установкой Старт-бита. При установке в 1 бита RXRDY в регистре состояния начинается прием пакет данных в регистр хранения приема (TWI_RHR). При считывании этого регистра бит RXRDY регистра TWI_RHR сбрасывается.

Двухпроводной интерфейс предоставляет возможность осуществлять передачу в различных форматах (7-битный адрес ведомого или 10-битный адрес ведомого). Три внутренних адресных бита можно конфигурировать с помощью регистра режима работы ведущего устройства (TWI_MMR). Если ведомое устройство поддерживает только 7-битную адресацию, IASDR должен быть установлен в 0. Для адреса ведомого более 7 бит, пользователь должен сконфигурировать размер адреса (IADRSZ) и установить другой адрес ведомого в регистре внутреннего адреса.

Рис. 30-5. Запись ведущим устройством с одним, двумя или тремя байтами внутреннего адреса и одним байтом данных

Рис. 30-6. Запись ведущим устройством с одним байтом внутреннего адреса и несколькими байтами данных

Рис. 30-7. Чтение ведущим устройством с одним, двумя или тремя байтами внутреннего адреса и одним байтом данных

Рис. 30-8. Чтение ведущим устройством с одним байтом внутреннего адреса и несколькими байтами данных

  • S = Старт

  • P = Стоп

  • W = Запись

  • R = Чтение

  • A = Подтверждение

  • N = Отсутствие подтверждения

  • DADR = Адрес устройства

  • IADR = Внутренний адрес

Рис. 30-9 показывает запись байта данных в ЭСППЗУ Atmel AT24LC512 (EEPROM). Показано применение внутреннего адреса для доступа у к устройству.

Рис. 30-9. Использование внутреннего адреса

30.5.4 Диаграммы чтения/записи

Диаграммы, показанные на рис. 30-10 и 30-11, показывают примеры чтения и записи в режиме ведущего устройства. Для проверки бит состояния могут применяться как программный опрос, так применение прерываний. Для метода с использованием прерываний необходимо в первую очередь сконфигурировать регистр разрешения прерываний (TWI-IER).

Рис. 30-10 Запись в режиме ведущего

Рис. 30-10 Запись в режиме ведущего

Рис. 30-11. Чтение в режиме ведущего

Соседние файлы в папке ПЦиПУ. материалы для Курсового проекта Тютякин А.В.