Jump to content
    

Нужна помощь по ADC stm32f303 )

6 часов назад, jcxz сказал:

Аппаратную фильтрацию, а не программную!

 

4 часа назад, MDD сказал:

STM32G4. У последнего семейства также есть аппаратный фильтр.

В самом деле? Именно аппаратный фильтр? Ткните носом, пожалуйста, где об этом написано.

Share this post


Link to post
Share on other sites

2 часа назад, adnega сказал:

Где компаратор?

Компаратор в составе АЦП XMC4xxx имеется.

3 минуты назад, Herz сказал:

В самом деле? Именно аппаратный фильтр? Ткните носом, пожалуйста, где об этом написано.

RM\VADC\Conversion Result Handling\Data Modification. XMC4500\XMC4700\XMC4800.

Цитата

The data resulting from conversions can be automatically modified before being used by
an application. Several options can be selected (bitfield DMM in register G0RCRy (y =
0 - 15) etc.) which reduce the CPU/DMA load required to unload and/or process the
conversion data.
• Standard Data Reduction Mode (for GxRES0 … GxRES15):
Accumulates 2, 3, or 4 result values within each result register before generating a
result interrupt. This can remove some noise from the input signal.
• Result Filtering Mode (FIR, for GxRES7, GxRES15):
Applies a 3rd order Finite Impulse Response Filter (FIR) with selectable coefficients
to the conversion results for the selected result register.
• Result Filtering Mode (IIR, for GxRES7, GxRES15):
Applies a 1st order Infinite Impulse Response Filter (IIR) with selectable coefficients
to the conversion results for the selected result register.
• Difference Mode (for GxRES1 … GxRES15):
Subtracts the contents of result register GxRES0 from the conversion results for the
selected result register. Bitfield DRCTR is not used in this mode.

 

Share this post


Link to post
Share on other sites

18 minutes ago, Herz said:

 

В самом деле? Именно аппаратный фильтр? Ткните носом, пожалуйста, где об этом написано.

 

У STM32G4 например в RM440.pdf. Этот акселератор напрямую не завязан на АЦП.

Quote

18.1 FMAC introduction
The filter math accelerator unit performs arithmetic operations on vectors. It comprises a
multiplier/accumulator (MAC) unit, together with address generation logic which allows it to
index vector elements held in local memory.
The unit includes support for circular buffers on input and output, which allows digital filters
to be implemented. Both finite and infinite impulse response filters can be realized.
The unit allows frequent or lengthy filtering operations to be offloaded from the CPU, freeing
up the processor for other tasks. In many cases it can accelerate such calculations
compared to a software implementation, resulting in a speed-up of time critical tasks.
18.2 FMAC main features
• 16 x 16-bit multiplier
• 24 + 2-bit accumulator with addition and subtraction
• 16-bit input and output data
• 256 x 16-bit local memory
• Up to three areas can be defined in memory for data buffers (two input, one output),
defined by programmable base address pointers and associated size registers
• Input and output buffers can be circular
• Filter functions: FIR, IIR (direct form 1)
• Vector functions: Dot product, convolution, correlation
• AHB slave interface
• DMA read and write data channels

А еще у этого семейства есть CORDIC сопроцессор.

Share this post


Link to post
Share on other sites

23 минуты назад, jcxz сказал:

Компаратор в составе АЦП XMC4xxx имеется.

Неа. Мне нужен быстрый. Вроде, в HRPWM что-то есть, но он не во всех МК есть и нет предусилителя.

Share this post


Link to post
Share on other sites

29 minutes ago, Herz said:

 

В самом деле? Именно аппаратный фильтр? Ткните носом, пожалуйста, где об этом написано.

Вот еще у Компэла стья есть:

https://www.compel.ru/lib/139617

Share this post


Link to post
Share on other sites

