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

 
 
5 страниц V  « < 2 3 4 5 >  
Reply to this topicStart new topic
> Нелинейности внутреннего АЦП в STM32, STM32F103RET6 GH22S 9U
scifi
сообщение Feb 26 2014, 14:45
Сообщение #46


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(zWitCh @ Feb 26 2014, 18:40) *
Занизил частоту ADCCLK поделил на 16, все стало ок... Век живи век учись ;-)

Семён Семёныч! :-) Видимо, было превышение ADC clock 14 MHz max...
Go to the top of the page
 
+Quote Post
zWitCh
сообщение Feb 26 2014, 15:10
Сообщение #47


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 18-08-06
Пользователь №: 19 654



Цитата(scifi @ Feb 26 2014, 18:45) *
Семён Семёныч! :-) Видимо, было превышение ADC clock 14 MHz max...

очевидно именно это и произошло по собственному моему недосмотру и забывчивости, зато вот как интересно это проявилось :-)
Go to the top of the page
 
+Quote Post
Леонид Иванович
сообщение Mar 1 2014, 19:42
Сообщение #48


Местный
***

Группа: Участник
Сообщений: 318
Регистрация: 21-07-06
Из: Минск
Пользователь №: 18 986



Цитата(zWitCh @ Feb 25 2014, 19:41) *
И так на ножке PC5 через резистор в 10к подключен лабораторный источник


Большие резисторы на входе АЦП нужно использовать с осторожностью, особенно в сочетании с конденсаторами. Про это много написано в AN2834, свои соображения по этому поводу высказал тут: http://leoniv.livejournal.com/194681.html


--------------------
Go to the top of the page
 
+Quote Post
adnega
сообщение Mar 1 2014, 20:02
Сообщение #49


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(Леонид Иванович @ Mar 1 2014, 23:42) *
Большие резисторы на входе АЦП нужно использовать с осторожностью, особенно в сочетании с конденсаторами. Про это много написано в AN2834, свои соображения по этому поводу высказал тут: http://leoniv.livejournal.com/194681.html

Полностью согласен. Это очень важная особенность, не учитавая которую, АЦП начинает измерять фазы Луны.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Mar 2 2014, 18:59
Сообщение #50


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

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



Найдите у STMicroelectronics AN3137, там показано устройство АЦП. И, вообще, поиском слова ADC советую пройтись по их сайту. Например, AN1636 интересный документ. AN2719.
Go to the top of the page
 
+Quote Post
Леонид Иванович
сообщение Mar 2 2014, 21:22
Сообщение #51


Местный
***

Группа: Участник
Сообщений: 318
Регистрация: 21-07-06
Из: Минск
Пользователь №: 18 986



Документ AN3137 во многом повторяет AN2834. Там содержится такое же описание структуры АЦП, и даже та же ошибка в формуле для вычисления периода выборок с большой входной емкостью.


--------------------
Go to the top of the page
 
+Quote Post
ViKo
сообщение Mar 3 2014, 11:50
Сообщение #52


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

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



Цитата(Леонид Иванович @ Mar 3 2014, 00:22) *
Документ AN3137 во многом повторяет AN2834. Там содержится такое же описание структуры АЦП, и даже та же ошибка в формуле для вычисления периода выборок с большой входной емкостью.

У меня в разных местах лежали разные версии этого документа. В первой картинок с конденсаторами не было.
Посмотрел вашу статью. Похоже, вы не поняли их совета подключать большой внешний конденсатор. Такой, чтобы напряжение на нем не сильно изменялось при заряде внутреннего конденсатора УВХ, не более, чем половина младшего разряда. Этот совет "вреден" только тем, что сильно уменьшается полоса измеряемого сигнала.
Что творится в цепи сигнала до УВХ, значения не имеет (кроме помех соседям, и импульсной нагрузки ОУ). Важно, что мы имеем после УВХ.
Go to the top of the page
 
+Quote Post
Леонид Иванович
сообщение Mar 3 2014, 12:34
Сообщение #53


Местный
***

Группа: Участник
Сообщений: 318
Регистрация: 21-07-06
Из: Минск
Пользователь №: 18 986



Цитата(ViKo @ Mar 3 2014, 14:50) *
Этот совет "вреден" только тем, что сильно уменьшается полоса измеряемого сигнала.


Нет. Этот совет может быть вреден еще и тем, что способен привести к ошибке измерения по постоянному току. Большая емкость на входе АЦП обеспечит среднее значение напряжения, которое будет отличаться от измеряемого на величину Verr = Rin * Iin_avg, где Rin - сопротивление на входе АЦП (вместе с внутренним сопротивлением источника сигнала), Iin_avg - средний входной ток АЦП. Для худшего случая Iin_avg = Vref * Csh * Fs, где Vref - опорное напряжение, Csh - емкость УВХ, Fs - частота выборок АЦП.


