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

 
 
> АЦП: 8 выборок последовательно, Обзор микроконтроллеров
repairDV
сообщение Apr 9 2008, 05:35
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 578
Регистрация: 7-11-06
Из: Хабаровск
Пользователь №: 22 044



Здравствуйте. У 56F8xx-серии микроконтроллеров Freescale имеется 12-разрядная АЦП. АЦП-шка, конечно, дрянь, в том смысле, что если делать однократную выборку, то результат не имеет ничего общего с истиной. Freescale объясняет это влиянием паразитных емкостей во входных цепях. Но они вышли из положения другим способом. У АЦП имеется возможность делать последовательно 8 выборок, при этом под результат каждой имеются свои регистры запоминания. Истинное значение получается уже в двух последних выборках, все остальные можно смело игнорировать. Лично я делаю так: складываю результаты 7 и 8 выборок, делю на 2 и получается результат, по стабильности аналогичный АЦП 12-тактовых 51-х контроллеров. А что может быть стабильнее 12-тактовой 51-й серии?
Таким образом, если время одной выборки равно 1/5мгц = 200 нс, то время 8 выборок 200нс*8 = 1,6 мкс.
Есть ли у других фирм микроконтроллеры с такими возможностями?


--------------------
Маленький нанайца. А-а. А-а. Оморочком плыл. Маленький проточка. Осетра ловил.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Сергей Борщ
сообщение Apr 9 2008, 07:37
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(repairDV @ Apr 9 2008, 08:35) *
Есть ли у других фирм микроконтроллеры с такими возможностями?
Из тех, с которыми я работал: MSP430 - 16 ячеек, для каждой индивидуально указывается номер канала и входы опоры. AT91SAM7 - при чтении через DMA перебирает по кругу все включенные каналы. Количество запомненных результатов ограничивается только размером свободной памяти.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
repairDV
сообщение Apr 9 2008, 08:57
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 578
Регистрация: 7-11-06
Из: Хабаровск
Пользователь №: 22 044



Цитата(Сергей Борщ @ Apr 9 2008, 18:37) *
MSP430 - 16 ячеек, для каждой индивидуально указывается номер канала и входы опоры. AT91SAM7 - при чтении через DMA перебирает по кругу все включенные каналы. Количество запомненных результатов ограничивается только размером свободной памяти.

Я пропустил: имелся в виду один канал. Последовательно 8 выборок по одному каналу.

Здесь смысл в том, что точной оцифровке при одной выборке мешают паразитные влияния, если сделать подряд 8 выборок по одному каналу, то ёмкости по входам успевают зарядиться-разрядиться и мы в последних выборках имеем реальные значения.


--------------------
Маленький нанайца. А-а. А-а. Оморочком плыл. Маленький проточка. Осетра ловил.
Go to the top of the page
 
+Quote Post
SSerge
сообщение Apr 9 2008, 09:07
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 719
Регистрация: 13-09-05
Из: Novosibirsk
Пользователь №: 8 528



Цитата(repairDV @ Apr 9 2008, 15:50) *
Я пропустил: имелся в виду один канал. Последовательно 8 выборок по одному каналу.

Для MSP430 с его ADC12 это просто частный случай. Можно запрограммировать выборку с разных аналоговых входов в любом порядке, в том числе и всегда с одного и того-же.
Более того, DMA можно заставить пересылать данные из регистров результата АЦП не только в ОЗУ, но и в регистр аппаратного умножителя-сумматора. После старта АЦП останется только дождаться прерывания по окончанию пересылки канала DMA и забрать из умножителя-сумматора готовую сумму всех N отсчётов.

update:
Что же до зарядки внутренних ёмкостей, то здесь это выглядит несколько иначе. При низкоомном источнике сигнала время выборки для получения 12-разрядной точности порядка 1мкс.
Если же у источника внутренне сопротивление большое то совсем не обязательно делать подряд несколько преобразований, можно просто увеличить время выборки, оно программируется в довольно широких пределах ( 4, 8, 16 ... 1024 такта).

