Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: STM32F301
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Evgenius_Alex
Здравствуйте!

Имеется задача корректно измерять сигналы с двух каналов (Канал 1 и Канал 2).

Время выборки и время преобразования в даташите приведены, а время переключения каналов - не нашёл.

В связи с этим 2 вопроса:

1.Чему равна частота корректных измерений по каждому из каналов?
Под словом корректный, я подразумеваю, является ли первое измерение првильным или его надо пропускать?
2. Какова длительность первого измерения? Отличается ли она от последуюших?

adnega
Можно ведь и два последовательных регулярных преобразования настроить. Настраиваете ADC и DMA, стартуете, а по окончании получаете результаты преобразования уложенные в вашем массиве.
Время переключения примите за 0. Но сам факт переключения не означает, что конденсатор выборки-хранения зарядится мгновенно.
Когда вы стартуете преобразование в течение времени выборки конденсатор выборки-хранения начнет заряжаться до напряжения источника через выходное сопротивление источника (по экспоненте). Когда ошибка будет в приемлемом диапазоне выборку можно заканчивать. Это время задается в настройках канала и производитель рекомендует определенные значения для разных выходных сопротивлений.

Если важна регулярность преобразований, то DMA с кольцевым буфером в помощь.
Evgenius_Alex
Цитата(adnega @ Dec 4 2014, 15:47) *
Можно ведь и два последовательных регулярных преобразования настроить. Настраиваете ADC и DMA, стартуете, а по окончании получаете результаты преобразования уложенные в вашем массиве.
Время переключения примите за 0. Но сам факт переключения не означает, что конденсатор выборки-хранения зарядится мгновенно.
Когда вы стартуете преобразование в течение времени выборки конденсатор выборки-хранения начнет заряжаться до напряжения источника через выходное сопротивление источника (по экспоненте). Когда ошибка будет в приемлемом диапазоне выборку можно заканчивать. Это время задается в настройках канала и производитель рекомендует определенные значения для разных выходных сопротивлений.

Если важна регулярность преобразований, то DMA с кольцевым буфером в помощь.


Вы написали: "Когда ошибка будет в приемлемом диапазоне выборку можно заканчивать. Это время задается в настройках канала и производитель рекомендует определенные значения для разных выходных сопротивлений."

Подскажите, пожалуйста, где искать это время, в каком документе, на какой странице?
В каком регистре задаются настройки конкретного канала? Речь идёт о регистрах ADC_SMPR1 и ADC_SMPR2?
Интересует кристалл STM32F301x6/x8.

И второй вопрос: входы АЦП, настроенные как дифференциальные, могут работать в режиме поочерёдного измерения?
adnega
Цитата(Evgenius_Alex @ Dec 4 2014, 17:02) *
Вы написали: "Когда ошибка будет в приемлемом диапазоне выборку можно заканчивать. Это время задается в настройках канала и производитель рекомендует определенные значения для разных выходных сопротивлений."

Подскажите, пожалуйста, где искать это время, в каком документе, на какой странице?
В каком регистре задаются настройки конкретного канала? Речь идёт о регистрах ADC_SMPR1 и ADC_SMPR2?
Интересует кристалл STM32F301x6/x8.

И второй вопрос: входы АЦП, настроенные как дифференциальные, могут работать в режиме поочерёдного измерения?

Рекомендации можно найти в DS->Electrical characteristics->Operating conditions->12-bit ADC characteristics.
Правда, сам я использовал STM32F373CB без дифференциального режима.
Код
Table 61. RSRC max for fADC = 14 MHz(Guaranteed by design, not tested in production)
Ts (cycles) tS (μs) RSRC max (kOhm)
1.5     0.11   0.4
7.5     0.54   5.9
13.5    0.96   11.4
28.5    2.04   25.2
41.5    2.96   37.2
55.5    3.96   50
71.5    5.11   50
239.5   17.1   50


Описание работы можно найти в RM.
arthedza
А можно ли проводить АЦ-преобразование по трем каналам сразу?
adnega
Конечно нет. Если только одновременно разными АЦП (их в контроллере несколько).
arthedza
Цитата(adnega @ Dec 9 2014, 14:38) *
Конечно нет. Если только одновременно разными АЦП (их в контроллере несколько).


Ну тогда же преобразования можно как-то развести по времени?
adnega
Цитата(arthedza @ Dec 9 2014, 17:02) *
Ну тогда же преобразования можно как-то развести по времени?

Можно. Вам не кажется, что мы уже по кругу обсуждаем?
Разные сигналы приходят на разные каналы, АЦП можно настроить на последовательное преобразование до 16 каналов, длительность выборки по каждому каналу (типа, предзадержка) выставляется для каждого канала индивидуально.
Можно почитать с картинками тут, но полноценного RM, это не заменит. К тому же у вас F3 - он полу-аналоговый)
arthedza
Цитата(adnega @ Dec 9 2014, 17:46) *
Можно. Вам не кажется, что мы уже по кругу обсуждаем?
Разные сигналы приходят на разные каналы, АЦП можно настроить на последовательное преобразование до 16 каналов, длительность выборки по каждому каналу (типа, предзадержка) выставляется для каждого канала индивидуально.
Можно почитать с картинками тут, но полноценного RM, это не заменит. К тому же у вас F3 - он полу-аналоговый)


Спасибо) Конкретно у меня — F0, я не топикстартер)
adnega
Цитата(arthedza @ Dec 9 2014, 22:10) *
я не топикстартер)

Упс, перепутал. Смотрю ник знакомый - я за вашим измерением частоты в соседней ветке наблюдаю)
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.