--------------------
Go to the top of the page
 
+Quote Post
ViKo
сообщение Mar 3 2014, 13:06
Сообщение #54


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

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



Входной ток у АЦП - это ток заряда внутреннего конденсатора, во время выборки. Если бы напряжения на внешнем и внутреннем конденсаторах были равными, вообще никакого тока не было бы.
Это не постоянная величина. Здесь ошибка.

Если источник сигнала (с его внутренним сопротивлением, или дополнительным последовательным резистором) способен зарядить внешнюю большую емкость за время от выборки к выборке, то почему он не справится с суммой внешней и маленькой внутренней? Если не справляется и с внешней - это и есть ограничение полосы.

В AN2834 пишут про то, что заряд с внутренней емкости может подзаряжать внешнюю, если слишком часто делать выборки. Это уже для случая большого сопротивления источника. Но не настолько большого, чтобы не успевать заряжать внешнюю емкость.

Если же говорить о постоянном входном токе АЦП (утечки, и т.п.), то он создает на сопротивлении источника постоянную ошибку. Это уже не зависит от емкостей вообще никак.
Go to the top of the page
 
+Quote Post
Леонид Иванович
сообщение Mar 3 2014, 14:25
Сообщение #55


Местный
***

Группа: Участник
Сообщений: 318
Регистрация: 21-07-06
Из: Минск
Пользователь №: 18 986



Цитата(ViKo @ Mar 3 2014, 16:06) *
Если бы напряжения на внешнем и внутреннем конденсаторах были равными, вообще никакого тока не было бы.


Верно. Но после процесса преобразования заряд внутреннего конденсатора в общем случае не равен начальному, который был в конце выборки. Более того, при мультиплексировании каналов этот заряд зависит от входного напряжения предыдущего канала. Т.е. входной ток есть, и он зависит как от входного напряжения данного канала, так и от входного напряжения предыдущего канала.

Цитата(ViKo @ Mar 3 2014, 16:06) *
Это не постоянная величина. Здесь ошибка.


Понятное дело, что не постоянная, я же написал: "для худшего случая".

Цитата(ViKo @ Mar 3 2014, 16:06) *
Если источник сигнала (с его внутренним сопротивлением, или дополнительным последовательным резистором) способен зарядить внешнюю большую емкость за время от выборки к выборке


Если способен зарядить с точностью до 1/2 LSB, то ошибки нет. Но с повышением частоты выборок появляется ошибка. Я предложил простую формулу, основанную на расчете среднего входного тока АЦП, которая дает оценку максимальной допустимой частоты выборок для конкретного Rin при условии Cext >> Csh.

Цитата(ViKo @ Mar 3 2014, 16:06) *
Если не справляется и с внешней - это и есть ограничение полосы.


Ограничение полосы - это совсем другое. Можно взять две разных RC-цепочки с одинаковым тау, но с разным соотношением R и C. Они будут иметь одинаковую частоту среза. Но одна будет давать погрешность по DC, другая - нет. Это зависит от R.

Цитата(ViKo @ Mar 3 2014, 16:06) *
Если же говорить о постоянном входном токе АЦП (утечки, и т.п.)


Ток утечек я вообще не рассматриваю из-за его малости.


--------------------
Go to the top of the page
 
+Quote Post
ViKo
сообщение Mar 3 2014, 17:46
Сообщение #56


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

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



Цитата(Леонид Иванович @ Mar 3 2014, 17:25) *
Я предложил простую формулу, основанную на расчете среднего входного тока АЦП, которая дает оценку максимальной допустимой частоты выборок для конкретного Rin при условии Cext >> Csh.

Нужно вот как считать. Внутренний конденсатор в конце преобразования Csh заряжен до некоего значения (наверное, до половины опорного), имеет заряд
Q = Uh * Csh
В режиме выборки внешний конденсатор Cext подключается к внутреннему, и внутренний заряд распределяется между обоими конденсаторами. Напряжение (без учета того, что уже есть на Cext, посчитаем выброс при выборке) будет рассчитываться так:
Uh * Csh = Us * (Csh + Cext)
Us = Uh * (Csh / Csh + Cext)
Чем больше внешний конденсатор, тем меньший выброс на входе АЦП будет при переключении в режим выборки.
Резистор Rin в расчете выброса не участвует. Он определяет наклон, с которым выброс спадает. Чем меньше резистор, тем короче выброс, согласно постоянной времени Rin * (Csh + Cext).
Go to the top of the page
 
