|
STM32F4 ADC Excessive noise level, Noise level is over 5LSB |
|
|
|
 |
Ответов
(1 - 65)
|
Sep 23 2015, 15:34
|
Местный
  
Группа: Участник
Сообщений: 328
Регистрация: 1-06-06
Из: USA
Пользователь №: 17 672

|
Цитата(scifi @ Sep 23 2015, 11:17)  На схему и на разводку смотреть надо. У меня такого безобразия (32 отсчёта) даже близко не было. Thanks for reply. Unfortunately it is out of my control... Schematics looks clean, nothing really suspicious. Traces, routing and other EE stuff is over my level of expertise.
--------------------
|
|
|
|
|
Sep 23 2015, 18:47
|

Частый гость
 
Группа: Свой
Сообщений: 121
Регистрация: 30-07-08
Из: Тверь, Россия
Пользователь №: 39 321

|
Цитата(pitt @ Sep 23 2015, 18:34)  Thanks for reply. Unfortunately it is out of my control... Schematics looks clean, nothing really suspicious. Traces, routing and other EE stuff is over my level of expertise. Could you share your code? It seems that there are some mistakes in initialzation of GPIO, RCC or ADC. Check it again.
|
|
|
|
|
Sep 23 2015, 20:42
|
Местный
  
Группа: Участник
Сообщений: 291
Регистрация: 11-04-14
Из: Саратов
Пользователь №: 81 335

|
Цитата(scifi @ Sep 23 2015, 18:17)  На схему и на разводку смотреть надо. У меня такого безобразия (32 отсчёта) даже близко не было. Верно, надо смотреть схему. У него используются инжектированные каналы, а при некоторых схемных решениях, вполне невинных на первый взгляд, каналы могут влиять друг на друга. Пять разрядов ошибки, конечно, многовато, но 4 разряда получить вполне реально. Кое что об этом есть вот тут:"http://we.easyelectronics.ru/STM32/demony-v-acp-stm32.html".
|
|
|
|
|
Sep 24 2015, 07:45
|
Гуру
     
Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454

|
а вот и нет... LSB - Least Significant Bit то есть 5 LSB - это 5 младших бит. Возьмите буржуйское АЦП, там типичные и средние шумы +-1, 0.5 LSB и даны всякие описания типа Цитата The LSB is the smallest increment that can be represented by a converter. For an analog-to-digital converter with N bits of resolution, the LSB expressed in volts is Vref/2^N Так что скорее у нас часто это термин перевирается... да и где у нас?... вот я когда последний раз описывал шум использовал термин коды, то есть шумит 5 кодов, - 2,3 бита...
|
|
|
|
|
Sep 24 2015, 07:52
|
Гуру
     
Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136

|
Цитата(Golikov A. @ Sep 24 2015, 10:45)  а вот и нет... А вот и да. Почитайте, к примеру, тут. Это аналоговые девицы, они в этих делах не одну собаку съели. Вот, к примеру, цитата, которая не допускает разных толкований: "the total range (or span) of an N-bit ADC is 2 N LSBs".
|
|
|
|
|
Sep 24 2015, 11:10
|
Гуру
     
Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025

|
Цитата(pitt @ Sep 23 2015, 18:06)  Noise level is over 5 LSB. Why? My options?
Using 480 cycles, INJ registers, ADC3, changing prescaler... Don't see improvement.
Let me clarify what I mean 5 LSB: it isn't +/- 5 clocks but 2^5. Thus, you mean 32 counts of ADC. No, it's not internal ADC noise. You should check schematic design and firmware errors. step-by-step: 0. Make a correct test (see below) and show a schema 1. show a sourcecode make a correct test: 1. to use a low-noise power supply (a battery with a linear regulator for the needed voltage). 2. to measure a low-noise signal (a battery, reference voltage source etc) 3. to save ALL samples without any filtering!. A duration of the saved log must be at least 20 ms.
|
|
|
|
|
Sep 24 2015, 15:55
|
Местный
  
Группа: Участник
Сообщений: 328
Регистрация: 1-06-06
Из: USA
Пользователь №: 17 672

|
Цитата(EmbedElektrik @ Sep 23 2015, 14:47)  Could you share your code? It seems that there are some mistakes in initialzation of GPIO, RCC or ADC. Check it again. All I can share is values of the ADC registers just let me know which do you need. They are fine with me. Problems with RCC and or GPIO is nonsense: one wouldn't be able to get any readings, but I do - my problem is noise. I suspect that something with the board(made in China) but don't have EE expertise to prove it right or wrong. The power and Vref are fine: checked with my scope. I'm talking about raw(unfiltered) readings. Regardless, the other chat over here is clearly off topic. I'm native Russian speaker but don't and never will have blind typing skills. Replies in Russian are not a problem at all except may be terminology. Thank you all for response.
--------------------
|
|
|
|
|
Sep 24 2015, 17:27
|
Местный
  
