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

 
 
> STM PWM Input, Как отцифровать на STM несколько PWM сигналов
Golikov A.
сообщение Feb 6 2015, 17:54
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



Всем привет!

Ковыряюсь с новым для себя семейством от STM, потому все чуднО и Чудно пока чтоsm.gif.

Дано: 6 входных сигналов (лучше 10), период сигнала порядка 20 мСек, длительность импульса от 1 до 2 мСек. Начало сигналов близкое, но в общем случае не одновременное, длительность в интервале 1-2 мСек любая, но именно в этом интервале.

Надо: Получить значение длительности каждого сигнала при этом не убив все ресурсы процессора.

делаю это на stm32f3discovery.

Собственно у меня есть несколько рецептов, может у кого есть лучше, посоветуйте.

1. Вариант Input PWM - вообще не вариант, так как на 1 сигнал ухлопывается целый таймер.

2. Хотел запустить таймер бежать, настроить каналы в режиме capture, на оба фронта, и по прерыванию capture сохранять начало и конец фронта. Но что-то я читаю описание, и вроде как получается что режим срабатывания по обоим фронтам идет через slave controller и как я понимаю я не могу иметь 4 независимых канала или нет? Можно конечно перенастраивать то на восходящий, а в прерывании перенастраивать на падающий, но как-то это не красиво ИМХО

3. Подать сигналы на ножки с прерывание по фронту, и запустить бежать таймер, в прерывании сохранять значение. Из плюсов что можно всего 1 таймер, Из минусов что есть нечеткость определения фронта, пока обрабатываем одни ноги, другие могут сработать и пойдут по не правильному времени. Еще я правильно понимаю что прерываний от ног всего 16, и если взяли прерывание от А0.8, то ни от B0.8 ни от С0.8 его уже не получить?

4. Тупой полинг, долбить уровень на ногах и запустить таймер, но что-то это как-то мрачно, весь ресурс уйдет на это...

Посоветуйте, может я какие варианты забыл, может какое-то жесткое ДМА можно придумать в целом я себе вижу что точность в 1000 уровней на интервал будет выше крыши.


Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Golikov A.
сообщение Feb 6 2015, 20:56
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



Цитата
Ну или узнайте способ кодирования ваших систем радиоуправления, и, если там PPM, то залезть внутрь приёмника и найти там сигнал всех каналов. Тогда всё будет вообще легко.

sm.gif не ну это жестоко... естественно там скорее всего PPM, но курочить приемник не. Его следует считать черным ящиком....

Цитата
Обработчик одного прерывания будет уже больше 36 циклов. А если не два, а три прерывания одновременно? Не, это не вариант, кмк.
Захват таймерами десятка импульсов раз в 20 мс - это совсем небольшая нагрузка для STM-ки на 72МГц.

одного наверное все же меньше, а вот наслоения возможно... Ок. отказываемся от идеи прерываний.

Значит основной рабочей идеей принимается капчить таймер, с перестройкой фронта. Всем спасибо за участие!

Цитата
Если у Вас 10 сигналов, а портов 5 то заведите 5 сигналов на EXTI0 а другие 5 на EXTI1. По каждому прерыванию обработайте только 5 ног.

я не понимаю как это сделатьsad.gif... Что такое завести 5 сигналов на EXTI0 как? схемно снаружи проца, или внутри как то можно? Какой схемой?
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Feb 6 2015, 21:03
Сообщение #3


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Цитата(Golikov A. @ Feb 7 2015, 01:56) *
sm.gif не ну это жестоко... естественно там скорее всего PPM, но курочить приемник не. Его следует считать черным ящиком....

Если там PPM, то сигналы идут не [почти] одновременно, а как раз таки наоборот, строго поочерёдно.
Тогда накладываться могут только два сигнала с разных приёмников. Тогда можно и внешние прерыванияsm.gif


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Golikov A.   STM PWM Input   Feb 6 2015, 17:54
- - 1113   Цитата(Golikov A. @ Feb 6 2015, 20:54) мо...   Feb 6 2015, 18:00
- - Golikov A.   чем это лучше моего варианта под номером 2?   Feb 6 2015, 18:02
|- - 1113   Цитата(Golikov A. @ Feb 6 2015, 21:02) че...   Feb 6 2015, 18:03
- - Iptash   Для разгрузки ЦП я бы сделал аппаратно, например н...   Feb 6 2015, 19:25
- - AHTOXA   Цитата(Golikov A. @ Feb 6 2015, 22:54) Да...   Feb 6 2015, 19:30
- - Golikov A.   Ну да приемник, только их 2 (4 и 6 каналов), и они...   Feb 6 2015, 20:13
|- - AHTOXA   Цитата(Golikov A. @ Feb 7 2015, 01:13) А ...   Feb 6 2015, 20:36
- - smk   Первое что приходит на ум это подключить все сигна...   Feb 6 2015, 20:22
- - Golikov A.   на один порт? по ИЛИ что ли? Тогда первый поднявши...   Feb 6 2015, 20:36
|- - smk   Цитата(Golikov A. @ Feb 6 2015, 22:36) на...   Feb 6 2015, 20:50
- - Iptash   А измерять нужно каждый импульс, или можно пропуск...   Feb 6 2015, 20:39
- - Golikov A.   ЦитатаНо в применении внешних прерываний для замер...   Feb 6 2015, 20:43
|- - AHTOXA   Цитата(Golikov A. @ Feb 7 2015, 01:43) 1 ...   Feb 6 2015, 20:51
- - Golikov A.   Это когда прерывания как у LPC, там весь порт кажд...   Feb 6 2015, 20:52
|- - smk   Цитата(Golikov A. @ Feb 6 2015, 22:52) Эт...   Feb 6 2015, 21:01
- - smk   Если у Вас 10 сигналов, а портов 5 то заведите 5 с...   Feb 6 2015, 20:54
- - Golikov A.   PPM приходит по воздуху, а дальше приемник раскоди...   Feb 6 2015, 21:32
|- - jcxz   Ещё вариант: Завести все сигналы на один GPIO-порт...   Feb 7 2015, 12:08
|- - smk   Цитата(jcxz @ Feb 7 2015, 14:08) Ещё вари...   Feb 7 2015, 12:50
- - Golikov A.   это был такой вариант. Но есть беда с разбором пол...   Feb 7 2015, 12:38
|- - jcxz   Цитата(Golikov A. @ Feb 7 2015, 18:38) да...   Feb 7 2015, 17:11
- - SasaVitebsk   stm позволяет оцифровывать аппаратно pwm сигнал. О...   Feb 7 2015, 18:29
- - Golikov A.   1000 отсчетов на 6-10 каналах будет не меньше 6000...   Feb 7 2015, 23:37
|- - jcxz   Цитата(Golikov A. @ Feb 8 2015, 05:37) 10...   Feb 8 2015, 05:46
- - smk   Интересно, а если проработать вопрос на предмет ан...   Feb 8 2015, 06:00
- - Golikov A.   Оцифровка ШИМа через АЦП - нормальный способ, надо...   Feb 8 2015, 08:07
|- - jcxz   Цитата(Golikov A. @ Feb 8 2015, 14:07) ко...   Feb 8 2015, 08:19
- - Golikov A.   Ага, спасибо. Собственно говоря у 6 каналов будет...   Feb 9 2015, 05:09
|- - jcxz   Цитата(Golikov A. @ Feb 9 2015, 11:09) По...   Feb 9 2015, 07:51
- - Golikov A.   ну так я у вас и посмотрел, и отразил как бы суть ...   Feb 9 2015, 07:55


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

 


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


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