Выбор контроллера для обработки периодического сигнала

Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Ответить
Родился
Сообщения: 6
Зарегистрирован: Вт май 14, 2013 15:33:36

Сообщение GERAMOZG »

Доброго времени суток, Уважаемые Коты! Помогите, пожалуйста, в следующем вопросе. Необходимо выполнить обработку периодического сигнала, быстрое преобразование Фурье, для вычисления периода. Сигнал снимается с датчика давления воздуха. Текущее значение должно передаваться на микроконтроллер, который в свою очередь реализует БПФ и передает данные на сторонне устройство. Требование по обработке сигнала : АЦП микроконтроллера должен выполнять минимум 15000 измерений\секунду, микроконтроллер должен хранить в памяти 15000 измерений, с точностью 12-bit. Подскажите, пожалуйста, какой микроконтроллер соответствует данным требованиям? Сам лично занимался программированием AVR-микроконтроллеров, познания небольшие. Считаю что Atmega32 справиться с данной задачей, однако хочу услышать мнение опытных пользователей.
Реклама
Мудрый кот
Аватара пользователя
Сообщения: 1810
Зарегистрирован: Чт июн 10, 2010 08:55:35
Откуда: Сибирские Афины

Сообщение Kavka »

8битные АВРки 15КилоВыборокВСекунду на АЦП потянут, вот, только, АЦП там 10ти битный.
Или берите внешний АЦП, или смотрите МК по характеристикам АЦП. (А потом уже по архитектуре МК выбирайте. :) )
А вот про скорость - зависит от алгоритма и ваших потребностей.

ДОБАВИЛ: Перечитал. И не понял, преобразование Фурье по 15000 точкам? Что-то, думается, тогда МК с ARM начинкой...
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Реклама
Родился
Сообщения: 6
Зарегистрирован: Вт май 14, 2013 15:33:36

Сообщение GERAMOZG »

Kavka, спасибо большое за ответ. Да, преобразование Фурье на 15000 точек. Из ARM, я смотрел STM32F051. Может быть подскажите еще варианты ?
Вымогатель припоя
Аватара пользователя
Сообщения: 683
Зарегистрирован: Пт апр 11, 2008 11:24:53
Откуда: Владимир

Сообщение SergeBS »

Есть предположение, переходящее в уверенность, что ТС пока сам не знает - что ему надо сделать.
Сигнал снимается с датчика давления воздуха. Текущее значение должно передаваться на микроконтроллер, который в свою очередь реализует БПФ и передает данные на сторонне устройство. Требование по обработке сигнала : АЦП микроконтроллера должен выполнять минимум 15000 измерений\секунду, микроконтроллер должен хранить в памяти 15000 измерений, с точностью 12-bit.
- Что должно передаваться с датчика давления воздуха? Фотография стрелки маномера? :)
- Что должно передаваться на стороннее устройство? Частота МК в МГц байтом? :)
- С точностью 12-bit? Пример датчика, пжалста, с такой точностью.
Про диапазон измерения и т.п. даже не спрашиваю...
Вывод - очередной дипломник с очередной попыткой "проскочить на халяву". Тему диплома (не название!) озвучил. :)))
Человек - это звучит гордо, а обезьяна - объективно...
Реклама
Эиком - электронные компоненты и радиодетали
Родился
Сообщения: 6
Зарегистрирован: Вт май 14, 2013 15:33:36

Сообщение GERAMOZG »

SergeBS, и не дипломник, и не халявщик. Молодой специалист, с большими взглядами на будущее. Из-за большой ответственности темы решил узнать на форуме, послушать опытных людей. Поэтому Вас по прошу попросту не портить тему, если нет желания написать что-то стоящее. А про стрелку, это вы хорошо загнали))) я оценил. Передаваться на стороннее устройство будет период колебаний, но опять же это не главное, и зачем диапазон указывать?? Датчик аналоговый от 0 до 5 V. Может кто-то просто занимался подобной реализацией, желаю получить совет. Вот и всё.
Реклама
Вымогатель припоя
Аватара пользователя
Сообщения: 683
Зарегистрирован: Пт апр 11, 2008 11:24:53
Откуда: Владимир

Сообщение SergeBS »

и зачем диапазон указывать??
Затем, что вначале идет вопрос - ЗАЧЕМ мерять? А уже потом - что и как. Доходчивый пример: сетевое напряжение можно мерять вольтметром с диапазоном 0...300 В и точностью 1%, а можно - с диапазоном 200...250 В и точностью 2%. Где результирующая точность получится выше? И во сколько раз?
Ответь СЕБЕ для начала, теперь уже на 2 вопроса:
- Что должно передаваться на стороннее устройство? Частота МК в МГц байтом? :)
- С точностью 12-bit? Пример датчика, пжалста, с такой точностью.
Ответь СЕБЕ на наводящие, так сказать, вопросы. И многое станет ясным. А кое-что - нафиг ненужным.
Например желание мерять с точностью 12 бит, которое кроме как идиотизмом назвать трудно... Поскольку вполне может оказаться, что АЦП вообще не нужен и достаточно компаратора. Например. Если поставить RC-фильтр на входе.
А там и до необходимой точности измерения и чем она определяется, периода вычисления и т.п. доберемся.
Сам додумаешься - так и дальше проще задачки решать будет. Хотя бы вопросы правильные задавать научишься.
Человек - это звучит гордо, а обезьяна - объективно...
Реклама
Вымогатель припоя
Аватара пользователя
Сообщения: 683
Зарегистрирован: Пт апр 11, 2008 11:24:53
Откуда: Владимир