Группа: Участник
Сообщений: 328
Регистрация: 1-06-06
Из: USA
Пользователь №: 17 672

|
Цитата(Ruslan1 @ Sep 24 2015, 12:39)  1. Непонятно как Вы определили что у Вас такой шум. Сохраните в массив последовательно проведенные измерения - коды АЦП (хотя бы за 20 ms для начала) и покажите, чтобы доказать наличие шума и посмотреть его параметры. 2. И что именно Вы измеряете? 3. Ну и покажите часть схемы, критичнуя для АЦП: все питания, Vref, схема измеряемого аналогового входа. 1. I'm storing min,max, mean 2. digital potentiometer 3. Copy from reference design. As I mentioned before, traces and routing is under umbrella of suspicion
--------------------
|
|
|
|
|
Sep 24 2015, 18:19
|
Гуру
     
Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025

|
Цитата(pitt @ Sep 24 2015, 20:27)  1. I'm storing min,max, mean 2. digital potentiometer 3. Copy from reference design. As I mentioned before, traces and routing is under umbrella of suspicion 1. Этого недостаточно. дайте массив значений АЦП- это, вероятно, даст информацию о природе шума 2. схему подключения потенциометра приведите. от чего он питается и что за напряжение делит? И там не сто килоом? Просто делитель на двух резисторах по паре килоом от Vref на вход АЦП подключите, это исключит кучу версий. 3. Схему приведите. " traces and routing is under umbrella of suspicion" - это, конечно красиво сказано, но неинформативно. С разводкой- очень маловероятно нагенерировать шума на 25 милливольт пик-пик (референс у Вас около 3.3 V ?).
|
|
|
|
|
Sep 24 2015, 19:22
|
Местный
  
Группа: Участник
Сообщений: 328
Регистрация: 1-06-06
Из: USA
Пользователь №: 17 672

|
Цитата(Ruslan1 @ Sep 24 2015, 14:19)  1. Этого недостаточно. дайте массив значений АЦП- это, вероятно, даст информацию о природе шума How come? What the difference does it make to see the graph in time or just its parameters? I have plotted it and it is noise("BORODA") Цитата(Ruslan1 @ Sep 24 2015, 14:19)  2. схему подключения потенциометра приведите. от чего он питается и что за напряжение делит? И там не сто килоом? Просто делитель на двух резисторах по паре килоом от Vref на вход АЦП подключите, это исключит кучу версий. Sorry, it is impossible. Scoped the output though - solid as a rock. Цитата(Ruslan1 @ Sep 24 2015, 14:19)  3. Схему приведите. " traces and routing is under umbrella of suspicion" - это, конечно красиво сказано, но неинформативно. С разводкой- очень маловероятно нагенерировать шума на 25 милливольт пик-пик (референс у Вас около 3.3 V ?). Nothing there...Copy and paste from STM32F4G-EVAL. One to one except more inputs are used i.e. more and different pins. Vref = 2.048V (LM4040D20IDBZR)
--------------------
|
|
|
|
|
Sep 24 2015, 19:47
|
Гуру
     
Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025

|
Цитата(pitt @ Sep 24 2015, 22:22)  How come? What the difference does it make to see the graph in time or just its parameters? I have plotted it and it is noise("BORODA")
Sorry, it is impossible. Scoped the output though - solid as a rock.
Nothing there...Copy and paste from STM32F4G-EVAL. One to one except more inputs are used i.e. more and different pins. Vref = 2.048V (LM4040D20IDBZR) Я пас. Данных-нет. Схемы "что подается на вход"-нет. Схемы "как запитан МК и что с референсом"- нет. Ну ладно, сделал усилие и посмотрел кит. Ну что же, мне почему-то кажется, что ответ на вопрос "откуда 16 mV пик-пик шумы" не так уж и сложно найти.
|
|
|
|
|
Sep 24 2015, 20:07
|
Местный
  
Группа: Участник
Сообщений: 328
Регистрация: 1-06-06
Из: USA
Пользователь №: 17 672

|
Цитата(Ruslan1 @ Sep 24 2015, 15:47)  Я пас. Данных-нет. Схемы "что подается на вход"-нет. Схемы "как запитан МК и что с референсом"- нет. Ну ладно, сделал усилие и посмотрел кит. Ну что же, мне почему-то кажется, что ответ на вопрос "откуда 16 mV пик-пик шумы" не так уж и сложно найти.
Thank you for your effort. On the side note: You've published exactly piece I never had... MCU powered as that example, Vref goes from the part number I reported before...
--------------------
|
|
|
|
|
Sep 24 2015, 20:20
|
Гуру
     
Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025