Простите, но цифровой фильтр - это не аппаратный фильтр. То есть, не аналоговый. Не понимаю, с какой стати Гребенников называет его аппаратным. Это математический инструмент, встроенный в МК, и работает уже с результатом оцифровки. Акселератор. То есть, по факту, программный, только работающий по встроенному алгоритму. Антиалиазинговый фильтр, к примеру, на таком не построишь.

Share this post


Link to post
Share on other sites

25 минут назад, Herz сказал:

Простите, но цифровой фильтр - это не аппаратный фильтр. То есть, не аналоговый. Не понимаю, с какой стати Гребенников называет его аппаратным. Это математический инструмент, встроенный в МК, и работает уже с результатом оцифровки. Акселератор. То есть, по факту, программный, только работающий по встроенному алгоритму. Антиалиазинговый фильтр, к примеру, на таком не построишь.

Аппаратный в том смысле, что выполняется самой периферией, а не CPU. В отличие от программного, требующего траты вычислительных ресурсов CPU.

Посмотрите - в 1-м посте ТС в ISR делает программно то, что на XMC АЦП может сделать самостоятельно. И выдать CPU уже готовый результат. Не нужно это на XMC. Вот о том и речь.

Share this post


Link to post
Share on other sites

Ясно, спасибо. Я уж подумал, и вправду что-то принципиально новое появилось в составе МК. Не интересно.

Share this post


Link to post
Share on other sites

11 hours ago, Herz said:

Простите, но цифровой фильтр - это не аппаратный фильтр. То есть, не аналоговый.

Цифровой аппаратный фильтр это ведь вполне устоявшийся термин. А для аналоговых фильтров можно использовать встроенные операционные усилители.  Например, в старших G4 их 6шт.

 

Share this post


Link to post
Share on other sites

14 часов назад, Herz сказал:

Ясно, спасибо. Я уж подумал, и вправду что-то принципиально новое появилось в составе МК. Не интересно.

Интересно, не интересно это ваше дело. Человеку нравятся XMC он и говорит его лучшие качества. 

Share this post


Link to post
Share on other sites

4 часа назад, MDD сказал:

А для аналоговых фильтров можно использовать встроенные операционные усилители.  Например, в старших G4 их 6шт.

Наверное, этот ускоритель действительно востребован, раз встроили.

Но вот на мой взгляд, было бы куда круче, если бы МК имел программируемый аналоговый фильтр перед АЦП. Это открывало бы новые возможности.

А обрабатывать/фильтровать уже полученные цифровые данные даже интереснее/гибче самому.

Share this post


Link to post
Share on other sites

03.02.2022 в 13:20, adnega сказал:

Нужен конденсатор на 100 нФ на землю на каждом входе АЦП.

Я сейчас проекты с аналоговыми узлами только на F303 делаю, и ничто меня не заставит даже посмотреть в сторону F100/103. Но 303 нужно научиться готовить.

Если есть желание разобраться - пишите тут - помогу чем смогу. Иначе не вижу смысла вам переходить с F1xx-серии, если на ней все работает.

К сожалению если вешать кондер, то измерять амплитуду сигнала с изменяемой частотой не получиться. Этот конденсатор также является фильтром для входного сигнала. С изменением частоты, изменяется и амплитуда.(

Share this post


Link to post
Share on other sites

Перед любым АЦП нужен фильтр, чтобы ограничить спектр. Частота сэмплирования должна быть в два раза выше максимальной частоты сигнала (по теореме Котельникова).

Если вы хотите максимальную скорость и дешевый конденсатор вам не подходит, то ставьте дорогой ОУ-повторитель на входе АЦП.

Если просто убрать конденсатор, то сигнал на входе будет изменяться быстро, но толку - если измерение будет вносить сложную помеху.

А какой частоте сигнала мы говорим? Какое выходное сопротивление источника сигнала?

Share this post


Link to post
Share on other sites

Нужно перед АЦП буфер повторитель на ОУ с RC фильтром на выходе. Тогда все норм будет.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...