- •Отличительные особенности микроконтроллеров 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 Пользовательский интерфейс ацп
15. Таймер реального времени (rtt)
15.1 Обзор
Таймер реального времени (Read-time Timer - RTT) основан на 32-битном счетчике, используемом для подсчета числа прошедших секунд. Таймер периодически формирует сигнал прерывания, также прерывание формируются от встроенного будильника (Alarm).
15.2 Структурная схема
Рисунок
15-1. Структурная схема таймера реального
времени
15.3 Функциональное описание
Таймер реального времени предназначен для подсчета числа прошедших секунд. В таймер встроен 32-битный счетчик, тактируемый через 16-битный предделитель от низкочастотного генератора (Slow Clock). Коэффициент деления предделителя определяется в поле RTPRES регистра режима таймера реального времени (RTT_MR).
При записи в регистр RTPRES значения 0x00008000 вызовет формирование сигнала на выходе предделителя с частотой 1 Гц (при тактировании самого предделитель от низкочастотного генератора с кварцем 32768 Гц). В этом случае сам 32-битный счетчик будет считать непосредственно время в секундах (232 секунд) и поэтому будет переполняться примерно через 136 лет.
Минимальный коэффициент предделителя (RTPRES) не должен быть менее 3. Однако, все же допустимо значения 1 и 2 регистра RTPRES, но это создает риск потери данных о состоянии таймера, поскольку очистка регистра статуса занимает два такта низкочастотного тактового генератора после того, как он будет прочитан. Таким образом, если разрешено прерывание от таймера реального времени, то само прерывание возникнет в течение двух тактов низкочастотного генератора с момента чтения регистра RTT_SR. Для исключения многократных вызовов одного и того же прерывания сами прерывания должны быть запрещены перед чтением регистра RTT_SR и вновь разрешены после его очистки.
Текущее содержимое счетчика таймера реального времени (CRTV) может быть прочитано в любой момент времени из регистра RTT_VR (Real-time Value Register). Поскольку тактирование счетчика CRTV не привязано (асинхронно) к сигналу MCK, то для гарантии верного результата чтения RTT_VR рекомендуется дважды подряд прочитать этот регистр и сравнить два полученных значения (это позволяет увеличить точность).
Текущее содержимое счетчика CRTV может сравниваться со значением, записанным в регистр будильника таймера реально времени RTT_AR (Real-time Alarm Register). Если содержимое обоих регистров равно, то устанавливается флаг ALMS в регистре RTT_SR. Сразу после сброса регистр RTT_AR содержит значение 0xFFFFFFFF.
Флаг RTTINC в регистре RTT_SR устанавливается каждый раз при увеличении на единицу содержимого счетчика CRTV (инкремент). Этот флаг может быть использован для периодического вызова прерывания: например, при RTPRES = 0x00008000 и частоте низкочастотного генератора 32768 Гц период вызова прерывания от флага RTTINC будет составлять ровно 1 секунду.
При чтении регистра RTT_SR сбрасываются флаги RTTINC и ALMS.
При установке флага RTTRST в регистре RTT_MR происходит перезагрузка 16-битного предделителя содержимым поля RPTRES этого же регистра и его перезапуск, а также происходит очистка 32-битного счетчика CRTV (регистр RTT_VR).
Рисунок
15-2. Механизм работы таймера реального
времени
