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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> STM32F373 SDADC 50ksps.
Alex_Golubev
сообщение Apr 28 2018, 03:23
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 278
Регистрация: 18-03-17
Пользователь №: 95 877



Привет.
Возникла у меня проблема оцифровки сигнала SDADC микроконтроллера STM32F373.

Проблема заключается в следующем. В RM0313 стр. 231 на мк. STM32F373 написано 50 ksps input sampling rate for single-channel operation. Это получается, что ацп может оцифровать прямоугольный сигнал длительностью 20 мкс.
Я обрадовался этому мне как раз нужно оцифровывать сигналы прямоугольной формы длительность от 20 мкс до 25 мкс. Амплитуда 1В

Написал простенький код для теста, начал смотреть результаты в регистре RDATAR и увидал, что данные в RDATAR 700-800 в момент формирования прямоугольного сигнала 1В, а должно быть примерно 10000. Опора 3,3В внешняя.

Синхронизацию прямоугольного импульса с входом ацп сделал очень простую (для теста): На рисунки прямоугольник сформированный на входе ацп.

1.Устанавливаю порт ввода вывода в "1"
2.Читаю данные из регистра SDADC1->RDATAR. После этого должен быть сброшен бит DADC_ISR_REOCF.
3.Жду установки бита DADC_ISR_REOCF, while( (SDADC1->ISR&SDADC_ISR_REOCF) != SDADC_ISR_REOCF);
4.Забираю данные из RDATAR (SDADC1->RDATAR)

Код
  N1_SIGNAL_ON;
  adcSD = SDADC1->RDATAR;
  while( (SDADC1->ISR&SDADC_ISR_REOCF) != SDADC_ISR_REOCF);
  adcSD = SDADC1->RDATAR;
  N1_SIGNAL_OFF;


Запускаю АЦП : SDADC1->CR2 |= SDADC_CR2_RSWSTART;

Значение регистров:
CR1 = 0x00;
CR2 = 0x01440001;
CONF0R = 0x04700FCB; калибровку ацп делаю.


Уже все перечитал в мануале, нашел только одну строчку:
In fast continuous mode (FAST=1), the first conversion takes still 360 SDADC
clocks, but then each subsequent conversion finishes in 120 SDADC clocks.
Очень мало информации по FAST режим.
Подумываю о то что ацп не может преобразовывать на частотах выше 16600 Гц.
Если отключить FAST то ацп работает нормально.
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
mcheb
сообщение Apr 28 2018, 03:33
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 326
Регистрация: 30-05-06
Пользователь №: 17 602



Из даташита

16.6 ksps input sampling rate when multiplexing between different channels

50 ksps input sampling rate for single-channel operation
Go to the top of the page
 
+Quote Post
Alex_Golubev
сообщение Apr 28 2018, 03:53
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 278
Регистрация: 18-03-17
Пользователь №: 95 877



Вся проблема в том, что у меня одноканальный и включен.
В CR2->CALIBCNT установлен в 0.
В SDADC_CONF0R->SE0 установлено 01: Conversions are executed in single-ended offset mode
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
Alex_Golubev
сообщение May 1 2018, 01:10
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 278
Регистрация: 18-03-17
Пользователь №: 95 877



Не кто с такой проблемой не сталкивался?
Все молчат.
Go to the top of the page
 
+Quote Post
ViKo
сообщение May 1 2018, 04:31
Сообщение #5


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 625
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Не сталкивался. Но не зря же написали, что первое преобразование длится дольше. Значит, ваше предположение, что можно оцифровывать прямоугольный сигнал, неверно. Вот синус 25 кГц - другое дело.
Go to the top of the page
 
+Quote Post
Plain
сообщение May 1 2018, 20:56
Сообщение #6


Гуру
******

Группа: Участник
Сообщений: 6 745
Регистрация: 5-03-09
Из: Москва
Пользователь №: 45 710



Цитата(Alex_Golubev @ Apr 28 2018, 06:23) *
Если отключить FAST то ацп работает нормально

Начинает оцифровывать прямоугольные импульсы?
Go to the top of the page
 
+Quote Post
Alex_Golubev
сообщение May 2 2018, 00:53
Сообщение #7


Местный
***

Группа: Участник
Сообщений: 278
Регистрация: 18-03-17
Пользователь №: 95 877



