Страница 1 из 2
Краткий вопрос по ЦАП и АЦП в cortex M4
Добавлено: Пн июл 07, 2014 10:58:41
Pink-Pank
Добрый день! курю мануал по данному девайсу. В описании ЦАПа не понятна вот такая запись:
Once the DAC channelx is enabled, the corresponding GPIO pin (PA4 or PA5) is automatically connected to the analog converter output (DAC_OUTx). In order to avoid parasitic consumption, the PA4 or PA5 pin should first be configured to analog (AIN).
Не совсем понятно последнее предложение. Я так понимаю, что для уменьшения потребления выходной пин ЦАПа изначально сконфигурирован в аналоговый вход? Или как это понять?
И вопрос по АЦП. Есть там нога REF-. В описании говорится, что
The lower/negative reference voltage for the ADC, VREF– = VSSA
Т.е. должна быть равна уровню потенциала на аналоговой земле. А зачем тогда эта нога вообще нужна? Я предполагаю, что для осуществления измерений переменного напряжения. т.е. при помощи нее можно было бы задать какую-то среднюю точку. но как тогда быть с тем, что она должна быть равна нулю? Поясните, кто разобрался. Что будет, если на нее подать отрицательный потенциал относительно земли? какой максимальный уровень может на ней присутствовать?
Re: Краткий вопрос по ЦАП и АЦП в cortex M4
Добавлено: Пн июл 07, 2014 11:51:30
balmer
Pink-Pank писал(а):
Не совсем понятно последнее предложение. Я так понимаю, что для уменьшения потребления выходной пин ЦАПа изначально сконфигурирован в аналоговый вход? Или как это понять?
Нет, это значит, что ты сначала должен сконфигурировать ножку процессора как Analog Input. Код такой примерно такой.
Код: Выделить всё
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1 ;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AN;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL ;
GPIO_Init(GPIOB, &GPIO_InitStructure);
Pink-Pank писал(а):
И вопрос по АЦП. Есть там нога REF-.
Это нужно для того, чтобы разделить аналоговую и цифровую землю. Там ставят обычный LC фильтр, как и при делении на аналоговое и цифровое питание. Отрицательное напряжение туда не нужно подавать, только защитный диод сгорит.
Re: Краткий вопрос по ЦАП и АЦП в cortex M4
Добавлено: Пн июл 07, 2014 12:01:19
Pink-Pank
Нет, это значит, что ты сначала должен сконфигурировать ножку процессора как Analog Input
Так ЦАП сам же подключается к нужной ноге.. Дополнительно ничего настраивать не надо..
для того, чтобы разделить аналоговую и цифровую землю.
А для аналоговой земли же там отдельная нога.. Vssa
И в корпусах с количеством выводов меньше 176 этой ноги вообще нет... (смотрю 405-407 серию)
Re: Краткий вопрос по ЦАП и АЦП в cortex M4
Добавлено: Пн июл 07, 2014 12:07:16
HHIMERA
Pink-Pank писал(а):А для аналоговой земли же там отдельная нога.. Vssa
Это пин МК... а аналоговая земля это правила разводки платы... Земля может быть и не одна, и не две...
Re: Краткий вопрос по ЦАП и АЦП в cortex M4
Добавлено: Пн июл 07, 2014 12:35:03
Pink-Pank
Кажется догадался, пин задает среднюю точку. Средняя точка не может быть меньше 0 и больше Vref+
Или все-таки нижний потенциал, относительно которого меряется напряжение?
Re: Краткий вопрос по ЦАП и АЦП в cortex M4
Добавлено: Пн июл 07, 2014 15:43:01
balmer
Pink-Pank писал(а):
Так ЦАП сам же подключается к нужной ноге.. Дополнительно ничего настраивать не надо..
DAC сам подключается. Но вот триггер Шмита, который ответственен за определение - логическая 0 или 1 на этом пине - сам не отключается. Впрочем если используется буферный усилитель встроенный - это неважно.
Re: Краткий вопрос по ЦАП и АЦП в cortex M4
Добавлено: Пн июл 07, 2014 16:02:08
Pink-Pank
Пробовал использовать без буфера - все норм работает..
А еще вопрос появился про регулярные и инжектированные группы. В чем отличие? За исключением того, что регулярные пишут значения в один регистр, а инжектированные в 4 разных?
Re: Краткий вопрос по ЦАП и АЦП в cortex M4
Добавлено: Пн июл 07, 2014 17:20:44
uk8amk
Инжектированная группа может прерывать преобразование регулярной. После обработки инжектированной насколько помню преобразование регулярной возобновляется. Еще для каждого результата имеется регистр смещения, это значение вычитается из результата. И источники запуска у них различаются.
Re: Краткий вопрос по ЦАП и АЦП в cortex M4
Добавлено: Пн июл 07, 2014 17:28:11
Pink-Pank
Да, я ознакомился с этими возможностями, но это частности. А в целом - один фиг каналы последовательно опрашиваются. Если бы одновременно все 4 инжектированных канала мерились... А по поводу пина Vref- кто-то что-нибудь скажет?
Re: Краткий вопрос по ЦАП и АЦП в cortex M4
Добавлено: Пн июл 07, 2014 17:43:04
uk8amk
Ну собственно этим и различается.
Одновременно все 4 канала можно измерить только 4-мя АЦП. А у камня ведь перед АЦП мультиплексор стоит. Вот им по очереди и выбираете каналы. Были жирные камушки с двойным АЦП, выходит что ими одновременно 2 канала измерить можно.
По поводу Vref-, он танется отдельной дорожкой до аналоговой земли ИОН(например REF196) для уменьшения цифровых шумов и прочей гадости. Но если у вас малоногие корпуса, то искать его бесполезно, он уже внутри соединен к VSSA.
Добавлено: Пн июл 07, 2014 17:54:34
Вот тут описывается как правильно какой пин куда подключать:
AN2834
Application note
How to get the best ADC accuracy
in STM32F10xxx devices
Re: Краткий вопрос по ЦАП и АЦП в cortex M4
Добавлено: Пн июл 07, 2014 18:03:46
Pink-Pank
для уменьшения цифровых шумов и прочей гадости.
Так в корпусах с большим количеством ног присутствуют и Vssa и Vref-... Получаются две земли.. Отсюда и вопросы, нафига...

