Схема логорифмирования на МК STM32

Кто любит RISC в жизни, заходим, не стесняемся.
Эрих
Первый раз сказал Мяу!
Сообщения: 22
Зарегистрирован: Вс дек 28, 2014 11:23:58

Схема логорифмирования на МК STM32

Сообщение Эрих »

Добрый день. Задача такая - есть входной аналоговый сигнал, от 0..10 вольт
Нужно на выходе получить ток, равный экспоненте от входного напряжения, т е для целочисленного примера:
1В - 10мкА
2В - 20мкА
3В - 40мкА
4В - 80мкА
5В - 160мкА
и так далее...
Входной аналоговый сигнал частотой - 0.1 - 10 кГц так же может изменяться в очень малых пределах - 0.001 В, поэтому нужен качественный АЦП, 16 бит в теории хватило бы.
Выбор пал на микропроцессор STM32F373VCT6 http://www.compel.ru/infosheet/ST/STM32F373VCT6/
Ибо имеет встроенный АЦП с 65535 выборками, то бишь 16 бит.
Выход токовый, думаю, можно попробовать реализовать с помощью ШИМ, к которому можно на выход подвесить источник тока, управляемый напряжением, где далее и получится токовый выход, диапазон достаточно мало толчен - 1мкА ~ 1мА
Ах да, забыл, встроенный АЦП stm32 имеет малый диапазон входных напряжений, по крайней мере не выше напряжения питания, само собой, которое, если я не ошибаюсь, у STM32 - 3.6 вольт. Посему на входе устройства будет масштабирующий усилитель, который обязан 10 вольт впихнуть в диапазон амплитуд работы АЦП
Самое главное - это получение экспоненты, она должна быть качественная, чтобы на слух не возможно было отличить от точно такого же экспоненциирующего устройства, только аналогового. Тут либо аппроксимировать, либо каждой выборке задавать значение, не знаю..
Именно поэтому пишу сюда, может найдутся специалисты, которые подскажут что они об этом думают и может как это получше реализовать. А так же не слишком ли мощный STM32 для такой задачи.
Последний раз редактировалось Эрих Пн дек 29, 2014 11:38:58, всего редактировалось 1 раз.
AlexGTS
Первый раз сказал Мяу!
Сообщения: 23
Зарегистрирован: Чт авг 29, 2013 13:32:37

Re: Схема логорифмирования на МК STM32

Сообщение AlexGTS »

Я вот сейчас ковыряюсь с этим камнем, так вот, 10 кГц полоса - это впритык. Максимальная частота опроса 50 кГц (но это только непрерывный режим) и при этом полоса сильно меньше, чем 25 кГц.
Эрих
Первый раз сказал Мяу!
Сообщения: 22
Зарегистрирован: Вс дек 28, 2014 11:23:58

Re: Схема логорифмирования на МК STM32

Сообщение Эрих »

AlexGTS писал(а):Я вот сейчас ковыряюсь с этим камнем, так вот, 10 кГц полоса - это впритык. Максимальная частота опроса 50 кГц (но это только непрерывный режим) и при этом полоса сильно меньше, чем 25 кГц.

Мне с головой хватит и в 2 раза меньше - 5 кГц
Только как бы это всё реализовать, в МК слабо шарю, а сделать надо..
Аватара пользователя
White_Pit
Потрогал лапой паяльник
Сообщения: 310
Зарегистрирован: Чт дек 25, 2014 13:49:58
Откуда: Юкон

Re: Схема логорифмирования на МК STM32

Сообщение White_Pit »

Если начать с того, что масштабирующий усилитель будет логарифмирующим, задача облегчится. И, цап в микроконтроллерах разве не с токовым выходом?
Эрих
Первый раз сказал Мяу!
Сообщения: 22
Зарегистрирован: Вс дек 28, 2014 11:23:58

Re: Схема логорифмирования на МК STM32

Сообщение Эрих »

White_Pit писал(а):Если начать с того, что масштабирующий усилитель будет логарифмирующим, задача облегчится. И, цап в микроконтроллерах разве не с токовым выходом?

Нет, обычный линейный, антилогарифм или экспоненту - надо на МК получить, логарифмирующие усилители достаточно дорогие и качество в них не блещет, да и вообще аналоговое логарифмирование для высокоточных задач - вещи не совместимые
Про токовый выход ЦАП - не знаю, надо даташиты курить...
Аватара пользователя
White_Pit
Потрогал лапой паяльник
Сообщения: 310
Зарегистрирован: Чт дек 25, 2014 13:49:58
Откуда: Юкон

