- •Отличительные особенности микроконтроллеров 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 Пользовательский интерфейс ацп
16. Интервальный таймер (pit)
16.1 Обзор
Интервальный таймер (Periodic Interval Timer - PIT) предназначен для формирования прерываний со строгой периодичностью для нормального функционирования планировщика операционной системы. Интервальный таймер разработан с целью достижения максимальной точности при формировании интервалов времени даже для систем с большим временем отклика.
16.2 Структурная схема
Рисунок
16-1. Структурная схема интервального
таймера
16.3 Функциональное описание
Интервальный таймер позволяет формировать сигналы прерывания через строго определенные интервалы времени с целью обеспечения полноценной работы встраиваемых операционных систем реального времени (RTOS).
В составе интервального таймера имеет счетчик с очисткой при достижении заданного значения и автоматическим обнулением счетчика при его чтении. Таймер построен на основе одного основного 20-битного счетчика CPIV и одного дополнительного 12-битного счетчика PICNT. Оба счетчика тактируются от сигнала MCK/16.
Основной 20-битный счетчик CPIV производит счет от нуля и до определенного программируемого значения (переполнение), указываемого в поле PIV регистра режима PIT_MR. Как только содержимое этого счетчика достигает значения в поле PIV, то счетчик сбрасывается в ноль и производится инкрементирование основного счетчика интервального таймера PICNT. Флаг состояния PITS в регистре PIT_SR вызывает формирование сигнала прерывания, если разрешено прерывание от интервального таймера (флаг PITIEN в регистре PIT_MR).
Запись нового значения в поле PIV регистра PIT_MR не вызывает сброс/перезапуск ни одного из счетчиков интервального таймера.
Как только при чтении регистра значения интервального таймера (Periodic Interval Value Register - PIT_PIVR) получены текущие значения полей CPIV и PICNT, то происходит сброс счетчика переполнения PICNT и очистка флага PITS, таким образом, подтверждая прерывание. Поле PICNT дополнительного 12-битного счетчика содержит число интервалов времени, прошедших с момента последнего прочтения регистра PIT_PIVR.
При чтении (для получения текущих значений полей CPIV и PICNT) регистра отображения интервального таймера (Periodic Interval Image Register - PIT_PIIR) не происходит ни сброс дополнительного счетчика (PICNT) и ни очистка флага PITS. Например, это удобно при отладке приложения: чтение регистра PIT_PIIR позволит избежать вызова прерывания от интервального таймера, так как это прерывание возникает только при чтении регистра PIT_PIVR.
С помощью флага PITEN в регистре PIT_MR может быть остановлена (разрешена) работа интервального таймера (сразу после сброса работа интервального таймера запрещена). Флаг PITEN становится активным только при CPIV = 0. На рис. 16-2 изображен механизм разрешения/запрета работы интервального таймера с помощью флага PITEN. Как только флаг PITEN сброшен, то работа интервального таймера по-прежнему продолжается до тех пор, пока содержимое счетчика CPIV не достигнет значения PIV. После чего произойдет очистка таймера и его остановка до то момента, пока не будет установлен флаг PITEN.
При переходе ядра в режим отладки интервальный таймер останавливается.
Рисунок
16-2. Механизм разрешения/запрета работы
интервального таймера с помощью флага
PITEN
