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

 
 
> Таймер как генератор ШИМ, А есть ли ещё микроконтроллеры?
repairDV
сообщение Dec 23 2007, 11:46
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 578
Регистрация: 7-11-06
Из: Хабаровск
Пользователь №: 22 044



Традиционно ШИМ формируется таймерами посредством операций с прерыванием. Но - не у всех микроконтроллеров. Серия 56F8xx Freescale имеет такие свойства: таймеры программируются как генераторы, работающие независимо от процессора, т.е., при этом операция прерывания не нужна. Для изменения периода и скважности в любых пределах имеется 2 регистра сравнения: верхний и нижний, который процессор использует для этих целей без остановки таймеров. Т.е., в одном корпусе получается как бы несколько независимо работающих устройств: собственно сам проц исполняет потихоньку свою программу, не мешая ему работают таймеры. Имеются специальные выводы у контроллера для вывода полученных частот. Я думаю, понятно, что это значит для обеспечения бесперебойности работы программы, когда процу не нужны прерывания по таймерам для получения частоты. Такое свойство имеют либо все 16 16-разрядных таймеров, либо несколько.
У бочки мёда обнаружилась ложка дёгтя. Я, правда, пока использую проц из этой серии ещё с буквами "XC" на корпусе, т.е., это ещё опытный образец. Хорошо было бы, если бы в более поздних номерах этой серии этот глюк был устранён. А именно: временами(не постоянно) при изменении частоты с более высокой на более низкую таймер на 1-2 сек "зависает", потом опять включается. А это - глюк серьёзный.
Просто интересно: есть ли у других фирм микроконтроллеры с такими свойствами таймеров?

Сообщение отредактировал repairDV - Dec 23 2007, 11:47


--------------------
Маленький нанайца. А-а. А-а. Оморочком плыл. Маленький проточка. Осетра ловил.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Murk
сообщение Dec 27 2007, 23:33
Сообщение #2


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

Группа: Участник
Сообщений: 150
Регистрация: 15-02-06
Из: ЛНР Рубежное
Пользователь №: 14 357



Вот как раз сегодня, а нет уже вчера, пришлось писать значение в счетчик H8S/2612 было в падлу делать целую кучу операций по останову ну мы и писанули на ходу, пишется и потом отрабатывается (В принципе), но что происходит во время записи (именно такой: на ходу) одному богу известно, т. к. на данном этапе идёт отладка и операции выполняются "по такту".

Обратите внимание на 6 номер, если есть старт то понятно что есть и стоп,

[1] Select the counter clock with bits TPSC2 to
TPSC0 in TCR. At the same time, select the
input clock edge with bits CKEG1 and CKEG0
in TCR.
[2] Use bits CCLR2 to CCLR0 in TCR to select the
TGR to be used as the TCNT clearing source.
[3] Use TIOR to designate the TGR as an output
compare register, and select the initial value and
output value.
[4] Set the cycle in the TGR selected in [2], and set
the duty in the other the TGR.
[5] Select the PWM mode with bits MD3 to MD0 in
TMDR.
[6] Set the CST bit in TSTR to 1 start the count
operation.


--------------------
Политика России будет выглядеть неоднозначной до тех пор, пока не будет решен исход битвы.
Чем больше слёз тем больше облегчения, в слезах и заключается лечение.
Go to the top of the page
 
+Quote Post
Sild
сообщение Dec 28 2007, 11:57
Сообщение #3


Участник
*

Группа: Новичок
Сообщений: 26
Регистрация: 30-06-06
Пользователь №: 18 497



Цитата(Murk @ Dec 28 2007, 01:33) *
Вот как раз сегодня, а нет уже вчера, пришлось писать значение в счетчик H8S/2612 было в падлу делать целую кучу операций по останову ну мы и писанули на ходу, пишется и потом отрабатывается (В принципе), но что происходит во время записи (именно такой: на ходу) одному богу известно, т. к. на данном этапе идёт отладка и операции выполняются "по такту".

Обратите внимание на 6 номер, если есть старт то понятно что есть и стоп,

[1] Select the counter clock with bits TPSC2 to
TPSC0 in TCR. At the same time, select the
input clock edge with bits CKEG1 and CKEG0
in TCR.
[2] Use bits CCLR2 to CCLR0 in TCR to select the
TGR to be used as the TCNT clearing source.
[3] Use TIOR to designate the TGR as an output
compare register, and select the initial value and
output value.
[4] Set the cycle in the TGR selected in [2], and set
the duty in the other the TGR.
[5] Select the PWM mode with bits MD3 to MD0 in
TMDR.
[6] Set the CST bit in TSTR to 1 start the count
operation.

Это Вы случайно не о 16-битном TPU (по описанию похоже) в режиме PWM? Я об этом:
http://documentation.renesas.com/eng/produ...79_h8300lap.pdf

С 16-bit TPU я согласен - без бутылки портвейна гарантировать работу - нереально.
Go to the top of the page
 
+Quote Post



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

 


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


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