|
Цитата(Golikov A. @ Sep 24 2015, 23:07)  а поподробнее, мне тоже интересно откуда шум  Дык, вестимо, цифровое питание -оно не бесшумное. И если его измерять относительно бесшумного референса- то можно и больше шума намерять. Но это была, скорее, провокация, чтобы ТС "разродился" наконец реальной информацией по схеме. Я надеюсь, у него все-таки не цифровое питание измеряется. Как я уже написал выше, я-пас. Не умею думать при отсутствии исходной информации.
|
|
|
|
|
Sep 25 2015, 13:08
|
Местный
  
Группа: Участник
Сообщений: 328
Регистрация: 1-06-06
Из: USA
Пользователь №: 17 672

|
Цитата(Golikov A. @ Sep 25 2015, 02:34)  TC = topic starter Thanks. Цитата(Genadi Zawidowski @ Sep 25 2015, 01:30)  "ТС" это вы. Прошу не игнорировать вопрос про измерение внутреннего источника образцового напряжения (канал номер 17), включив его при инициализации АЦП. I didn't study this topic yet. I'm not using STD from STM, so it may be not that easy to do with the HAL I'm using. As I said, don't know yet. If you could share simple code which initializes ADC registers, not their init structure - it would be really appreciated.
--------------------
|
|
|
|
|
Sep 25 2015, 17:28
|
Местный
  
Группа: Участник
Сообщений: 328
Регистрация: 1-06-06
Из: USA
Пользователь №: 17 672

|
Цитата(Genadi Zawidowski @ Sep 25 2015, 12:46)  Извините, а как же Вы пишите програму? Ну пожалуйста, мой проект тоже не использует SPL. https://188.134.5.254/export/2735/hfreceive...runk/hardware.cСтрока 1969 и дальше... Непонятности смотрите рядом, файл pio.c Thanks. Will try but don't promise to do something over weekend. Basically I need to enable in CCR and put/add to SQR/JSQR.
--------------------
|
|
|
|
|
Sep 25 2015, 17:43
|
Местный
  
Группа: Участник
Сообщений: 328
Регистрация: 1-06-06
Из: USA
Пользователь №: 17 672

|
Цитата(Genadi Zawidowski @ Sep 25 2015, 13:33)  Сперва без JSQR протестируйте.. ? It is easier to deal with, well except their twist with queue.
--------------------
|
|
|
|
|
Sep 26 2015, 21:14
|
Местный
  
Группа: Участник
Сообщений: 328
Регистрация: 1-06-06
Из: USA
Пользователь №: 17 672

|
Цитата(pitt @ Sep 25 2015, 13:43)  ? It is easier to deal with, well except their twist with queue.  Из дома могу и по-русски Использую MCBSTM32F400. Подключил входы 16, 17, 18 на ING(так сканирую все сразу). Читаю малошумящие сигналы(2 LSB) +/- 3 counts. Удивился, что температуру показывает порядка 46C(12 разрядов 987 counts). Может пересчитал неверно... А у Вас? С пересчетом Vref и Vbat разбираться не стал, а Vref даже и не нашел... Т.е. все весьма правдоподобно. На работе, однако, другое железо, но тот же HAL.
--------------------
|
|
|
|
|
Sep 27 2015, 04:13
|

Профессионал
    
Группа: Свой
Сообщений: 1 292
Регистрация: 26-06-07
Пользователь №: 28 718

|
абсолютные значения температуры там неверны, как и указал сам производитель. встроенный датчик хорошо показывает относительные значения, начальную точку надо искать самостоятельно. Цитата а Vref даже и не нашел... ну как это не нашёл? Почитайте - не точное название документа - "Getting started with STM32 hardware". Если не нужна высока скорость чтения, то настраивайте АЦП на самые медленные выборки(и частоту АЦП ниже) и делайте большое количество выборок с усреднением. Неслучайные помехи от импульсника это легко покрывает. Если нужно высокая скорость выборки, как тут уже советовали, попробуйте провести спектральный анализ помех и используйте цифровой фильтр на выбранные частоты.
|
|
|
|
|
Sep 27 2015, 16:39
|

Профессионал
    
Группа: Свой
Сообщений: 1 292
Регистрация: 26-06-07
Пользователь №: 28 718

