В HTML      В PDF
микроэлектроника, микросхема, транзистор, диод, микроконтроллер, память, msp430, Atmel, Maxim, LCD, hd44780, t6963, sed1335, avr, mega128
Предприятия Компоненты Документация Применения Статьи Новости

 
Пересюхтюмя


13-я Международная выставка электронных компонентов и комплектующих для электронной промышленности





Выставка Передовые Технологии Автоматизации





Главная страница > Обзоры по типам > Микроконтроллеры > ARM
Пересюхтюмя


13-я Международная выставка электронных компонентов и комплектующих для электронной промышленности





Выставка Передовые Технологии Автоматизации


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. Механизм работы таймера реального времени



<--Предыдущая страница Оглавление Следующая страница -->