Alex_Golubev 0 28 апреля, 2018 Опубликовано 28 апреля, 2018 · Жалоба Привет. Возникла у меня проблема оцифровки сигнала 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 то ацп работает нормально. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mcheb 0 28 апреля, 2018 Опубликовано 28 апреля, 2018 · Жалоба Из даташита – 16.6 ksps input sampling rate when multiplexing between different channels – 50 ksps input sampling rate for single-channel operation Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex_Golubev 0 28 апреля, 2018 Опубликовано 28 апреля, 2018 · Жалоба Вся проблема в том, что у меня одноканальный и включен. В CR2->CALIBCNT установлен в 0. В SDADC_CONF0R->SE0 установлено 01: Conversions are executed in single-ended offset mode Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex_Golubev 0 1 мая, 2018 Опубликовано 1 мая, 2018 · Жалоба Не кто с такой проблемой не сталкивался? Все молчат. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 1 мая, 2018 Опубликовано 1 мая, 2018 · Жалоба Не сталкивался. Но не зря же написали, что первое преобразование длится дольше. Значит, ваше предположение, что можно оцифровывать прямоугольный сигнал, неверно. Вот синус 25 кГц - другое дело. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Plain 208 1 мая, 2018 Опубликовано 1 мая, 2018 · Жалоба Если отключить FAST то ацп работает нормально Начинает оцифровывать прямоугольные импульсы? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex_Golubev 0 2 мая, 2018 Опубликовано 2 мая, 2018 · Жалоба Да начинает оцифровывать прямоугольные импульсы. Но длительность оцифровки увеличивается до 60 мкс. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Plain 208 2 мая, 2018 Опубликовано 2 мая, 2018 · Жалоба Не понятно, зачем Вы впустую тратили время, если сегодня из Вашей новой темы по той же теме вдруг выяснилось, что импульсы-то оказывается будут вдвое короче, 10 мкс, и тем более не понятно, зачем вообще все эти темы, если встроенного в STM32 12-разрядного АЦП ПП здесь более чем достаточно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex_Golubev 0 2 мая, 2018 Опубликовано 2 мая, 2018 · Жалоба 12 разрядов мало. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Plain 208 2 мая, 2018 Опубликовано 2 мая, 2018 · Жалоба При 1 Msps на 10 мкс каскадным включением можно получить 15 разрядов. Не понятно только, зачем банальным батарейным весам 32-разрядный МК. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex_Golubev 0 2 мая, 2018 Опубликовано 2 мая, 2018 (изменено) · Жалоба можно взять stm32f303 у него уже 5 msps 12 бит. Это не весы. Это инфракрасный прибор. Если подавать импульс длительностью больше 20 мкс то светодиод разогревается. И данные начинают плыть. Marubeni пишут что нужно подавать импульс длительностью 10 мкс скважность 0,1%. Это я уже экспериментально нашел точку 20 мкс. Но нужно 16 бит. Может есть какие мк. у которых быстрый 16 битный ацп. Знаю stm32h7 ну я считаю это совсем перебор. Изменено 2 мая, 2018 пользователем Alex_Golubev Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Plain 208 2 мая, 2018 Опубликовано 2 мая, 2018 · Жалоба нужно 16 бит На 20 мкс вышеозвученный каскадный АЦП их выдаст с запасом. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_pv 75 2 мая, 2018 Опубликовано 2 мая, 2018 · Жалоба даже на картинке измеренной 8ми битным осциллографом отлично видно что амплитуда импульса не постоянна, а куда-то ползает на несколько процентов, в какой именно момент времени вы собрались измерять амплитуду с точностью почти 1е-5? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimka76 61 2 мая, 2018 Опубликовано 2 мая, 2018 · Жалоба На 20 мкс вышеозвученный каскадный АЦП их выдаст с запасом. А можно узнать чуть-чуть поподробнее по поводу каскадного АЦП ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Plain 208 2 мая, 2018 Опубликовано 2 мая, 2018 · Жалоба Дополнительные разряды получаются усреднением результатов включения существующего АЦП сравнивающим с пилой >= 1 МЗР, для чего эта пила создаётся стробируемым интегратором и суммируется со входом. В качестве интегратора обычно годится RC. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться