STM32的基本知识,你了解吗
STM32简介
STM32是“意法半导体”生产的基于“ARM公司Cortex-M3内核”的32位高性能MCU。
ST——芯片制造商意法半导体,SOC厂商ARM——IP厂商,负责芯片内核设计的公司M——Microelectronics的缩写,指微控制器32——指它是一个32位的微控制器注意:51单片机是5V工作电压,而STM32是3.3V工作电压。STM32芯片结构,如下图所示。
STM32和ARM7的关系
ARM7和STM32的内核都是由ARM公司设计的。ARM7内核采用的是冯诺依曼结构(也就是计算机CPU采用的结构)而STM32采用的是哈佛结构。STM32是ARM公司设计出来取代ARM7的,所以它的性能优于ARM7。
Cortex-M3系列属于ARMv7架构,ARMv7架构的不同内核有不同的应用场合:
"M系列"对微控制器。“R系列”针对嵌入式实时操作系统他。“A系列”面向尖端的基于虚拟内存的操作系统和用户应用。传统的ARM7采用ARMv4T架构。由于51单片机最早出现在中国市场,导致很多人嵌入式学习路线是这样的:51单片机→ARM7→ARM9→ARM11。
Cortex-M3内核系列
STM32下的产品分类。
STM32与STM8产品特点
通过产品所需芯片的引脚数量和flash容量来粗略确定所需芯片。
STM32与STM8的分类,如下表。
STM32微处理器的命名规则
在这里我们以STM32F103C8T6为例来说明。
STM32内部结构
STM32内部集成JTAG/SW调试功能,32k到512k的flash。以及I2C、USB、CAN、数模转化等的功能。
STM32运行Linux
像Windows、MacOS、Linux、Android这些操作系统需要MMU才能跑。而FreeRTOS、ucOS、等不需要MMU。
ARM公司的Cortex-M3系列不带MMU故不能运行Linux。而Cortex-A系列如ARM9、ARM11带MMU,可以跑Linux。
STM32应用场景
智能手环、微型四轴飞行器、扫地机器人、工业自动化控制等场景下都有STM32的身影。
内核硬,性能高—盘点主流步进电机主控芯片
说到电机主控芯片,市面上国内国外对应的产品都非常多,很难用好或者不好来界定。电机种类的不同,应用场合的不同,功率等级的不同都影响着电机如何选择合适的主控芯片。如果只应用于消费级,能实现简单的六布控制,那普通的51单片机就能够实现。当需求提升到工业级,又或是提升到车规级,国际上各原厂又有不同的方案推出。
这里我们将切入口缩小一点,来看一看步进电机所应用的主流主控芯片。在上一期讨论步进电机转型闭环控制潮流的文章中,已经提到过,步进电机闭环一体化过程中,很多厂商采用32位的DSP做为主控芯片以满足设计复杂的浮点运算。当然,STM32也仍然以又小又好用的特点持续活跃在电机控制领域。
值得一提的是,快速傅里叶变换、PID控制器、电机控制库这些在STM32(F1/F2)里需要使用者自己写的东西,在DSP里直接就有C库。光是这些常见的高难度算法库就可以理解为什么DSP值得做出高溢价了。
书回正传,这里挑选一些主流大厂的步进电机主控芯片来做介绍。
TI系列
用在电机驱动上最多的还是TI C2000系列。很难界定这个系列到底属于MCU还是DSP。虽然官方把它分类到MCU,大概是因为C2000不需要接外部存储器就能自成系统。但C2000中有专门针对数字信号处理运算的汇编指令DMAC,而且为这种指令设计了专门的寻址方式,有了这种专门的指令,使得C2000在处理类似的运算时效率要比RISC指令集的普通MCU快很多,有这种专门针对数字信号处理算法设计的指令集的CPU理应属于DSP一类。
(图源:TI官网)
C2000 采用专有的32位内核 (C28x CPU),可以提供单周期操作和高达300MIPS的速度。这些实时单芯片控制解决方案具有强大的集成外设,可以说是专为各种控制应用而设计。除了C28x-CPU之外,这个系列还可以并行运行一个额外的 CPU (CLA-CPU),来减轻控制处理任务的负载。CLA-CPU能够以32位浮点格式高效执行控制数学运算,独立于C28x-CPU处理中断并访问如 ADC 和 PWM这些外设的资源。总体系统性能在并行CPU处理下得到了极大提升。
在驱动上C2000系列凝聚了多项技术的PWM模块支持高级计时和生成技术,以控制复杂的功率级,同时微边沿定位技术创建精确的 PWM 波形以提高系统性能。在传感上这个系列有高达12.5兆样本/秒 (MSPS) 的转换速率,采样分辨率覆盖12bit至16bit。TI C2000可以说是专为实时控制量身打造。
TI 的DSP系列从低功耗单核处理器覆盖到高性能多核DSP和Arm SoC。这些DSP器件在实时信号处理,并行信号处理这些高性能指标上足够强大。事件响应速度<10ns,功耗低于200µW/MHz,且执行效能大于12GFLOPs/W,同时还能提供高达200GFLOPS和400GMACS的性能。在步进电机向闭环,向一体化发展的潮流中,越来越多厂商开始选择电机专用DSP。
STM32
这一系列想必大家同样不会陌生。下图是STM32系列电机控制应用图示。
(图源:ST官网)
比较典型的电机控制芯片是单颗STM32F103,视情况加或者不加FPGA/CPLD,适用于单轴控制,这种方案在低成本驱动器中十分常见,满足基本的FOC控制还是没问题的。市面上中端主流通用型的比较常见的是STM32F4+FPGA的异构架构,适用于单轴或者双轴方案。
STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M内核。STM32F4的卖点主要是FPU和DSP指令集。F4系列的运行速度也很不错,能够在168MHz高速运行时达到210DMIPS的处理能力。对比TI的系列可以说价格上意法半导体的STM32F4更亲民。这两个主流的系列其实没什么太多好比较的,在步进电机控制都是主流硬通货。
TRINAMIC系列
TRINAMIC作为德国运动伺服控制的大神级别的供应商,在步进驱动芯片领域发挥了重要作用。
先挑单轴步进驱动芯片TMC2208-LA来看一下。
(图源:TRINAMIC官网)
可以说这是最容易使用的轴步进驱动芯片。它的特点在于静音驱动,带有StealthChop静音驱动,SpreadCycle平滑运行,MicroPlyer微步插补等功能,实现步进电机实现步进电机的超静音和抑共振。
TMC2226则是双轴双极步进电机驱动一体芯片。这个系列是TRINAMIC在2020年推出的。该芯片继承了此前系列的StealthChop2无噪音运行。同时先进的斩波器提高了效率和电机转矩。除了StealthChop2之外,该芯片还具有失速检测,最大程度地降低能耗还能在较高速度驱动电机时将噪声和振动保持在最低水平。
早在1996年,Trinamic就开始使用DSP,在运控领域,旗下运控芯片可以说是行业风向标。
主流步进电机芯片可以说是各有千秋,并都占有一定市场。同时国内也有不少优秀的厂商涌入这条赛道。从市场格局上来看,主流厂商仍然占据着相当大的先发优势。
相关问答
stm32可以做手机芯片吗?
不请自来!作为一个曾经从事多年手机研发的工程师给你回答一下这个问题。首先,剖析一下手机芯片手机芯片通常是指应用于手机通讯功能的芯片,包括Baseband基带...
Keil4中找不到stm32这个芯片啊?
供应商是STMicroelectronics,意法半导体。你到这个供应商下面去找。供应商是STMicroelectronics,意法半导体。你到这个供应商下面去找。
st公司的stm32系列芯片采用了什么内核?
st公司的stm32系列芯片采用了arm内核。st公司的stm32系列芯片采用了arm内核。
stm32f103ze芯片有几个中断线?
有5个中断源,外部中断0,定义为INT0,;定时/计数器0,定义为T0,外部中断1,定义为INT1;定时/计数器1,定义为T1;串行通信口中断五个都可以定义高优先级中断,可以...
stm32f103pet6芯片的意思?
这是一颗mcu,中央处理器,是STM32系列中较低级的一款这是一颗mcu,中央处理器,是STM32系列中较低级的一款
如何判断芯片是否烧坏?
判断芯片是否烧坏芯其实很容易查,烧毁很容易从电源就看出问题,没有工作电流啊、工作电流过大啊、电源电压跳变啊都可以看出来,从厂商获得单片机烧录软件,不用...
stm32与CAN总线是什么关系啊。求高手指教啊!CAN是芯片吗?要具体点的好吗?
STM32是32位嵌入式芯片。而CAN总线是一种通信方式。STM32主要负责程序的运行,而CAN总线只是一种通信协议。STM32之间的通信可以通过CAN总线进行数据交换,也可...
stm32f103r6芯片引脚数?
stm32f103r6的芯片引脚数总共64个引脚,其型号中的r表示芯片引脚数,r表示64区别是STM32F103RCT6是一种嵌入式-微控制器的集成电路(IC),64个引脚,芯体尺寸是32...
stm32f205是个什么样芯片?
ST公司的一个MCU芯片经销AD,TI,MAX,ST原装芯片ST公司的一个MCU芯片经销AD,TI,MAX,ST原装芯片
STM32焊接上短路,焊下来电路板和芯片都不短路,这个是为什么?焊接时好像也没有造成引脚短路?
那STM32拆下后量他的VCC和GND管脚看看有没有短路;如果没有,那么注意下你印制板上的封装是不是做的有问题,是不是有过孔打在了引脚附近。那STM32拆下后量他的...