ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

嵌入式的开端-STM32

嵌入式的开端-STM32 STM32的认识前言一、MCU1.什么是MCU2.MCU是怎么做的3.MCU为什么会存在二、STM321.宏观了解STM321.1 STM3232与MCU的关系1.2 STM32家族2.什么是STM323. STM32选型3.1 STM32F1系列3.2 命名规则(STM32f103ZET6)3.2.1: Z3.2.2: E3.2.3: T3.2.4: 63.3 为什么选择STM32F103ZET6总结前言在进入嵌入式之前,相信大家都会或多或少的了解一些单片机. 什么STM32, I2C, spi,通信协议, 烧焊等等东西. 我也是一样. 听说了很多碎片化的东西,但是学起来却东摸一点,西摸一点. 所以我希望可以整理出一份系统的学习路径和过程,帮助各位我自己以及各位老铁入门嵌入式.本章节小羊会以STM32ZET6为例进行讲解。一、MCU1.什么是MCUMCU: Micorcontroller Unit微控制单元的缩写。中文常称为单片机Single Chip Micorcontroller。2.MCU是怎么做的从功能上看MCU是把处理器CPU核心ARM的Cortex-M系列、存储器Flash、RAM、各种输入输出接口定时器ADCI2C串口等集成在一起形成一个芯片。从制造上看MCU是一个极纯的硅片上经过光刻、刻蚀、沉积、等上百道工序把CPUFlashRAM定时器串口等模块的晶体管一层层堆叠起来再把他们内部连通最终形成一个完整的芯片。MCU要把模块集成在一起的原因主要还是为了低功耗。因为集成在一个芯片里意味着走线很短响应很快功耗就会比较低。MCU长这样我们平时多用的是已经把MCU焊接好并加上了电源稳压电路、晶振电路、复位按键和 USB 接口等等外设并引出了所有的引脚的开发板。开发板长这样STM32F103ZET6开发板3.MCU为什么会存在以手机应用处理器为例的这类片上系统主要解决的是算力问题。以MCU为例的片上系统主要解决的是控制问题。因为我们现实中的控制要求是各种各样的。任何一款通用处理器都无法同时满足所有控制场景的低成本低功耗以及硬实时的要求。因此市场会分化出面向不同场景的处理器。MCU也就应运而生。MCU专门低成本解决实时控制问题。二、STM321.宏观了解STM321.1 STM3232与MCU的关系各个厂商都会生产MCU。知名的比如恩智浦(NXP)的LPC系列兆易创新()(GD)的GD32系列乐鑫(Espressif)的ESP32系列。 而我们熟知的STM32系列就是意法半导体公司生产的MCU。STM32是MCU的一种。举个例子把MCU比作“手机”STM32就是“苹果手机”GD32就是“华为手机”是手机的一个种类。意法半导体和兆易创新就是造手机的厂商。1.2 STM32家族通过这个图片我们可以看出在stm32中基于不同的CPU内核ARM Cortex的不同系列以及不同的应用场景。我们有多中STM32的MCU型号可以选择。STM32有 F系列G系列H系列L系列U系列。FFundation (基础/同用)这是最基础的系列应用最广泛是STM32的基石。GGeneral-Purpose通用性ST官方定义为主流高性价比系列。LLow-Power低功耗专门为低功耗设计的系列。UUltra-Low-Power超低功耗比L系列功耗更低的系列。HHigh-Perfermance高性能字母H对应为High代表STM32系列中性能最好的产品。我们后续主要关注STM32的F1系列。下列图片可以去STMCU中文官网找到2.什么是STM32从字面意思看:ST是意法半导体公司. M是微Microelectronics的缩写. 32代表32位.合起来理解就是STM32就是指ST公司开发的32位微控制器。3. STM32选型以STM32f103ZET6为例.3.1 STM32F1系列在STM32家族里我们重点关注F1系列。STM32F100超值型STM32F101基础型STM32F102基础型USBSTM32F103增强型最主流STM32F105互联型STM32F107互联型以太网即便是我们已经选择了STM32F103系列之后STM32F103还有很多的子型号。 如STM32F103C8T6, STM32F103ZET6等等。我们重点关注STM32F103ZET6。到此可以看到意法半导体的STM32系列的MCU也是逐级往下细分。MCU—STM32—STM32F1—STM32F103—STM32F103ZET6手机—华为手机–mate系列–华为mate90—mate90 Pro Max 曜石黑。3.2 命名规则(STM32f103ZET6)选完型号之后老铁们可能会问这名字这么长一串都代表什么意思呢小羊接下来会以STM32f103ZET6为例给大家介绍STM32: 产品类型.STM32 表示为意法半导体设计生产的32位MCUF103: 产品系列F1属于主流(Mainstream) 产品线。并且使用Cortex-M3的CPU内核. 03属于STM32F1子系列中具体的产品线。F103为增强型。C8T6 / ZET6: 产品规格。3.2.1: ZZ: 这个MCU总共有144个引脚(pin).⼀条边上是 36 个, 4 条边共计 144 个当然还有其他字符也能表示其他pin数目:T : 36个引脚C : 48个引脚R : 64个引脚V : 100个引脚Z : 144个引脚关于引脚MCU为什么有不同的引脚数目我们知道MCU的核心定位是用来控制外设所以引脚的多少就意味着我们控制外设的多少。也就是说引脚的多少取决于我们的需求。如果我们做一个小玩具用到的引脚不多就可以选择T系列。如果是一些汽车电子的元器件需要控制的外设较多可以选择Z系列。所以引脚的多少就意味着未来我们控制外设的多少外设的多少就意味着成本的多少。如果我们只是做个小玩具明明T系列36个引脚足够了但是偏偏选择了144个引脚的Z系列MCU那么对应的就是成本增加功耗增加。产品未来在销售市场的价格可能会比其他竞品高。那我们的市场竞争力就弱了。3.2.2: EE: 表示MCU内部Flash容量为512KB.还有其他字符也表示其他flash容量对于MCU或单片机而言我们写的二进制程序在完成烧录后就会由MCU内部的ARM处理器一行一行执行我们烧录进来的代码。这个就是叫裸机开发。我们把写好的二进制程序烧写进开发板的MCU中其实就是烧写进MCU内部的Flash中这个Flash就叫MCU的内部Flash。MCU内部的CPUArm Cortex-M3会从内部Flash中读取对应的指令。一行一行去执行从而帮我们去控制其他的外设。为什么有那么多不同的Flash容量不同的MCUFlash的大小也会有差异。因为不同的Flash容量代表的是能烧写的不同程序的体积。本质是对应不同规模的产品。如果我们写的程序比较简单我们就能选择Flash容量小的MCU实现更低成本的开发提高终端产品的价格竞争力。3.2.3: TT: 封装类型, 采用LQFP封装.当然也有其他类型的封装:封装: 电子元件想要工作需要焊接到电路板上。 相应的电路板就需要提供对应的焊盘。MCU封装图例可以去立创商城搜索LQFP封装: 低轮廓四边扁平封装BGA封装: 球栅阵列封装VFQFPN封装: 超薄细间距四边扁平无引脚封装。3.2.4: 6这个数字表示MCU的工作温度。6表示工作温度范围为-40度到85度。7表示工作温度范围为-40度到105度。为什么我们会把温度作为一个核心指标体现在名字上:可靠性: 如果我们的设备在夏天户外工作,或者靠近发热元件等高温环境,我们就要选择7甚至更高级别.性能降级: 如果温度超过85度, 我们依然选择6的MCU,就会影响电路内部的晶体振荡频率, ADC精度下降, 影响Flash擦写可靠性.3.3 为什么选择STM32F103ZET6根据上述命名规则的介绍我们可以根据外设数量选择引脚数根据项目的程序代码量级选择MCU内部Flash的容量根据工作环境选择工作温度区间。作为工程师我们选型MCU的时候要考虑产品的需求以求达到最低成本实现项目目标。要不仅有技术思维,也要有产品思维,老板思维去思考问题.其实理由很朴素因为它的引脚数量最多未来可以把很多外设接到一块板子上。也就是说一块板子基本能解决入门遇到的所有问题。当然我们在学习中工作中会遇到不同的板子选型。不过没关系我们理解了一个再去学习新的不说一通百通基本学习成本大大降低。总结今天小羊主要给老铁们介绍了MCU和STM32, 以及他们的关系, STM32的命名规则,如何选型等等. 让大家对嵌入式的前置知识有一个宏观上的了解.欢迎各位老铁在评论区交流自己的意见.
返回列表