1.STM32F407ZG应用
电机驱动和应用控制
医疗设备
工业应用:PLC,变频器,断路器
打印机和扫描仪
报警系统,可视对讲,暖通空调
家用音响设备
2.STM32F407ZG概述
STM32F407ZG系列是基于高性能的ARM®Cortex™-M4F的32位RISC内核,工作频率高达168 MHz的。的Cortex-M4F核心功能支持所有ARM单精度数据处理指令和数据类型的单精度浮点单元(FPU)。它还实现了一套完整的DSP指令和内存保护单元(MPU),从而提高应用程序的安全性。
该STM32F407ZG系列采用高速嵌入式存储器(多达1 MB闪存,高达192 KB的SRAM),最多4字节的备份SRAM,以及广泛的增强I / O的连接到两条APB总线和外设,两个AHB总线和一个32位的多AHB总线矩阵。
所有STM32F407ZG设备提供3个12位ADC,两个DAC,1个低功耗RTC,12个通用16位定时器,其中包括两个用于电机控制的PWM定时器,两个通用32位定时器。一个真正的随机数发生器(RNG)。他们还配备了标准和先进的通信接口。
3.STM32F407ZG参数
STM32F407ZG存储器程序闪存(KB) 1024 RAM(KB) 192
STM32F407ZG性能参数,工作频率(兆赫) 168
16位定时器(IC / OC / PWM) 12(24/24/30)
32位定时器(IC / OC / PWM) 2(8/8/8)
A / D转换器 3X12位
D / A转换器 2X12位
通信接口 3xSPI 2xI2S 2xI2C; 4xUSART 2xUART 两个USB OTG(FS + FS / HS);
2xCAN 1xSDIO 以太网MAC10/100 的I / O 114
电压(V):1.8到3.6
4.STM32F407ZG封装与引脚
LQFP144
STM32F4是由ST(意法半导体)开发的一种高性能微控制器。其采用了90 纳米的NVM 工艺和ART(自适应实时存储器加速器,Adaptive Real-Time MemoryAccelerator™)。
简介:
ST(意法半导体)推出了以基于ARMreg; Cortex™-M4为内核的STM32F4系列高性能微控制器,其采用了90 纳米的NVM 工艺和ART(自适应实时存储器加速器,Adaptive Real-Time MemoryAccelerator™)。
ART技术使得程序零等待执行,提升了程序执行的效率,将Cortext-M4的性能发挥到了极致,
使得STM32 F4系列可达到210DMIPS@168MHz。
自适应实时加速器能够完全释放Cortex-M4 内核的性能;当CPU 工作于所有允许的频率(≤168MHz)时,在闪存中运行的程序,可以达到相当于零等待周期的性能。
STM32F4系列微控制器集成了单周期DSP指令和FPU(floating point unit,浮点单元),提升
了计算能力,可以进行一些复杂的计算和控制。
STM32 F4系列引脚和软件兼容于当前的STM32 F2系列产品。
优点
※兼容于STM32F2系列产品,便于ST的用户扩展或升级产品,而保持硬件的兼容能力。
※集成了新的DSP和FPU指令,168MHz的高速性能使得数字信号控制器应用和快速的产品开发达到了新的水平。提升控制算法的执行速度和代码效率。
※先进技术和工艺
- 存储器加速器:自适应实时加速器(ART Accelerator™ )
- 多重AHB总线矩阵和多通道DMA:支持程序执行和数据传输并行处理,数据传输速率非常快
- 90nm工艺
※高性能
- 210DMIPS@168MHz
- 由于采用了ST的ART加速器,程序从FLASH运行相当于0等待更多的存储器
- 多达1MB FLASH (将来ST计划推出2MB FLASH的STM32F4)
- 192Kb SRAM:128KB 在总线矩阵上,64KB在专为CPU使用的数据总线上高级外设与STM32F2兼容
- USB OTG高速 480Mbit/s
- IEEE1588, 以太网 MAC 10/100
- PWM高速定时器:168MHz最大频率
- 加密/哈希硬件处理器:32位随机数发生器(RNG)
- 带有日历功能的32位RTC:1 μA的实时时钟,1秒精度
※更多的提升
- 低电压:1.8V到3.6V VDD,在某些封装上,可降低至1.7V
- 全双工I2S
- 12位 ADC:0.41us转换/2.4Msps(7.2Msps在交替模式)
- 高速USART,可达10.5Mbits/s
- 高速SPI,可达37.5Mbits/s
- Camera接口,可达54M字节/s
stm32f407不能同时显示时钟和adc采样的原因是采样时间不接融。ADC时钟是设为9M2,ADC总转换时间=采样时间+12.5个ADC时钟周期(信号量转换时间),而采样时间由寄存器设定,最低1.5ADC周期,最大239.5ADC周期,也就是你程序中设置的55.5个采样周期。所以ADC一次采样的总采样时间是55.5+12.5=68个ADC周期,也就是68/9us3,所以,总采样时间最快就是1.5+12.5个ADC周期,最慢就是239.5+12.5个ADC周期。至于采样速率,是跟你的程序是有关的,比如ADC采样时间设定为最快,但可以设定1s采一次,那采样速率仍是1。再比如你开启扫描模式,跟单次转换又不一样。
将stm32f407插入grbl即可连接grbl。
拥有(F407ZGT6)1MB内置flash,以及192+4KB的运行内存,足以满足大部分需求。但是实际运用中有128KB可以使用,并且这里保存着运行过程中系统所占用的空间,所以实际可用空间低于128KB。stm32f407的主频通过PLL倍频后能够达168MHz,而且芯片内置一个16MHz的晶振和一个32KHz的晶振,可以满足不同功耗的需求。f407有3个12位精度的快速ADC,每一个ADC都拥有多个通道,并且这些ADC可以联合使用,满足不同的需求。
f407也拥有2个12位的DAC。f407也拥有2个DMA控制器,每个控制器都有属于自己的通道,每一个通道也就不同的流,这样就可以实现各种外设到内存,内存到外设等等不同的需求。f407提供高达17个定时器,其中有2个32位的定时器,定时器主频可以达到168MHz。GRBL是一款免费的开源软件,用于控制机器的运动、加工制造物体或使物体移动,并在各种微控制器上运行。GRBL用于为数千种不同的CNC雕刻机、车床、铣床、激光切割机、写字,画图机器人、3d打印机等提供动力。它本质上是开源数控机床的标准。
很多人都提到了STM32F407的ADC似乎精度不够。
原子的探索者开发教程里ADC一节最后也用红字提出了STM32F407的ADC精度不怎么好。
实际上STM32F407的ADC精准度真的不够吗?如果其精准度不够,那么其系统误差怎么测试计算?
实际上经过我一系列测试后发现:STM32F407的ADC足够精准,通过设置合理的参数之后,其ADC误差完全可以控制在±0.1%之内
在启动文件中,可以找到
startup_stm32f10x_hd.s
你看看你用的那个
中断
什么中断
。
用的什么类型的stm32
在启动文件中很容易找到
本文标签:stm32f407adcdma