
- •Отличительные особенности микроконтроллеров at91 на базе ядра arm® Thumb®
- •. Описание
- •2. Краткий обзор конфигурации семейства at91sam7s
- •3. Структурная схема
- •4. Назначение выводов
- •5. Назначение внешних выводов для различных корпусов
- •6. Питание
- •7. Порты ввода-вывода
- •8. Архитектура ядра процессора
- •9. Память
- •10. Системный контроллер
- •10.1 Организация памяти системного контроллера
- •10.2 Контроллер сброса
- •10.3 Тактовый генератор
- •10.4 Контроллер управления потребляемой мощностью
- •Расширенный контроллер прерываний и модуль внутрисхемной отладки
- •Таймеры, контроллер портов ввода-вывода и контроллер режимов стабилизатора напряжения питания
- •11. Периферийные модули
- •11.1 Организация памяти периферийных модулей
- •11.2 Дополнительные функции портов ввода-вывода
- •11.3 Функции портов pa0…pa31
- •11.4 Идентификаторы периферийных модулей
- •11.5 Последовательный периферийный интерфейс
- •Двухпроводной интерфейс, usart, spi
- •11.9 Таймер-счетчик (tc)
- •Шим контроллер, usb, ацп
- •12. Обзор процессора arm7tdmi
- •13. Отличительные способности средств отладки и тестирования Описание и структурная схема
- •13.3 Примеры применения
- •13.4 Описание выводов для отладки и тестирования
- •13.5 Функциональное описание
- •14. Контроллер сброса (rstc) Обзор и структурная схема
- •14.3 Функциональное описание
- •14.4 Пользовательский интерфейс контроллера сброса
- •15. Таймер реального времени (rtt)
- •15.3 Функциональное описание
- •15.4 Пользовательский интерфейс таймера реально времени
- •16. Интервальный таймер (pit)
- •16.3 Функциональное описание
- •16.4 Пользовательский интерфейс интервального таймера
- •17. Сторожевой таймер (wdt)
- •17.3 Функциональное описание
- •17.4 Пользовательский интерфейс сторожевого таймера
- •18. Контроллер режимов стабилизатора напряжения (vreg)
- •19. Контроллер памяти (mc)
- •19.3 Функциональное описание
- •19.4 Пользовательский интерфейс контроллера памяти
- •20. Контроллер встроенной флэш-памяти (efc)
- •20.3 Пользовательский интерфейс контроллера встроенной флэш-памяти
- •21. Интерфейс программирования флэш-памяти (ffpi)
- •21.3. Последовательный интерфейс программирования флэш-памяти
- •22. Стартовый загрузчик at91sam7 (бут загрузчик)
- •23. Контроллер пдп (dma) периферийных модулей
- •23.3 Функционирование контроллера dma
- •23.4 Контроллер пдп (pdc). Интерфейс работы
- •24. Расширенный Контроллер Прерываний (aic)
- •24.6 Особенности контроллеров at91 серии
- •24.7 Функциональное описание
- •24.8 Контроллер прерываний aic. Интерфейс пользователя
- •25. Тактовый генератор
- •26. Контроллер управления потребляемой мощности (pmc)
- •26.5 Контроллер тактовых сигналов периферийных модулей (Peripheral Clock Controller)
- •26.6 Контроллер программно управляемых внешних тактовых сигнала
- •6.7 Последовательность программирования
- •26.8 Переключение тактовых сигналов
- •26.9 Регистры контроллера управления потребляемой мощности
- •27. Модуль внутрисхемной отладки (dbgu)
- •27.4. Работа уапп (uart)
- •27.5 Пользовательский интерфейс модуля внутрисхемной отладки
- •28. Контроллер параллельного ввода-вывода
- •8.5 Функциональное описание
- •28.7. Пользовательский интерфейс контроллера параллельного ввода - вывода
- •9. Последовательный периферийный интерфейс (spi)
- •29.6 Функциональное описание
- •29.7 Пользовательский интерфейс последовательно - параллельного интерфейса (spi)
- •30. Двухпроводной интерфейс
- •30.5 Функциональное описание
- •30.6. Пользовательский интерфейс двухпроводного интерфейса
- •33. Таймер-счетчик (тс)
- •33.5 Функциональное описание
- •33.6 Пользовательский интерфейс таймера-счетчика (тс)
- •34. Контроллер широтно-импульсной модуляции (шим)
- •34.5 Функциональное описание
- •34.6 Пользовательский интерфейс шим-контроллера (pwm)
- •35. Порт usb-устройства (udp)
- •35.5. Функциональное описание
- •35.5.2.8 Транзакция "Статус"
- •35.6. Пользовательский интерфейс usb порта (udp)
- •36. Аналогово-цифровой преобразователь (ацп)
- •36.5 Функциональное описание
- •36.6 Пользовательский интерфейс ацп
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. Чтение в режиме ведущего