реклама на сайте
подробности

 
 
> SAM3U и 32 битный таймер, можно ли реализовать?
sonycman
сообщение Jun 8 2011, 21:42
Сообщение #1


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Последнее время привык использовать в приложениях аппаратный 32 битный счётчик с разрешением в 1 микросекунду.
На его базе очень удобно реализовать таймеры с выдержкой от единиц микросекунд до нескольких минут.

На STM32F1xx приходилось использовать в цепочке два 16 битных таймера, благо есть возможность выстраивания друг за другом.
На LPC17хх вообще без проблем - нативный 32 битный таймер в наличии.
Вот теперь прицениваюсь к Сэмам.

И что же наблюдаю? Имеем очередное чудо инженерной (плисоводской?) мысли в виде отсутствия каких либо прескалеров и навороченного блока таймеров.

В мануале написано, что у нас аж 9 каналов 16 битных таймеров, тогда как регистров в наличии только на 3 smile3046.gif
Первая непонятка.
Потом смотрю, вроде есть возможность заводить выход одного счётчика на вход другого, ага!
Идея такая: первый таймер играет роль делителя частоты ядра в 96 МГц до 1 МГц (прескалер) -> второй выполняет роль младших 16 бит -> и третий старших - в итоге получаем 32 бита.

Но для этого надо, чтобы после срабатывания функции сравнения и сброса счётчика в 0 выдавался импульс на следующее звено в цепочке, для его инкремента.
Однако в мануале указана только возможность установить в 1, сбросить в 0 или переключить состояние выхода таймера.
Про короткий импульс нет ни слова sad.gif

Неужели всё это нагромождение таймеров не способно работать как один 32 битный свободный счётчик? crying.gif

ЗЫ: ага, вроде придумал - ведь на каждый таймер мы имеем три compare регистра - А, В и С.
Тогда, к примеру, в регистр А заносим значение 0xFFFF, а в регистр C - 0x0, и устанавливаем функции для А - установить выход в 1, а для С - сбросить в 0.
И получаем короткий импульс при переполнении счётчика!

Что скажете, уважаемые?
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 21:43
Рейтинг@Mail.ru


Страница сгенерированна за 0.014 секунд с 7
ELECTRONIX ©2004-2016