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

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

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

Частый гость
 
Группа: Участник
Сообщений: 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.
--------------------
Политика России будет выглядеть неоднозначной до тех пор, пока не будет решен исход битвы. Чем больше слёз тем больше облегчения, в слезах и заключается лечение.
|
|
|
|
|
Dec 28 2007, 11:57
|
Участник

Группа: Новичок
Сообщений: 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 я согласен - без бутылки портвейна гарантировать работу - нереально.
|
|
|
|
Сообщений в этой теме
repairDV Таймер как генератор ШИМ Dec 23 2007, 11:46 rezident Цитата(repairDV @ Dec 23 2007, 16:46) У б... Dec 23 2007, 19:26 repairDV Цитата(rezident @ Dec 24 2007, 05:26) Есл... Dec 23 2007, 20:30  rezident Цитата(repairDV @ Dec 24 2007, 01:30) так... Dec 23 2007, 20:37 Sild Вот, например, Renesas занимается PWM генераторами... Dec 26 2007, 13:57 Murk Sild
В этих процессорах требуется останов таймера ... Dec 27 2007, 00:16 Sild Цитата(Murk @ Dec 27 2007, 02:16) Sild
В ... Dec 27 2007, 13:20 repairDV Цитата(Murk @ Dec 28 2007, 09:33) [1] Sel... Dec 28 2007, 00:25  VadimPlotnikov По поводу других процессоров. Во многих PICах есть... Dec 30 2007, 12:53 repairDV Ага, а всё-таки я оказался немного не прав, но тол... Dec 28 2007, 02:23 rezident Еще две проблемы, о которых я не упомянул. Первая ... Dec 28 2007, 06:38
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|