Да начинает оцифровывать прямоугольные импульсы.
Но длительность оцифровки увеличивается до 60 мкс.
Go to the top of the page
 
+Quote Post
Plain
сообщение May 2 2018, 07:23
Сообщение #8


Гуру
******

Группа: Участник
Сообщений: 6 745
Регистрация: 5-03-09
Из: Москва
Пользователь №: 45 710



Не понятно, зачем Вы впустую тратили время, если сегодня из Вашей новой темы по той же теме вдруг выяснилось, что импульсы-то оказывается будут вдвое короче, 10 мкс, и тем более не понятно, зачем вообще все эти темы, если встроенного в STM32 12-разрядного АЦП ПП здесь более чем достаточно.
Go to the top of the page
 
+Quote Post
Alex_Golubev
сообщение May 2 2018, 08:10
Сообщение #9


Местный
***

Группа: Участник
Сообщений: 278
Регистрация: 18-03-17
Пользователь №: 95 877



12 разрядов мало.
Go to the top of the page
 
+Quote Post
Plain
сообщение May 2 2018, 08:46
Сообщение #10


Гуру
******

Группа: Участник
Сообщений: 6 745
Регистрация: 5-03-09
Из: Москва
Пользователь №: 45 710



При 1 Msps на 10 мкс каскадным включением можно получить 15 разрядов.

Не понятно только, зачем банальным батарейным весам 32-разрядный МК.
Go to the top of the page
 
+Quote Post
Alex_Golubev
сообщение May 2 2018, 09:13
Сообщение #11


Местный
***

Группа: Участник
Сообщений: 278
Регистрация: 18-03-17
Пользователь №: 95 877



можно взять stm32f303 у него уже 5 msps 12 бит.

Это не весы. Это инфракрасный прибор.

Если подавать импульс длительностью больше 20 мкс то светодиод разогревается. И данные начинают плыть. Marubeni пишут что нужно подавать импульс длительностью 10 мкс скважность 0,1%. Это я уже экспериментально нашел точку 20 мкс.

Но нужно 16 бит. Может есть какие мк. у которых быстрый 16 битный ацп. Знаю stm32h7 ну я считаю это совсем перебор.

Сообщение отредактировал Alex_Golubev - May 2 2018, 09:14
Go to the top of the page
 
+Quote Post
Plain
сообщение May 2 2018, 10:55
Сообщение #12


Гуру
******

Группа: Участник
Сообщений: 6 745
Регистрация: 5-03-09
Из: Москва
Пользователь №: 45 710



Цитата(Alex_Golubev @ May 2 2018, 12:13) *
нужно 16 бит

На 20 мкс вышеозвученный каскадный АЦП их выдаст с запасом.
Go to the top of the page
 
+Quote Post
_pv
сообщение May 2 2018, 11:10
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 2 560
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954



даже на картинке измеренной 8ми битным осциллографом отлично видно что амплитуда импульса не постоянна, а куда-то ползает на несколько процентов, в какой именно момент времени вы собрались измерять амплитуду с точностью почти 1е-5?
Go to the top of the page
 
+Quote Post
dimka76
сообщение May 2 2018, 19:35
Сообщение #14


developer
****

Группа: Свой
Сообщений: 902
Регистрация: 12-04-06
Из: Казань
Пользователь №: 16 032



Цитата(Plain @ May 2 2018, 13:55) *
На 20 мкс вышеозвученный каскадный АЦП их выдаст с запасом.


А можно узнать чуть-чуть поподробнее по поводу каскадного АЦП ?


--------------------
Все может быть и быть все может, и лишь того не может быть-чего уж точно быть не может, хотя..и это может быть.
Go to the top of the page
 
+Quote Post
Plain
сообщение May 2 2018, 20:04
Сообщение #15


Гуру
******

Группа: Участник
Сообщений: 6 745
Регистрация: 5-03-09
Из: Москва
Пользователь №: 45 710



Дополнительные разряды получаются усреднением результатов включения существующего АЦП сравнивающим с пилой >= 1 МЗР, для чего эта пила создаётся стробируемым интегратором и суммируется со входом. В качестве интегратора обычно годится RC.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 24th September 2018 - 05:29
Рейтинг@Mail.ru


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