Re: Схема логорифмирования на МК STM32

Сообщение White_Pit »

Вот и я подумал, у самостоятельных цап частенько выход токовый и там применяют операционный усилитель для преобразования изменения тока в изменение напряжения. Скорее всего, цап микроконтроллера аналогичен однокристальному цап.
Эрих
Первый раз сказал Мяу!
Сообщения: 22
Зарегистрирован: Вс дек 28, 2014 11:23:58

Re: Схема логорифмирования на МК STM32

Сообщение Эрих »

Для меня это мелочи реализации, гораздо важнее код обработки входного сигнала и выдачи на ЦАП или ШИМ
Аватара пользователя
balmer
Это не хвост, это антенна
Сообщения: 1433
Зарегистрирован: Вс дек 02, 2012 03:13:48
Откуда: Калининград

Re: Схема логорифмирования на МК STM32

Сообщение balmer »

Эрих писал(а):Выбор пал на микропроцессор STM32F373VCT6 ....
Ибо имеет встроенный ЦАП с 65535 выборками, то бишь 16 бит.


Если не ошибаюсь, в F373 нет 16-ти битного DAC. Есть только 16-ти битный ADC.
Задача не очень понятно поставленна. Но если речь идет о боле-менее качестывенной обработки звука, то лучше не пользоваться встроенными ADC/DAC в STM32.

Для обработки звука предложил бы - CS4272 + STM32F405 (как в радиоприемниках прямого преобразования любят ставить). Но тут уже вопрос - единичный экземпляр делается, или серийный. Если единичный - однозначно лучше потратить лишних 10$ и сэкономить на разработке за счет более качественных деталей.
Эрих
Первый раз сказал Мяу!
Сообщения: 22
Зарегистрирован: Вс дек 28, 2014 11:23:58

Re: Схема логорифмирования на МК STM32

Сообщение Эрих »

balmer писал(а):
Эрих писал(а):Выбор пал на микропроцессор STM32F373VCT6 ....
Ибо имеет встроенный ЦАП с 65535 выборками, то бишь 16 бит.


Если не ошибаюсь, в F373 нет 16-ти битного DAC. Есть только 16-ти битный ADC.
Задача не очень понятно поставленна. Но если речь идет о боле-менее качестывенной обработки звука, то лучше не пользоваться встроенными ADC/DAC в STM32.

Для обработки звука предложил бы - CS4272 + STM32F405 (как в радиоприемниках прямого преобразования любят ставить). Но тут уже вопрос - единичный экземпляр делается, или серийный. Если единичный - однозначно лучше потратить лишних 10$ и сэкономить на разработке за счет более качественных деталей.

Ошибся, АЦП имел ввиду. Разработка серийная, там звуковой генератор, полосой до самый максимум - 10 кГц, на деле где-то до 5-6 кГц
Качества встроенных АЦП мне хватило бы с головой, нужно только чтобы кто-то помог сделать, написать алгоритм
HHIMERA
Друг Кота
Сообщения: 4583
Зарегистрирован: Вс дек 05, 2010 06:10:34
Откуда: ЮВ

Re: Схема логорифмирования на МК STM32

Сообщение HHIMERA »

Разработка серийная

нужно только чтобы кто-то помог сделать

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

Re: Схема логорифмирования на МК STM32

Сообщение balmer »

А вот все равно не доконца понимаю, почему нужен качественный ADC на 16 бит, но при этом в качестве DAC подойдет 12 бит выход (или даже PWM что еще хуже).

Выходной ток должен по возможности быстро следовать за входным? Или будет усреднение за какойто интервал времени? Какие коэффициэнты при экспоненте Iout = A*exp(B*Vin)?
Эрих
Первый раз сказал Мяу!
Сообщения: 22
Зарегистрирован: Вс дек 28, 2014 11:23:58

Re: Схема логорифмирования на МК STM32

Сообщение Эрих »

HHIMERA писал(а):
Разработка серийная

нужно только чтобы кто-то помог сделать

"Очередь желающих сразу разбежалась!"(С)
В раздел "работа"...