+Quote Post
Леонид Иванович
сообщение Mar 3 2014, 21:54
Сообщение #57


Местный
***

Группа: Участник
Сообщений: 318
Регистрация: 21-07-06
Из: Минск
Пользователь №: 18 986



Цитата(ViKo @ Mar 3 2014, 20:46) *
Чем больше внешний конденсатор, тем меньший выброс на входе АЦП будет при переключении в режим выборки.


Я говорил про случай, когда Cext >> Csh и выброс не превышает 1/2 LSB. Т.е. по причине выброса ошибки нет вообще. Но, тем не менее, ошибка появляется, если Rin > Vlsb / (2 * Vref * Csh * Fs). И эта ошибка не зависит от Cext, а только от Rin и Fs. Скажем, при частоте выборок 1 кГц ошибка начнет появляться при увеличении Rin выше 15 кОм. И никаким увеличением емкости на входе АЦП ее не устранить.

Сообщение отредактировал Леонид Иванович - Mar 4 2014, 09:52


--------------------
Go to the top of the page
 
+Quote Post
ViKo
сообщение Mar 4 2014, 08:03
Сообщение #58


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

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



Если от Cext не зависит, то почему вы назвали совет повесить дополнительный конденсатор "вредным"?

Если нет выброса, откуда возьмется ошибка?

В ваших формулах фигурирует Fs. Напоминаю еще раз, что ток идет только во время выборки. Во время преобразования тока нет. А источник заряжает внешний конденсатор постоянно.

Ваша формула годится для постоянного тока, заряжающего (разряжающего) внутренний конденсатор. В данном случае это не так.

Цитата(Леонид Иванович @ Mar 4 2014, 00:54) *
Скажем, при частоте выборок 1 кГц ошибка начнет появляться при увеличении Rin выше 8 кОм.

Можете показать на спайс-модели?
Go to the top of the page
 
+Quote Post
Леонид Иванович
сообщение Mar 4 2014, 09:02
Сообщение #59


Местный
***

Группа: Участник
Сообщений: 318
Регистрация: 21-07-06
Из: Минск
Пользователь №: 18 986



Цитата(ViKo @ Mar 4 2014, 11:03) *
Если от Cext не зависит, то почему вы назвали совет повесить дополнительный конденсатор "вредным"?


Потому что Вы невнимательно читали то, что я написал. Возможны два случая, когда ошибка будет отсутсвовать: это или маленькая емкость Cext (в пределе - только емкость УВХ), которая успевает заряжаться с точностью лучше 1/2 LSB за время выборки, или большая емкость Cext, которая за время выборки разряжается менее чем на 1/2 LSB. В первом случае на величину ошибки влияет значение RC и время выборки, период выборок значения не имеет. Во втором случае имеет значение период выборок и величина R, время выборки значения не имеет. "Вредным" Cext может оказаться в первом случае, его добавление может привести к появлению заметной ошибки.

Цитата(ViKo @ Mar 4 2014, 11:03) *
Если нет выброса, откуда возьмется ошибка?


Уф, который раз уже... Ошибка возмется из-за среднего входного тока АЦП. Во время каждой выборки через входной пин АЦП проходит некий заряд. Если этот заряд умножить на частоту выборок, получим средний входной ток.

Цитата(ViKo @ Mar 4 2014, 11:03) *
В ваших формулах фигурирует Fs. Напоминаю еще раз, что ток идет только во время выборки. Во время преобразования тока нет. А источник заряжает внешний конденсатор постоянно.


Так и есть. Между Cext и Csh течет импульсный ток, а между источником сигнала и Cext - практически постоянный. Вот этот ток и создает падение на Rin, что приводит к ошибке.

Цитата(ViKo @ Mar 4 2014, 11:03) *
Ваша формула годится для постоянного тока, заряжающего (разряжающего) внутренний конденсатор. В данном случае это не так.


Моя формула для среднего входного тока, который по переносу заряда в единицу времени соответствует импульсному входному току АЦП.

Цитата(ViKo @ Mar 4 2014, 11:03) *
Можете показать на спайс-модели?


Легко. И на модели, и вживую на плате с STM32. Вот скриншот результатов моделирования, схему модели приводил у себя в LJ.

Сообщение отредактировал Леонид Иванович - Mar 4 2014, 09:04
Эскизы прикрепленных изображений
Прикрепленное изображение
 


--------------------
Go to the top of the page
 
+Quote Post
ViKo
сообщение Mar 4 2014, 09:50
Сообщение #60


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

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



Если не трудно, покажите, что будет при Cext = 200 uF
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 07:56
Рейтинг@Mail.ru


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