Сообщение SergeBS »

GERAMOZG писал(а):с большими взглядами на будущее.
:). Ну уж заодно тогда и толстыми. Как в анекдоте про высоту вышки.
GERAMOZG писал(а):Может кто-то просто занимался подобной реализацией, желаю получить совет.
Реализацией сферического коня в вакууме. Иначе описание задачки не назовешь.
Человек - это звучит гордо, а обезьяна - объективно...
Опытный кот
Аватара пользователя
Сообщения: 764
Зарегистрирован: Вт окт 27, 2009 21:27:21
Откуда: Ульяновск

Сообщение D.VOVA »

GERAMOZG писал(а): Передаваться на стороннее устройство будет период колебаний ..... Датчик аналоговый от 0 до 5 V. ... Вот и всё.
Так какой же период колебаний будет на выходе у аналогового датчика давления? Или датчик всё-таки генераторный, типа ДДГ, ДВБЧ-У (для прецизионнных измерений) и им подобных импортных? Тогда вообще зачем АЦП?
Вымогатель припоя
Аватара пользователя
Сообщения: 535
Зарегистрирован: Вт авг 28, 2012 22:21:33

Сообщение menzoda »

Тебе там правильно на верху говорят про то, что ты что-то загнул с алгоритмом. Так что озвучь ПОДРОБНО, ЧТО тебе надо измерить, КАКОЙ сигнал на входе, и так далее.

Но тем не менее. Ты говоришь про "хранить 15000 точек". Эти 15000 точек займут 30Кб памяти, я открываю страничку с описанием ATmega32, а там - 2Кб. Потом открываю страничку с STMF0, а там 8Кб. Чуешь разницу? Так что тебе грозит STMF3 или STMF4, ну или что-нибудь помладше, но с внешней памятью.


PS. Охереть! Посмотрел в промэлектронике цену на ATmega32 - 270 руб, а потом цену на STM32F373C8T6, который уделает эту щенячью мегу во все щели - 127 руб. Какого черта весь форум дрочит на эти никчемные атмелы?!
YS
Друг Кота
Аватара пользователя
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05

Сообщение YS »

Присоединяюсь к уже отметившимся комментаторам - если озвучиваются явно невероятные требования (преобразование Фурье на 15000 точек на AVR :shock: ), значит, где-то системная ошибка в рассуждениях.
быстрое преобразование Фурье, для вычисления периода.
Как минимум, период входного сигнала можно вычислить гораздо проще. :) Ну, например, отлавливать компаратором переход через ноль и по таймеру определять.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 6337
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Сообщение Jack_A »

YS писал(а):Как минимум, период входного сигнала можно вычислить гораздо проще. :) Ну, например, отлавливать компаратором переход через ноль и по таймеру определять.
Это на первый взгляд. Не берусь рассуждать об туманно озвученной ТС данной задаче, но мерить таким макаром , к примеру, период тока в сети, в которой бездна нелинейных нагрузок и переходных процессов -- можно получить цену на пеньку в Тамбове.
Что касаемо данной задачи, то чтоб получать только период, здесь 12-битка нужна как зайцу велосипед. И 15000 отсчетов в реалтайме -- разве что спектрограмму шума корабля для определения "свой-чужой" и затем его торпедой в автоматическом режиме. Не буду продолжать -- а вдруг я прмо в точку ? :)
YS
Друг Кота
Аватара пользователя
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05

Сообщение YS »

мерить таким макаром , к примеру, период тока в сети, в которой бездна нелинейных нагрузок и переходных процессов -- можно получить цену на пеньку в Тамбове.
Э-э-э... Неужто там такие суровые помехи, что может появиться еще один переход через ноль? Ну ОК, компаратор можно включить как триггер Шмитта с некоторым гистерезисом (вывести сигнал с него наружу программно). :) Или просто отлавливать один переход, а потом игнорировать сигнал компаратора некоторое время для пропуска ложных переходов. Все-таки неоднозначность возможна только вблизи нуля. Я сомневаюсь, что может быть еще один переход, например, на четверти периода 50 Гц. Ну и надо усреднять результаты, конечно.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Контактная информация:
Вымогатель припоя
Аватара пользователя
Сообщения: 683
Зарегистрирован: Пт апр 11, 2008 11:24:53
Откуда: Владимир

