1.F3系列介绍 The STM32 F3 seriescombines a 32-bit ARM® Cortex®-M4 core (with FPU and DSP instructions) runningat 72 MHz with a high number of integrated analog peripherals leading to costreduction at application level and simplifying application design. + w* A* ^* M+ X w. \ 以上是官网对STM32F3系列的简单介绍,可见,STM32F3是ST公司出产的一系列性能较好的MCU,对其属于模拟电路部分的外设进行了增强。比如STM32F303中有四个可以程控增益的运算放大器。STM32F3系列MCU应用不如F4系列那么广泛,因此相关的网上学习资料也较少。本人经过短时间的接触后,对这一系列单片机有了一些了解。本文就是将本人对STM32F3系列(主要是STM32F303)芯片中的运放(OPAMP)的一些简单理解分享出来,帮助更多的人。* d" v8 E& k/ | 大多数参考资料都是来自ST公司的官方网站,由于参考资料都是英文,而本人的英语水平欠佳,所以并没有完整地翻译参考资料。同时,文章中难免有叙述不到位或不准确的部分。对于文中的谬误请大家多多包涵,不吝批评,我会加以改正。* r- }+ U5 a3 t5 k; y/ ? 由于手头有一块ST公司的STM32F3DISCOVERY板,它上面的MCU型号是STM32F303VCT6,因此本文主要针对的是STM32F303芯片。 # |& _+ E) Y" v) i! w http://www.st.com/en/evaluation- ... sc=stm32f3discovery 2.运算放大器(OPAMP)2 x5 a, e4 U m' L 5 R. L; ?' @- P+ U4 b/ q 文章主要针对的是芯片内部的运放,因此对其他芯片的资源不做过多介绍,针对该款芯片的运放(OPAMP)做个简单介绍:4 ?# _" f9 T) i2 l% ] & Z% l: W r& M( A3 p- s l 0.5mA的输出能力; ^ {; u4 z5 a& p/ h) o l 轨到轨输入/输出 l 在程控增益模式(PGA),增益大小可设置为2,4,8,16$ S) S: _& d; ]: b: C7 \5 H 3 T* c- V2 A) k" E% Y 运算放大器的输入端输出端与MCU的IO的连接可以在MCU用户手册中找到,从手册提供的框图中也可以找到IO的连接方式,而且更加形象。这里以STM32F303中的一个运放模块为例,看看它的连接。 / _7 p+ |! L& a1 ? 图 STM32F303内部运放框图的一部分 主要看红框中的部分,梯形可以看成是多路输入一路输出的选择器。我们可以看到对于OPAMP1,同相输入端有四个IO口可以选择,分别是PA1,PA3,PA5,PA7(注意:根据手册上的一句话“The external gainsetting mode gives full flexibility to choose the amplifier configuration and feedbacknetworks.”根据这句话我认为这四个IO口中的任意一个都可以复用输入,由程序决定)。其中PA5可以复用为芯片内部DAC的一个输出端,PA7同时也能复用成OPAMP2的同相输入端。对于OPAMP1,它的反相输入端可以选择PA3,PC5之一。从图中可以看出,OPAMP1的输出可以直接连接到芯片内部的ADC模块,作为ADC的输入,同时也能将PA2复用为它的输出。从这种框图中可以很清楚地看出芯片内部各模块的连接,对于应用MCU帮助很大。) O+ i8 u: E0 n |- {4 t 若将片内运放的输出直接作为片内ADC的输入的话,需要同时使能ADC及运放,而且运放与ADC的连接是固定的,比如OPAMP1的输出连接到了片内ADC1的channel3上。 3.运放的工作模式. F9 `- M) _- f* | c0 e ; j. a( W# ^2 B# |% B% R" ? 接下来是应用片内运放,运放工作的三种模式:0 D- Y+ W+ E- S4 q8 x W l 独立模式,外接增益调整模块(大概是将运放单独拿出来,连接外部电路才能控制增益) c1 m$ u2 n& i/ G6 I Standalone mode (external gain setting mode)% R4 e& B; p, u1 C, ^ l 电压跟随模式 ( n: {0 `0 J ^. j2 B; s9 Y l 程控增益模式! e" L4 ?0 B6 a# n! K9 g, N ' D% i+ x5 o8 {7 _6 i% e4 J1 m" n 3.1独立模式 ^' c# b# S8 b( e2 M # N$ p8 A' x3 O1 d! y: ]# e5 h 图 运放处于独立模式时的说明图 $ u, \5 F/ G: h1 I! B4 @8 L看上图,上图是运放处于独立模式时的说明图片,为了便于说明,将实际工作的电路用红笔勾出(如图片下部分),可以很明显地看出这是一个基本的反相放大电路,它的增益由外部的两个电阻来确定,片内的运放只是作为一个独立的运放出现。当然也完全可以接成其他形式的放大电路。 7 I- `- S8 f* |9 u$ L" ?5 z 3.2跟随模式0 Z" ^8 {0 q! u' b$ l& C+ { 这个模式下运放作为一个电压跟随器,其增益为1。例如同相输入可以与DAC相连,使电路输出阻抗增大。' n; D1 _% {+ G J8 H; n 图 电压跟随模式的说明图 3.3程控增益模式 增益可以在2/4/8/16中选择,也可以用这个运放来做个有源滤波器。 - L8 X8 z0 p, o$ S 图 程控增益模式的说明图 / m2 z; X+ e' H 图 运放用作有源滤波器 ) V* O4 g( C, I1 h+ Z% K$ G3 k# k暂时写这么多,关于程序的方面下次再写,谢谢大家。 0 k# l8 G% Q, w& L 附 主要参考资料包括:0 L5 q9 F8 q P4 i DS10362: ARM® Cortex®-M4 32b MCU+FPU, up to 512KB Flash, 80KB SRAM,FSMC, 4 ADCs, 2 DAC ch., 7 comp, 4 Op-Amp, 2.0-3.6 V RM0316: STM32F303xB/C/D/E, STM32F303x6/8, STM32F328x8, STM32F358xC,STM32F398xE advanced ARM®-based MCUs8 h2 P& Q8 q$ O9 `! b6 V) M! S" q 上述文档由ST公司编写,并发布于其官网上。 7 x3 `! m, i; b" h* e) n1 B7 z 0 P. {4 Z9 M6 ^. W) r3 E 转载自CECEHANG" O! E2 t4 R& O; g w B |
楼主,能请教你,STM3F3系列使用独立运放功能,可以通过电阻搭配,将1mv电压增益放大100倍吗? |
这个PGA放大器有个BUG,就是PGA的参考电平竟然是接地的!一般来说,单电源的PGA的参考电平都是接1/2VCC,固定接地,就不太好用了!所以基本就成”鸡肋“了 ,不知G系列改进没有? |
基于STM32F334的数字电源
STM32F3DISCOVERY + UCGUI3.90A的移植(源码+视频)
基于STM32F303双电机FOC驱动: 无感原理图/BOM表/代码等开源...
【基于STM32F3的电机控制】_给力外围之 OPAMP
在 STM32 F0、 F2、 F3、 F4 和 L1 系列MCU 中使用硬件实时时钟 (RTC)
基于STM32F334的BUCK同步降压数字电源设计
ST FOC4.3 库关于 STM32F30x 系列 ICS采样代码的修改
STM32F334 上的 ADC 管脚和 DAC 管脚复用问题
如何使用USART或LPUART将STM32F0/F3/L0/L4微控制器从低功耗模式唤醒
在 STM32 F0、 F2、 F3、 F4 和 L1 系列 MCU 中使用硬件实时时钟 (RTC)