Должен же быть какой-то сокровенный смысл этого.. Почему, как у ЦАПа не оставить просто Vssa?
Re: Краткий вопрос по ЦАП и АЦП в cortex M4
Добавлено: Пн июл 07, 2014 18:27:24
uk8amk
Что конкретно двигало инженерами ST при разработки кристалла мне неизвестно, но предположить могу следующее.
На картинке из даташита видно:
6.1.6 Power supply scheme
Figure 9. Power supply scheme
что VDDA и VSSA питают не только АЦП, но и ЦАП и схему тактирования(HSE,PLL etc.). Следовательно все их помои пойдут на VREF-/VREF+. Это не так заметно для 12 битного АЦП, но 16-битные сигма-дельта преобразователи будут хорошо видеть шум. Поэтому отдельная дорожка до точки соединения земель поможет улучшить шумовые параметры.
Re: Краткий вопрос по ЦАП и АЦП в cortex M4
Добавлено: Пн июл 07, 2014 20:51:57
Pink-Pank
Слабо, конечно, верится, но все-таки обнадежили..

Спасибо! )
Re: Краткий вопрос по ЦАП и АЦП в cortex M4
Добавлено: Вт июл 08, 2014 08:55:09
Pink-Pank
А кто подскажет вот в этом месте:
Clock for the analog circuitry: ADCCLK, common to all ADCs. This clock is generated from the APB2 clock divided by a programmable prescaler that allows the ADC to work at fPCLK2/2, /4, /6 or /8. Refer to the datasheets for the maximum value of ADCCLK.
просматривал раздел по тактированию, не нашел там информации про АЦП.
Насколько я понял, АЦП берет для аналоговой части тактовый сигнал из APB2. И в каком-то регистре можно установить делитель для АЦП. Что за тактовый сигнал fPCLK2? Я так понимаю, это сигнал этой шины? И где регистр для деления частоты АЦП на 2, 4, 6 или 8? Для ABP2 прескалеры такие: 1, 2, 4, 8, 16.. А где для АЦП?

Ткните куды надо, плиз!
Спойлер

Re: Краткий вопрос по ЦАП и АЦП в cortex M4
Добавлено: Вт июл 08, 2014 10:56:37
balmer
Дык берем первый попавшийся сэмпл и смотрим
Например открыл ADC3_DMA из STM32F4-Discovery_FW_V1.1.0.
Видим код:
Код: Выделить всё
ADC_CommonInitStructure.ADC_Mode = ADC_Mode_Independent;
ADC_CommonInitStructure.ADC_Prescaler = ADC_Prescaler_Div2;
ADC_CommonInitStructure.ADC_DMAAccessMode = ADC_DMAAccessMode_Disabled;
ADC_CommonInitStructure.ADC_TwoSamplingDelay = ADC_TwoSamplingDelay_5Cycles;
ADC_CommonInit(&ADC_CommonInitStructure);
Лезем в ADC_CommonInit и смотрим куда пишется ADC_Prescaler.
ADC->CCR = ...
Ага Bits 17:16 ADCPRE: ADC prescaler в регистре ADC_CCR
Re: Краткий вопрос по ЦАП и АЦП в cortex M4
Добавлено: Вт июл 08, 2014 12:34:30
Pink-Pank
Спасиб! А вот ЦАП. Если ножку порта на выход настроить, подать 1 или 0, а потом включить ЦАП с определенным уровнем. Бо-бо будет? Или все лишнее само отключится?
Re: Краткий вопрос по ЦАП и АЦП в cortex M4
Добавлено: Сб июл 12, 2014 12:43:54
Pink-Pank
Что, никто не знает?
Re: Краткий вопрос по ЦАП и АЦП в cortex M4
Добавлено: Сб июл 12, 2014 13:18:27
oleg110592
Документация знает:
Note: Once DAC_Channelx is enabled, the corresponding GPIO pin (PA4 or PA5) is automatically
connected to the analog converter output (DAC_OUTx). In order to avoid parasitic
consumption, the PA4 or PA5 pin should first be configured to analog (AIN).
Re: Краткий вопрос по ЦАП и АЦП в cortex M4
Добавлено: Пн июл 14, 2014 09:56:11
Pink-Pank
А когда ЦАП выключаем, предыдущие настройки возвращаются или нет?

Re: Краткий вопрос по ЦАП и АЦП в cortex M4
Добавлено: Пн июл 14, 2014 10:46:44
oleg110592
выключение ЦАП на настройки ног никак не влияет - настройки ног делаем тоже ручками