Сообщение SergeBS »

menzoda писал(а):Какого черта весь форум дрочит на эти никчемные атмелы?!
Фи. Зачем так грубо? Есть люди, до сих пор Спектрумы пользующие - ностальгия, однако. И наработок на AVR - до черта на любую тему. Вот 2 весомых причины. Да и попроще они - 3-я...

А есть еще STM32F100C4T6, за $1.2, уделывающая напрочь ATmega8, кроме 1 пункта - нет DIP, только LQFP48 с шагом ног 0.5 мм (т.е. фоторезист или очень хорошо обкатанный ЛУТ). Ну и питание 3.6 максимум (хотя это в наше время уже не недостаток).
Посмотри, сколько STM32F103XXXX стоят - тоже веселенький ситчик, с флешем до 1 Гб... STMщики ломят со страшной силой :).
Человек - это звучит гордо, а обезьяна - объективно...
Вымогатель припоя
Аватара пользователя
Сообщения: 535
Зарегистрирован: Вт авг 28, 2012 22:21:33

Сообщение menzoda »

Про две весомых причины согласен, а вот насчет сложности - нет. Просто у людей засело в голове, что раз АРМ - значит сложно, куда мне до него. В действительности же они во многом более логичные и простые.
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1433
Зарегистрирован: Вс дек 02, 2012 03:13:48
Откуда: Калининград

Сообщение balmer »

menzoda писал(а):Про две весомых причины согласен, а вот насчет сложности - нет. Просто у людей засело в голове, что раз АРМ - значит сложно, куда мне до него. В действительности же они во многом более логичные и простые.
Уже пару месяцев по вечерам про STM32 читаю. Штука отличная. Но реально значительно более сложная чем AVR. Там базовой документации раз в 10 больше, чем про AVR. Естественно и возможностей сильно больше. Как начнешь про чтонить читать, так и теряешься.

А про пайку ARM - можно ведь купить и STM32F102CBT6, который в корпусе LQFP-48 как Atmega8, но дешевле(!) и лучше практически по всем параметрам.
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1433
Зарегистрирован: Вс дек 02, 2012 03:13:48
Откуда: Калининград

Сообщение balmer »

SergeBS писал(а):
А есть еще STM32F100C4T6, за $1.2, уделывающая напрочь ATmega8, кроме 1 пункта - нет DIP, только LQFP48 с шагом ног 0.5 мм (т.е. фоторезист или очень хорошо обкатанный ЛУТ).
Вот я довольно начинающий радиолюбитель. Но мне быстрее и проще запаять LQFP-48, чем один DIP о 16-ти ножках. С SMD компонентами вообще сильно меньше мороки, чем с DIP при пайке.

Вот последняя схемка, правда все еще для Atmega8, потому как больно простотой понравилась конструкция
Изображение
Друг Кота
Аватара пользователя
Сообщения: 4779
Зарегистрирован: Сб апр 02, 2011 12:40:46
Откуда: Минск

Сообщение Леонид Иванович »

menzoda писал(а):Про две весомых причины согласен, а вот насчет сложности - нет.
Как раз основная причина - ужасная сложность. Я сейчас как раз их осваиваю, делаю свою первую конструкцию на STM32F100C4. Один вид проекта наводит ужас - куча каких-то левых подключенных файлов, не то что с AVR, подключили iom8.h - и всё. Чтобы задействовать таймер или еще что-то, нужно 2 дня читать, а потом писать страницу кода инициализации. Профессиональным программистам, может быть, это привычно, но для радиолюбителей на грани возможного. Уже полмозга сломал, живу на второй половине.
Контактная информация:
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

Сообщение ibiza11 »

На то и документация - чтобы ее читать. У каждого по-разному, кому 2 часа, кому 2 дня. ИМХО это переходный процесс, когда к стилю изложения информации в документации привыкаешь. На первых порах при переходе с 8 бит на 32 бита - забываешь, что регистр 32-битный, что настроек в 4 раза больше... поначалу это вызывает чувство отторжения)))
ну и для быстрого старта есть стандартные библиотеки периферии (правда в них тоже без поллитры не разберешься, если до этого с такими библиотеками не работал)
Ставим плюсы: )
Потрогал лапой паяльник
Сообщения: 310
Зарегистрирован: Пт дек 17, 2010 14:41:25

Сообщение phenomen »

Леонид Иванович, есть неплохая программка MicroXplorer от того же ST. Она умеет генерировать код инициализации по конфигурации портов. Хорошая штуковина для начала изучения.
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1163
Зарегистрирован: Ср янв 05, 2011 16:25:15

Сообщение ChipKiller »

Леонид Иванович писал(а):Один вид проекта наводит ужас - куча каких-то левых подключенных файлов,
... совсем не обязательно, если "забить" на Standard Peripherals Library.

Код: Выделить всё

#define STM32F10X_MD_VL
#include <stm32f10x.h>
... хватает :)
Ответить

Вернуться в «Периферия»