STM32F4相对于STM32F1的改进不只一点点,为了便于初学者了解,我们比对相关资料将改进点进行了汇总。1 e5 \& g/ C+ E3 B, G: ]& q 2 k0 J: h9 ]: } F1采用Crotex M3内核,F4采用Crotex M4内核。2 s- _' }. e. ^$ c% g F1最高主频 72MHz, F4最高主频168MHz。 % }" C4 X' a+ K9 U% ~9 G \ F4具有单精度浮点运算单元,F1没有浮点运算单元。 F4的具备增强的DSP指令集。F4的执行16位DSP指令的时间只有F1的30%~70%。F4执行32位DSP指令的时间只有F1的25% ~ 60%。 F1内部SRAM最大64K字节, F4内部SRAM有192K字节(112K+64K+16K)。. x' y! f4 m& E f% Q F4有备份域SRAM(通过Vbat供电保持数据),F1没有备份域SRAM。 ) X ~: q8 r1 ?) i/ D, c6 k F4从内部SRAM和外部FSMC存储器执行程序的速度比F1快很多。F1的指令总线I-Bus只接到Flash上,从SRAM和FSMC取指令只能通过S-Bus,速度较慢。F4的I-Bus不但连接到Flash上,而且还连接到SRAM和FSMC上,从而加快从SRAM或FSMC取指令的速度。 F1最大封装为144脚,可提供112个GPIO;F4最大封装有176脚,可提供140个GPIO。 - R* z$ ?$ o4 Y' i. q F1的GPIO的内部上下拉电阻配置仅仅针对输入模式有用,输出时无效。而F4的GPIO在设置为输出模式时,上下拉电阻的配置依然有效。即F4可以配置为开漏输出,内部上拉电阻使能,而F1不行。 F4的GPIO最高翻转速度为84MHz,F1最大翻转速度只有18MHz。 F1最多可提供5个UART串口,F4最多可以提供6个UART串口。 F1可提供2个I2C接口,F4可以提供3个I2C接口。 F1和F4都具有3个12位的独立ADC,F1可提供21个输入通道,F4可以提供24个输入通道。F1的ADC最大采样频率为1Msps,2路交替采样可到2Msps(F1不支持3路交替采样)。F4的ADC最大采样频率为2.4Msps,3路交替采样可到7.2Msps。 F1只有12个DMA通道,F4有16个DMA通道。F4的每个DMA通道有4*32位FIFO,F1没有FIFO。 F1的SPI时钟最高速度为 18MHz, F4可以到37.5MHz。" W3 x+ s* `4 X } , m1 O7 B" A7 R5 Z F1没有独立的32位定时器(32位需要级联实现),F4的TIM2和TIM5具有32位上下计数功能。 1 o, @1 o; V3 `$ q F1和F4都有2个I2S接口,但是F1的I2S只支持半双工(同一时刻要么放音,要么录音),而F4的I2S支持全双工,放音和录音可以同时进行。$ L6 s7 A* [+ `, m 作为Cortex M3市场的最大占有者,ST公司在2011年又推出基于Cortex M4内核的STM32F4系列产品,相对与STM32F1/F2等Cortex M3产品,STM32F4最大的优势,就是新增了硬件FPU单元以及DSP指令,同时,STM32F4的主频也提高了很多,达到168Mhz(可获得210DMIPS的处理能力),这使得STM32F4尤其适用于需要浮点运算或DSP处理的应用,也被称之为:DSC,具有非常广泛的应用前景。 1 u5 d* t2 }- F$ } STM32F4相对于STM32F1,主要优势如下: 1, 更先进的内核。STM32F4采用Cortex M4内核,带FPU和DSP指令集,而STM32F1采用的是Cortex M3内核,不带FPU和DSP指令集。7 r3 t" _1 C# L + n4 s: [ w5 z# `) `& H6 K, U 2, 更多的资源。STM32F4拥有多达192KB的片内SRAM,带摄像头接口(DCMI)、加密处理器(CRYP)、USB高速OTG、真随机数发生器、OTP存储器等。1 ]& M/ u$ P) b( ?. b2 H1 Z# P6 Y 3 ]5 ]% ]1 G% ~0 ~1 E: g1 A 3, 增强的外设功能。对于相同的外设部分,STM32F4具有更快的模数转换速度、更低的ADC/DAC工作电压、32位定时器、带日历功能的实时时钟(RTC)、IO复用功能大大增强、4K字节的电池备份SRAM以及更快的USART和SPI通信速度。 4, 更高的性能。STM32F4最高运行频率可达168Mhz,而STM32F1只能到72Mhz;STM32F4拥有ART自适应实时加速器,可以达到相当于FLASH零等待周期的性能,STM32F1则需要等待周期;STM32F4的FSMC采用32位多重AHB总线矩阵,相比STM32F1总线访问速度明显提高。 / ~( B8 n Z( g. I1 }, K/ @ 5, 更低的功耗。STM32F40x的功耗为:238uA/Mhz,其中低功耗版本的STM32F401更是低到:140uA/Mhz,而STM32F1则高达421uA/Mhz。 : x. c ]! M. x" {) [ |
【经验分享】STM32F1 GPIO工作原理
【经验分享】STM32F0xx_DMA收发USART数据配置详细过程
【经验分享】STM32F1和STM32F4 区别
【经验分享】STM32F1系列之常用外设说明
【经验分享】STM32介绍
【经验分享】STM32F1x系列——Flash 模拟 EEPROM
【经验分享】STM32F1在MDK下新建标准库函数工程
【经验分享】stm32f1的存储器与复位
【经验分享】STM32F10X-架构
【经验分享】stm32F1 us延时函数