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

 
 
 
Reply to this topicStart new topic
> Концептуальный вопрос о таймерах, У кого он может сбрасываться по входу?
Evgeny_CD
сообщение Jul 12 2005, 16:27
Сообщение #1


Гуру
******

Группа: СуперМодераторы
Сообщений: 2 065
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 892



Нужен контроллер с таймером, который сбрасывается по перепаду на входе на аппаратном уровне. Не программно, а именно аппаратно.

В идеале к этому таймеру еще хотелось бы MAT регистр, который при достижении указанного значения генерирует прерывание.
Go to the top of the page
 
+Quote Post
ReAl
сообщение Jul 12 2005, 17:46
Сообщение #2


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



Цитата(Evgeny_CD @ Jul 12 2005, 19:27)
Нужен контроллер с таймером, который сбрасывается по перепаду на входе на аппаратном уровне. Не программно, а именно аппаратно.
В идеале к этому таймеру еще хотелось бы MAT регистр, который при достижении указанного значения генерирует прерывание.
*

Хм.
i8052 smile.gif и все его клоны.
TIMER2 умеет загружаться 16-битным значением по спаду на ноге T2EX.
Правда, по досчёту до FFFF он тоже перезагрузится, но это можно выяснить по флагам прерывания (вектор один, но дальше по битам EXF2 и TF2 можно разгрести - это его только что загрузили внешним спадом или он переполнился) и предистории.


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post
Evgeny_CD
сообщение Jul 12 2005, 20:09
Сообщение #3


Гуру
******

Группа: СуперМодераторы
Сообщений: 2 065
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 892



Цитата(ReAl @ Jul 12 2005, 21:46)
[i8052 и все его клоны.
TIMER2 умеет загружаться 16-битным значением по спаду на ноге T2EX.
Правда, по досчёту до FFFF он тоже перезагрузится, но это можно выяснить по флагам прерывания (вектор один, но дальше по битам EXF2 и  TF2 можно разгрести - это его только что загрузили внешним спадом или он переполнился) и предистории.
Ну вот, опять 51 sad.gif
Спасибо за ответ!

Неужели в продвинутых архитектурах этого нет?
Go to the top of the page
 
+Quote Post
dm_mur
сообщение Jul 13 2005, 03:33
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 255
Регистрация: 10-03-05
Из: Омск
Пользователь №: 3 195



Такая функция есть у Fujitsu. 16-bit reload timer может перезагружаться заданным значением при обнаружении заданного фронта на ноге. Кроме того, можно использовать InputCapture - потом в прерывании записанное по фронту значение вычитать из текущего значения таймера. Но это слегка через зад a14.gif
Go to the top of the page
 
+Quote Post
NickB
сообщение Jul 13 2005, 07:51
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 114
Регистрация: 22-06-04
Пользователь №: 102



Посмотрите в сторону атмеловых АРМ Похоже там есть такой вариант настройки
Go to the top of the page
 
+Quote Post
Evgeny_CD
сообщение Jul 13 2005, 10:41
Сообщение #6


Гуру
******

Группа: СуперМодераторы
Сообщений: 2 065
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 892



Цитата(NickB @ Jul 13 2005, 11:51)
Посмотрите в сторону атмеловых АРМ Похоже там есть такой вариант настройки
*

Да, есть такое! Спасибо!

Each channel is organized around a 16-bit counter. The value of the counter is incremented at each positive edge of the selected clock. When the counter has reached the value 0xFFFF and passes to 0x0000, an overflow occurs and the COVFS bit in TC_SR (Status Register) is set.

The current value of the counter is accessible in real time by reading the Counter Value Register, TC_CV. The counter can be reset by a trigger. In this case, the counter value passes to 0x0000 on the next valid edge of the selected clock.

A trigger resets the counter and starts the counter clock. Three types of triggers are common to both modes, and a fourth external trigger is available to each mode.

The following triggers are common to both modes:
• Software Trigger: Each channel has a software trigger, available by setting SWTRG in TC_CCR.
• SYNC: Each channel has a synchronization signal SYNC. When asserted, this signal has the same effect as a software trigger. The SYNC signals of all channels are asserted simultaneously by writing TC_BCR (Block Control) with SYNC set.
• Compare RC Trigger: RC is implemented in each channel and can provide a trigger when the counter value matches the RC value if CPCTRG is set in TC_CMR.

В LPC21xx такого нет, придется заводить вход на MAT, затем по прерыванию вычислять "фазовую" поправку для таймера (разницу между показаниями своего таймера, тикающего от кварца, и внешнего таймера, который выдает сихросигнал в положении 0).
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 24th August 2025 - 20:11
Рейтинг@Mail.ru


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