Делитель опорной частоты состоит из 13-битного счетчика целой части и 15-битного счетчика дробной части. Разрядность этих счетчиков выбиралась производителем, исходя из следующих соображений:
1. Разрядность счетчика целой части предделителя должна обеспечивать подсчет частот, которые поддерживаются микроконтроллерами семейства LPC2000. При делении, например, частоты 160 МГц на 32768 и вычитании
из результата 1 получаем значение целой части, равное 4881, и остаток, равный 26624 (см. описание регистров PREINT и PREFRAC ниже). Чтобы подсчитать значение 4881, необходимы 13 битов, однако фактически 13-битный счетчик позволяет поддерживать частоты до 268.4 МГц (32.768 кГц х 8192).
2. Значение остатка может достигать 32767, а для подсчета такого числа требуется не менее чем 15 битов.
Регистры целой и дробнор части предделителя приведены в Табл. 18.14.
Таблица 18.14. Регистры делителя опорной частоты (предделителя) RTC
Адрес |
Название |
Размер |
Описание |
Доступ |
0хЕ0024080 |
PREINT |
13 |
Значение предделителя (целая часть) |
R/W |
0хЕ0024084 |
PREFRAC |
15 |
Значение предделителя (дробная часть) |
R/W |
Регистр целой части предделителя (PREINT— 0хЕ0024080)
Этот регистр содержит целую часть значения предделителя, рассчитываемую как: PREINT = int(pclk / 32768) - 1. Значение PREINT должно быть больше или равно 1.
Битовая структура регистра PREINT приведена в Табл. 18.15.
Таблица 18.15. Регистр целой части предделителя (PREINT — 0хЕ0024080)
Номер бита PREINT |
Функция бита |
Описание |
Значение после сброса |
15:13 |
Зарезервированы |
Пользовательское программное обеспечение не должно производить запись в зарезервированные биты. Чтение зарезервированного бита возвращает неопределенное значение |
NA |
12:0 |
Целая часть предделителя |
Содержит целую часть значения предделителя модуля RTC |
0 |
Регистр дробной части предделителя (PREFRAC — 0хЕ0024084)
Этот регистр содержит дробную часть значения предделителя, рассчитываемую как: PREFRAC = pclk - ((PREINT + 1) х 32768).
Битовая структура регистра PREFRAC приведена в Табл. 18.16.
Таблица 18.16. Регистр дробной части предделителя (PREFRAC — 0хЕ0024084)
Номер бита PREFRAC |
Функция бита |
Описание |
Значение после сброса |
15 |
Зарезервирован |
Пользовательское программное обеспечение не должно производить запись в зарезервированные биты. Чтение зарезервированного бита возвращает неопределенное значение |
NA |
14:0 |
Дробная часть предделителя |
Содержит дробную часть значения предделителя модуля RTC |
0 |
18.4.1. Примеры использования предделителя
Рассмотрим упрощенный случай, когда частота pclk равна 65.537 кГц. Тогда: PREINT = int х (pclk/32768) - 1 = 1; PREFRAC = pclk - ((PREINT + 1) x 32768) = 1.
С этими установками предделителя в модуле RTC будет производиться подсчет ровно 32768 импульсов в секунду, а на выходе предделителя в секунду будут 32767 периода длительностью в 2 периода частоты pclk и 1 период длительностью в 3 периода частоты pclk.
НА ГЛАВНУЮ | | ЧТО ТАКОЕ PIC ? | | ПРОГРАММАТОР | | ПРОЕКТЫ | | СТАТЬИ | | ССЫЛКИ | | КАРТА САЙТА |