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

 
 
> ШИМ, сделать три канала?
ps1x
сообщение Oct 7 2007, 17:26
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 300
Регистрация: 15-03-06
Из: Москва
Пользователь №: 15 284



Как сделать шим на 3 канала с одним таймером? Использовать принцип динамической индикации?
p.s. Надо подключить rgb светодиод.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
add
сообщение Oct 12 2007, 05:44
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 345
Регистрация: 10-10-05
Пользователь №: 9 459



Такой вопросик с целью понимания вопроса(тфтsmile.gif): Скажите уважаемые коллеги, если у меня 256 ступенек шима и порт я обновляю с частотой 25кГц, то минимальное (суммарное значение длительности импульсов) за 1с получается 1/256с?так? И могу ли я справедливо назвать что шим 25Кгц?
зы: делал программный 32-ух канальный шим для управления диодами. 25кГц,256дискрет.


--------------------
Если задачу можно решить, то не надо тревожиться. А если нельзя решить, то тревожиться бесполезно.
Go to the top of the page
 
+Quote Post
=GM=
сообщение Oct 12 2007, 09:10
Сообщение #3


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Цитата(add @ Oct 12 2007, 04:44) *
если у меня 256 ступенек шима и порт я обновляю с частотой 25кГц, то минимальное (суммарное значение длительности импульсов) за 1с получается 1/256с?так? И могу ли я справедливо назвать что шим 25Кгц?

Немного не так. Обновление порта может случиться на любой из ступенек, следовательно, частота 256-ступенчатого шима ровно в 256 раз меньше частоты обновления порта, т.е. 97 Гц.


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
add
сообщение Oct 12 2007, 10:32
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 345
Регистрация: 10-10-05
Пользователь №: 9 459



Цитата(=GM= @ Oct 12 2007, 13:10) *
Немного не так. Обновление порта может случиться на любой из ступенек, следовательно, частота 256-ступенчатого шима ровно в 256 раз меньше частоты обновления порта, т.е. 97 Гц.

Спасибо! таким образом получается что ШИМ который имеет значение 256 дискрет, и частоту обновления 5Кгц, незя называть 5-ти килогерцовым шимом?wacko.gif
и как тада получается :
Цитата
Спрашиваю потому, что тоже реализовал 24 канала шим с частотой 6 кГц, правда, на ассемблере. Шим был 8-разрядный, т.е. 256 позиций. Клок 20 МГц.

етож 6000*256=1536000 ~1.5МГц! и на 20МГц, да еще и 24 канала?

зы:видел гдето что шим можно и на апаратном уарте сделать. (последовательно данные выдвигаем), но тут уже надо 32байта запихнуть в USART на один дискрет.


--------------------
Если задачу можно решить, то не надо тревожиться. А если нельзя решить, то тревожиться бесполезно.
Go to the top of the page
 
+Quote Post
=GM=
сообщение Oct 12 2007, 11:20
Сообщение #5


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Цитата(add @ Oct 12 2007, 09:32) *
етож 6000*256=1536000 ~1.5МГц! и на 20МГц, да еще и 24 канала?