|
Цитата Пожалуйста указывайте конкретные ссылки на документы. Можно конечно, мне не сложно. Просто обычно люди читают документацию, проверяют в поисковых системах - не было ли похожих случаев, пробуют догадки, исследуют и когда не получается решить проблему, то обращаются на форум. Ну, а применительно к документации, то если я работаю с каким-то МК, то документы из разделов Datasheet, AppNote и др. на сайте производителя у меня уже сохранены на винчестере. Ну, собственно, вот пример из доки на STM32F100xC. Раздел 10.9. Датчик температуры Цитата The temperature sensor output voltage changes linearly with temperature. The offset of this line varies from chip to chip due to process variation (up to 45 °C from one chip to another). The internal temperature sensor is more suited to applications that detect temperature variations instead of absolute temperatures. If accurate temperature readings are needed, an external temperature sensor part should be used. Даже попробую перевести. Выходное напряжение датчика температуры изменяется линейно вместе с температурой. Смещение этой линии(имеют в виду линейной зависимости) изменяется от ИМС к ИМС из-за... вот тут я плохо распарсил, что-то там с тех.процессом изготовления связано. Ага, дальше. Встроенный датчик температуры больше подходит для определения изменений температуры, а не её абсолютных значений. Если нужны точные измерения температуры, то должен использоваться внешний температурный датчик. _ Первёл таки тот кусок)) - у разных ИМС разница смещений графика зависимости температуры могут доходить до 45 градусов. обещанная ссылка на документ http://www.st.com/web/en/resource/technica.../DM00115714.pdf
|
|
|
|
|
Sep 27 2015, 20:42
|
Местный
  
Группа: Участник
Сообщений: 328
Регистрация: 1-06-06
Из: USA
Пользователь №: 17 672

|
Цитата(smalcom @ Sep 27 2015, 15:33)  я поражён, вам реально впадлу открыть документ и прочитать. когда "разпадлица", тогда и заработает ваше устройство правильно.
--- у меня котик есть - тупит возле миски не редко, надо взять за загривок и тыкать в колбасу. а вот собака молодец - его не тыкать, от него прятать надо. только котику по жопке можно надавать для успокоения нервов, а с вас ни шерстяной грелки, ни молока.
--- про по жопке - это я пошутил конечно. а то тут есть индивиды, всем готовы айпи форумчан раздавать. пативэн под окном мне не нужен. Только один вопрос: кто и что полезное извлечет из этого поста? Боюсь, Вы напрасно беспокоились, а для любителей животных, наверное, другое место есть.
--------------------
|
|
|
|
|
Sep 27 2015, 20:44
|
Знающий
   
Группа: Свой
Сообщений: 639
Регистрация: 5-09-05
Пользователь №: 8 231

|
Посчитайте выходное сопротивление схемы, по докам от STM определите придел частоты АЦП и время выборки которое можно сделать, выкинте кондёр перед АЦП, если есть. Сам вначале плевался на АЦП от ST, после AVR, но почитав APP доки начиная от F1 и заканчивая F4 понял, что был не прав, теперь меряет с дельта 1 LSB, если входное аккум на макс. выборке. Зная хорошо пиндоский, стыдно не читать доки
|
|
|
|
|
Sep 27 2015, 21:02
|
Местный
  
Группа: Участник
Сообщений: 328
Регистрация: 1-06-06
Из: USA
Пользователь №: 17 672

|
Цитата(Rash @ Sep 27 2015, 16:44)  Посчитайте выходное сопротивление схемы, по докам от STM определите придел частоты АЦП и время выборки которое можно сделать, выкинте кондёр перед АЦП, если есть. Сам вначале плевался на АЦП от ST, после AVR, но почитав APP доки начиная он F1 и заканчивая F4 понял, что был не прав, теперь меряет с дельта 1 LSB, если входное аккум на макс. выборке. К моему глубокому сожалению, я примерно четверть века не занимаюсь электроникой...Тут, знаете ли, одни делают электронику и зовутся ЕЕ, другие софт и исключительно его. Вот это уже по моей части. Разбираться и читать схематику - это, конечно, обязательно, но более детальное знание предмета будет слишком. Также как и ЕЕ, пишущие код и называющие его программой...Практически, не встречал. А то что видел, то сильно глаза слезятся. Вот и не лезу не в свое дело. А схематику предлагаю, хотя она свободна в интернете.
--------------------
|
|
|
|
|
Sep 28 2015, 05:04
|
Гуру
     
Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025

|
Цитата(Golikov A. @ Sep 28 2015, 07:18)  так может пора к ее пойти и спросить что это за еерунда такая? У меня тоже разделение обязанностей, но как-то находим решения.... Так любой вменяемый инженер задаст те же вопросы. Придется либо отвечать по существу либо признаться в незнании предмета разговора. Там не получится как на тут сейчас форуме: Я программу для корректной проверки вопроса написать не умею и не хочу, схему понимать не должен и вам она не нужна, документацию читать не собираюсь, и вообще информации никакой не дам. Но ответ требую. pitt, хорошо заданный вопрос- это половина ответа. Попробуйте спросить еще раз, сопроводив вопрос информацией, список которой я уже приводил. И начните с доказательства наличия проблемы. Неправильный эксперимент, приводящий к обнаружению несуществующих проблем - это очень частое явление.
|
|
|
|
|
  |
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|