Вообще, на MSP430 очень интересная периферия, конструкция из таймеров, АЦП, ЦАП, DMA и MAC (умножитель 16*16->32 с сумматором-аккумулятором) позволяет многое делать вообще без участия процессора. К хорошему очень быстро привыкаешь и этой гибкости уже начинает не хватать.. smile.gif


--------------------
Russia est omnis divisa in partes octo.
Go to the top of the page
 
+Quote Post
repairDV
сообщение Apr 9 2008, 09:44
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 578
Регистрация: 7-11-06
Из: Хабаровск
Пользователь №: 22 044



Цитата(SSerge @ Apr 9 2008, 20:07) *
Что же до зарядки внутренних ёмкостей, то здесь это выглядит несколько иначе. При низкоомном источнике сигнала время выборки для получения 12-разрядной точности порядка 1мкс.
Если же у источника внутренне сопротивление большое то совсем не обязательно делать подряд несколько преобразований, можно просто увеличить время выборки, оно программируется в довольно широких пределах ( 4, 8, 16 ... 1024 такта).

И результат реальный?

Если напряжение по входу АЦП постоянное, то меняются ли показания АЦП и на сколько разрядов?


--------------------
Маленький нанайца. А-а. А-а. Оморочком плыл. Маленький проточка. Осетра ловил.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Apr 9 2008, 10:05
Сообщение #6


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(repairDV @ Apr 9 2008, 12:44) *
Если напряжение по входу АЦП постоянное, то меняются ли показания АЦП и на сколько разрядов?
12 бит. Я получал +-1LSB. На входе стоял усилитель с Ку~100, сколько из этого шума вносил он - затрудняюсь сказать.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
repairDV
сообщение Apr 9 2008, 10:18
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 578
Регистрация: 7-11-06
Из: Хабаровск
Пользователь №: 22 044



Цитата(Сергей Борщ @ Apr 9 2008, 21:05) *
12 бит.

Мать честная...
А у 56f803 у меня на модели - изредка прыгает только младший разряд.


--------------------
Маленький нанайца. А-а. А-а. Оморочком плыл. Маленький проточка. Осетра ловил.
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Apr 9 2008, 10:41
Сообщение #8


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(repairDV @ Apr 9 2008, 13:18) *
Мать честная...
А у 56f803 у меня на модели - изредка прыгает только младший разряд.

ну дык вам и ответили - +/- 1 LSB


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- repairDV   АЦП: 8 выборок последовательно   Apr 9 2008, 05:35
|- - Сергей Борщ   Цитата(repairDV @ Apr 9 2008, 13:18) А у ...   Apr 9 2008, 10:45
- - SSerge   TMS320F28xx из доки на TMS320F28044: · 12-bit ADC...   Apr 9 2008, 08:46
- - repairDV   Нет, опрос в цикле идёт по одному каналу. Делается...   Apr 9 2008, 11:01
|- - Сергей Борщ   Цитата(repairDV @ Apr 9 2008, 14:01) Если...   Apr 9 2008, 11:54
|- - repairDV   Цитата(Сергей Борщ @ Apr 9 2008, 22:54) Т...   Apr 9 2008, 12:02
- - SSerge   У меня на MSP430 было такое, что результаты АЦП за...   Apr 9 2008, 11:20
|- - repairDV   Цитата(SSerge @ Apr 9 2008, 22:20) Оказал...   Apr 9 2008, 11:26
- - mdmitry   Использовал MC56F8346. 14 каналов АЦП в работе, то...   Apr 9 2008, 19:14
|- - repairDV   Цитата(mdmitry @ Apr 10 2008, 06:14) Испо...   Apr 10 2008, 10:44
- - mdmitry   VDDA_OSC_PLL ПОДКЛЮЧЕН на питание через отдельный ...   Apr 10 2008, 11:25
- - repairDV   Спасибо. Ладно, будем думать дальше. Пока жду КИТы...   Apr 10 2008, 11:58


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

 


RSS Текстовая версия Сейчас: 18th July 2025 - 16:50
Рейтинг@Mail.ru


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