Ну, в ваших терминах, это будет частота обновления трёх 8-ми битных портов одновременно, чтобы получить 24 канала. Программка обработки прерывания 24-канальной шим, которую я привёл выше (см.пост #18), выполняется за 18 МЦ (машинных циклов). Один машинный цикл для клока 20 МГц выполняется за 0.05 мкс. Получается обработка прерывания выполняется за 18*0.05=0.9 мкс. То есть за это время обновляются три порта. Частота обновления портов соответственно будет равна 1/0.9=1.1 МГц, ну а частота шим будет в 256 раз ниже, т.е. 1.1/256=4.3 кГц. Никаких чудес, всё по-честному. (Замечу в скобках, что время выполнения можно ещё малёк подсократить, скажем до 13 МЦ, тогда частота 24-канального шима будет порядка 6 кГц.

Цитата(Rst7 @ Oct 12 2007, 08:29) *
Это конечно класно. Но вопрос возникает тогда, когда надо подготовить колбаску в озу для выдачи в порт. Это же очень медленно. Т.е. если понадобится изменить заполнение какого-либо канала, то на это нужно потратить очень много времени

Да, приём исходных данных и подготовка "колбаски" проводится в фоне и занимает относительно много времени, порядка 2500 МЦ, т.е. 125 мкс. Максимальное занятое время процессора, с учётом времени работы прерываний, составит 148 мкс, в то же время период шим равен 166 мкс. Сиё означает, что есть возможность за ОДИН период шима сменить ВСЕ ДВАДЦАТЬ ЧЕТЫРЕ временные уставки, и еще останется свободными 18 мкс (360 МЦ). Смысла менять уставки чаще, чем период шима, я не вижу(:-)

Пока других, более быстрых способов программного формирования многоканальных шим, я не нашёл.


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
add
сообщение Oct 12 2007, 11:35
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 345
Регистрация: 10-10-05
Пользователь №: 9 459



Цитата(=GM= @ Oct 12 2007, 15:20) *
Да, приём исходных данных и подготовка "колбаски" проводится в фоне и занимает относительно много времени, порядка 2500 МЦ, т.е. 125 мкс. Максимальное занятое время процессора, с учётом времени работы прерываний, составит 148 мкс, в то же время период шим равен 166 мкс. Сиё означает, что есть возможность за ОДИН период шима сменить ВСЕ ДВАДЦАТЬ ЧЕТЫРЕ временные уставки, и еще останется свободными 18 мкс (360 МЦ). Смысла менять уставки чаще, чем период шима, я не вижу(:-)

Пока других, более быстрых способов программного формирования многоканальных шим, я не нашёл.

Ну в Вашем случае вы подготавливаете "колбаску" вне прерывания.. adnega делает это внутри прерывания.. Есть ли в Вашем способе(скажу что способ вообщем то один и тотже) смысл выносить подготовку "колбаски за прерывание"?В таком случае для экономии времени в прерывании прийдется работать с флагами (события по окончанию обновления "колбаски").. и возможен пропуск момента смены значений? в чем выигрыш? может полагаясь на то что данные выводимые в шим обновляются не так часто? тогда какой смыс так "задирать"частоту"шима?


--------------------
Если задачу можно решить, то не надо тревожиться. А если нельзя решить, то тревожиться бесполезно.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- ps1x   ШИМ   Oct 7 2007, 17:26
- - rezident   Наверное стоит уточнить: программный ШИМ или аппар...   Oct 7 2007, 17:54
|- - SasaVitebsk   Цитата(rezident @ Oct 7 2007, 20:54) Наве...   Oct 7 2007, 21:30
- - ps1x   Ну например, можно ли реализовать 3 канала ШИМ на ...   Oct 7 2007, 21:46
|- - rezident   Цитата(ps1x @ Oct 8 2007, 03:46) Ну напри...   Oct 7 2007, 22:22
|- - ps1x   Цитата(rezident @ Oct 8 2007, 02:22) ps1x...   Oct 7 2007, 22:42
|- - =GM=   Цитата(ps1x @ Oct 7 2007, 21:42) Надо под...   Oct 8 2007, 11:38
|- - ps1x   Цитата(=GM= @ Oct 8 2007, 15:38) Вот тут ...   Oct 8 2007, 11:54
|- - =GM=   Цитата(ps1x @ Oct 8 2007, 10:54) к сожале...   Oct 8 2007, 12:18
|- - ps1x   Цитата(=GM= @ Oct 8 2007, 16:18) Да ладно...   Oct 8 2007, 23:48
- - add   Один из вариантов программно так: устанавливаем та...   Oct 8 2007, 06:19
- - SasaVitebsk   Используя таймер 1 и выводы OC1A,B,C с соответству...   Oct 10 2007, 13:25
|- - =GM=   Цитата(SasaVitebsk @ Oct 10 2007, 13:25) ...   Oct 10 2007, 22:58
|- - alexander55   Цитата(=GM= @ Oct 11 2007, 02:58) Спрашив...   Oct 11 2007, 08:23
|- - SasaVitebsk   Цитата(=GM= @ Oct 11 2007, 01:58) Сиё наз...   Oct 11 2007, 09:01
|- - =GM=   Цитата(SasaVitebsk @ Oct 11 2007, 08:01) ...   Oct 11 2007, 14:00
- - SasaVitebsk   Тогда мы действительно не понимаем друг друга. С...   Oct 11 2007, 22:16
|- - =GM=   Цитата(SasaVitebsk @ Oct 11 2007, 22:16) ...   Oct 11 2007, 23:01
|- - defunct   Цитата(=GM= @ Oct 12 2007, 02:01) Код;Про...   Oct 12 2007, 08:59
|- - Rst7   Цитата(=GM= @ Oct 12 2007, 02:01) Вот моя...   Oct 12 2007, 09:29
|- - SasaVitebsk   Цитата(=GM= @ Oct 12 2007, 02:01) Как вид...   Oct 12 2007, 12:53
||- - add   Цитата(SasaVitebsk @ Oct 12 2007, 16:53) ...   Oct 12 2007, 14:28
|- - singlskv   Цитата(=GM= @ Oct 12 2007, 03:01) Вот моя...   Oct 15 2007, 20:13
|- - =GM=   Цитата(singlskv @ Oct 15 2007, 20:13) 3(д...   Oct 15 2007, 22:19
|- - Rst7   Цитата(=GM= @ Oct 16 2007, 01:19) Раз раз...   Oct 16 2007, 11:12
||- - =GM=   Цитата(Rst7 @ Oct 16 2007, 10:12) Давайте...   Oct 16 2007, 16:01
|- - singlskv   Цитата(=GM= @ Oct 16 2007, 02:19) Ну, во-...   Oct 16 2007, 17:22
|- - =GM=   Цитата(singlskv @ Oct 16 2007, 16:22) В с...   Oct 17 2007, 16:44
|- - singlskv   Цитата(=GM= @ Oct 17 2007, 20:44) Ага, да...   Oct 17 2007, 19:46
|- - =GM=   Цитата(singlskv @ Oct 17 2007, 19:46) Кст...   Oct 17 2007, 21:05
|- - singlskv   Цитата(=GM= @ Oct 18 2007, 01:05) Ну пока...   Oct 17 2007, 21:35
|- - =GM=   Цитата(singlskv @ Oct 17 2007, 20:35) Сра...   Oct 18 2007, 09:50
|- - Rst7   Чето я не понял. Как-то это все не стреляет. Общая...   Oct 12 2007, 11:45
|- - add   Цитата(Rst7 @ Oct 12 2007, 15:45) Надо бы...   Oct 12 2007, 12:35
|- - =GM=   Цитата(Rst7 @ Oct 12 2007, 10:45) Чето я ...   Oct 12 2007, 14:21
|- - defunct   Цитата(=GM= @ Oct 12 2007, 17:21) Ну так,...   Oct 12 2007, 15:29
|- - =GM=   Цитата(defunct @ Oct 12 2007, 14:29) В та...   Oct 12 2007, 16:15
|- - defunct   Цитата(=GM= @ Oct 12 2007, 19:15) Функция...   Oct 12 2007, 21:04
||- - =GM=   Цитата(defunct @ Oct 12 2007, 21:04) Согл...   Oct 12 2007, 21:54
||- - defunct   Цитата(=GM= @ Oct 13 2007, 00:54) Не совс...   Oct 12 2007, 22:08
||- - =GM=   Цитата(defunct @ Oct 12 2007, 22:08) имел...   Oct 12 2007, 23:56
|- - SasaVitebsk   Цитата(=GM= @ Oct 12 2007, 19:15) Первый ...   Oct 13 2007, 10:02
- - adnega   18-канальный ШИМ на Мега8 (18.432МГц) для управлен...   Oct 12 2007, 08:00
|- - =GM=   Цитата(adnega @ Oct 12 2007, 07:00) 18-ка...   Oct 12 2007, 14:45
- - Rst7   ЦитатаНо принципиально, тем не менее, так тоже мож...   Oct 12 2007, 13:01
|- - SasaVitebsk   Цитата(Rst7 @ Oct 12 2007, 16:01) Конечно...   Oct 12 2007, 13:29
- - Rst7   После размышлений, я пришел к выводу, что самый бы...   Oct 13 2007, 11:26
|- - =GM=   Цитата(Rst7 @ Oct 13 2007, 11:26) После р...   Oct 13 2007, 13:48
||- - Rst7   Цитата(=GM= @ Oct 13 2007, 16:48) В принц...   Oct 13 2007, 13:54
||- - =GM=   Цитата(Rst7 @ Oct 13 2007, 13:54) Ничего ...   Oct 13 2007, 16:18
|- - =GM=   Цитата(Rst7 @ Oct 13 2007, 11:26) Таймер ...   Oct 13 2007, 19:28
- - SasaVitebsk   Как правило обработчик прерывания по OCF получаетс...   Oct 13 2007, 14:22
- - add   Ув. =GM=, перечитал все посты не один раз, но так ...   Oct 15 2007, 10:23
|- - =GM=   Цитата(add @ Oct 15 2007, 09:23) Ув. =GM=...   Oct 15 2007, 13:49
|- - add   SasaVitebsk, Вы так все хорошо подытожили.. прям д...   Oct 16 2007, 04:01
|- - =GM=   Цитата(add @ Oct 16 2007, 03:01) Значит м...   Oct 16 2007, 10:15
|- - add   Цитата(=GM= @ Oct 16 2007, 14:15) Кодpatt...   Oct 16 2007, 11:27
|- - =GM=   Цитата(add @ Oct 16 2007, 10:27) Вот к пр...   Oct 16 2007, 12:29
|- - add   Цитата(=GM= @ Oct 16 2007, 16:29) Нет, эт...   Oct 17 2007, 04:07
|- - =GM=   Цитата(add @ Oct 17 2007, 03:07) нет, в ...   Oct 17 2007, 13:34
|- - add   Цитата(=GM= @ Oct 17 2007, 17:34) Внимате...   Oct 19 2007, 07:41
|- - =GM=   Цитата(add @ Oct 19 2007, 07:41) посты чи...   Oct 19 2007, 10:16
|- - add   Цитата(=GM= @ Oct 19 2007, 14:16) Всё не ...   Oct 19 2007, 10:37
|- - =GM=   Цитата(add @ Oct 19 2007, 09:37) =GM=, Па...   Oct 19 2007, 12:04
|- - add   Цитата(=GM= @ Oct 19 2007, 16:04) Там не ...   Oct 19 2007, 12:10
|- - =GM=   Цитата(add @ Oct 19 2007, 11:10) Сколько ...   Oct 19 2007, 13:03
|- - add   Цитата(=GM= @ Oct 19 2007, 17:03) Ну, раз...   Oct 19 2007, 14:13
|- - =GM=   Цитата(add @ Oct 19 2007, 13:13) Те. прос...   Oct 19 2007, 16:07
- - SasaVitebsk   Кстати сам СИ скомпилит не очень плохо. У меня сей...   Oct 15 2007, 20:23
- - SasaVitebsk   Я думаю некоторым это пригодится. Когда-то на заре...   Oct 15 2007, 23:29
- - muravei   Все это здорово, но я никак не пойму - какой здесь...   Oct 17 2007, 18:09
|- - =GM=   Цитата(muravei @ Oct 17 2007, 18:09) Все ...   Oct 17 2007, 18:36
|- - SasaVitebsk   Цитата(muravei @ Oct 17 2007, 21:09) Все ...   Oct 17 2007, 19:40
|- - muravei   Цитата(SasaVitebsk @ Oct 17 2007, 23:40) ...   Oct 18 2007, 10:19
|- - SasaVitebsk   Цитата(muravei @ Oct 18 2007, 13:19) Ну п...   Oct 18 2007, 17:20
- - GetSmart   Цитата(add)Какие там могут быть подводные камни?Не...   Oct 19 2007, 11:18
- - GetSmart   Цитата(=GM=)Будет она работать? Теоретически будет...   Oct 19 2007, 19:05
|- - =GM=   Цитата(GetSmart @ Oct 19 2007, 19:05) =GM...   Oct 19 2007, 20:59
- - bzx   Я с другой стороны подойду. Если малость добавить ...   Oct 19 2007, 23:00
- - =GM=   Цитата(bzx @ Oct 19 2007, 23:00) ... на в...   Oct 20 2007, 21:58


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

 


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


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