Серийная, значит надо для себя и может пару для друзей штук по 5 сделать, барыжить никто ничем не собирается
Эрих
Первый раз сказал Мяу!
Сообщения: 22
Зарегистрирован: Вс дек 28, 2014 11:23:58

Re: Схема логорифмирования на МК STM32

Сообщение Эрих »

balmer писал(а):А вот все равно не доконца понимаю, почему нужен качественный ADC на 16 бит, но при этом в качестве DAC подойдет 12 бит выход (или даже PWM что еще хуже).

Выходной ток должен по возможности быстро следовать за входным? Или будет усреднение за какойто интервал времени? Какие коэффициэнты при экспоненте Iout = A*exp(B*Vin)?

Да вот беда, тогда надо искать STM32 с ЦАП 16 бит или цеплять ЦАП уже внешний. Если ШИМ в такой системе плохую точность даёт - запомню
Система будет реального времени, проще говоря строится экспоненциальный генератор в диапазоне звуковых частот, полосой - 0.1 - 10 кГц
Коэффициенты - надо подумать посчитать, но точно знаю что ток мал, это около 10мкА - 1-2мА
Т.е. к примеру:
0В - 10мкА
1В - 20мкА
2В - 40мкА
3В - 80мкА
4В - 160мкА
5В - 320мкА
и т.д....
И т.к. это всё может модулироваться очень малыми напряжениями - порядка 0.001 вольт, соответственно и ток будет экспоненциально модулироваться в таком случае на единицы микроампер, нужны высоко разрядные АЦП и ЦАП с токовым выходом, 16 бит считал - вроде хватает.
Если кто может помочь - точнее подскажу, знаю что для программиста МК, тем более STM32 - это всё очень просто
Аватара пользователя
balmer
Это не хвост, это антенна
Сообщения: 1433
Зарегистрирован: Вс дек 02, 2012 03:13:48
Откуда: Калининград

Re: Схема логорифмирования на МК STM32

Сообщение balmer »

Эрих писал(а):нужны высоко разрядные АЦП и ЦАП с токовым выходом, 16 бит считал - вроде хватает.


Ага, понятнее стало.
ADC 16 бит хватает только если шумов нет. А шумы будут от процессора. Причем, так как выбирать данные требуется на максимальной скорости, то видимо 4 бита будут зашумленны (или даже больше). Так что советую таки внешний ADC
Эрих
Первый раз сказал Мяу!
Сообщения: 22
Зарегистрирован: Вс дек 28, 2014 11:23:58

Re: Схема логорифмирования на МК STM32

Сообщение Эрих »

balmer писал(а):
Эрих писал(а):нужны высоко разрядные АЦП и ЦАП с токовым выходом, 16 бит считал - вроде хватает.


Ага, понятнее стало.
ADC 16 бит хватает только если шумов нет. А шумы будут от процессора. Причем, так как выбирать данные требуется на максимальной скорости, то видимо 4 бита будут зашумленны (или даже больше). Так что советую таки внешний ADC


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

Re: Схема логорифмирования на МК STM32

Сообщение balmer »

Это уже кому, что нравится. При той-же цене у STM32 и памяти побольше и процессорная мощь повыше. Из тех же STM32F030 можно выбрать...
Эрих
Первый раз сказал Мяу!
Сообщения: 22
Зарегистрирован: Вс дек 28, 2014 11:23:58

Re: Схема логорифмирования на МК STM32

Сообщение Эрих »

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

Re: Схема логорифмирования на МК STM32

Сообщение balmer »

Не знаю что такое DIY. Но программатор для STM32 лучше купить, геммороя меньше. Еще вариант - купить STM32 Discovery или STM32 Nucleo отладочную плату - там будет программатор, который можно будет использовать для программирования и дебага внешних чипов. Кстати плюс STM32 по сравнению с Atmega8 - возможность дебага :) Ну и программатор подключается четырьмя проводами, мелочь, а все лучше, чем 6 проводов у ATmega.
Эрих
Первый раз сказал Мяу!
Сообщения: 22
Зарегистрирован: Вс дек 28, 2014 11:23:58

Re: Схема логорифмирования на МК STM32

Сообщение Эрих »

DIY - смысле сам сделать, дешевле думаю спаять чем готовый купить, у нас тут цены на всё космические, но программатор попробую поискать на рынке не дорогой
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Re: Схема логорифмирования на МК STM32

Сообщение oleg110592 »

Ответить

Вернуться в «ARM»