再造STM32---第二部分:再识 STM32

版权声明: https://blog.csdn.net/qq_38351824/article/details/89483438

      本系列是基于STM32F429野火库进行学习。

2.1什么是 STM32?

         STM32,从字面上来理解, ST 是意法半导体, M 是 Microelectronics 的缩写, 32 表示32 位,合起来理解, STM32 就是指 ST 公司开发的 32 位微控制器。在如今的 32 位控制器当中, STM32 可以说是最璀璨的新星,它受宠若娇,大受工程师和市场的青睐,无芯能出其右。

2.1.1 STM32 诞生的背景:

       51 是嵌入式学习中一款入门级的精典 MCU,因其结构简单,易于教学,且可以通过串口编程而不需要额外的仿真器,所以在教学时被大量采用,至今很多大学在嵌入式教学中用的还是 51。 51 诞生于 70 年代,属于传统的 8 位单片机,如今,久经岁月的洗礼,既有其辉煌又有其不足。现在的市场产品竞争越来越激烈,对成本极其敏感,相应地对 MCU的 性能要求也更苛刻: 更多功能, 更低功耗,易用界面和多任务。面对这些要求, 51 现有的 资源就显得得抓襟见肘。所以无论是高校教学还是市场求,都急需一款新的 MCU 来为这个领域注入新的活力。
       基于这样的市场需求, ARM 公司推出了其全新的基于 ARMv7 架构的 32 位 CortexM3 微控制器内核。紧随其后, ST(意法半导体)公司就推出了基于 Cortex-M3 内核的MCU—STM32。 STM32 凭借其产品线的多样化、极高的性价比、简单易用的库开发方式,迅速在众多 Cortex-M3 MCU 中脱颖而出,成为最闪亮的一颗新星。 STM32 一上市就 迅速占领了中低端 MCU 市场,受到了市场和工程师的无比青睐,颇有星火燎原之势。作为一名合格的嵌入式工程师,面对新出现的技术,我们不是充耳不闻,而是要尽快吻合市场的需要,跟上技术的潮流。如今 STM32 的出现就是一种趋势,一种潮流,我们要做的就是搭上这趟快车,让自己的技术更有竞争力。

2.2 STM32 能做什么?

       STM32 属于一个微控制器,自带了各种常用通信接口,比如 USART、 I2C、 SPI 等,可接非常多的传感器,可以控制很多的设备。现实生活中,我们接触到的很多电器产品都有 STM32 的身影,比如智能手环,微型四轴飞行器,平衡车、移动 POST 机,智能电饭锅,3D 打印机等等。下面我们以最近最为火爆的两个产品来讲解下,一个是手环,一个是飞行器。

2.2.1 智能手环:

在这里插入图片描述
                                                                                 图 2-1 三星 GearFit 智能手环
红圈: STM32F439ZIY6S 处理器, 2048KB FLASH , 256KB RAM ,WLCSP143 封装。
橙圈: Macronix MX69V28F64 16 MB 闪存,基于 MCP 封装的存储器,是一种包含了NOR 和 SRAM 的闪存,这在手环手机这种移动设备中经常使用,优点是体积小,可以减小 PCB 的尺寸。这个闪存用的 439 的 FSMC 接口驱动。
黄圈: InvenSense MPU-6500 陀螺仪/加速度计,用 439 的 I2C 接口驱动。
绿圈:博通 BCM4334WKUBG 芯片,支持 802.11n,蓝牙 4.0+HS 以及 FM 接收芯片,用 439 的 SDIO 或者 SPI 接口驱动。
显示: 1.84"可弯曲屏幕(Super AMOLED), 432 x 128 像素。触摸部分用 439 的 I2C接口驱动,OLED 显示部分用 LTDC 接口驱动。
表格 4-1 三星 Gear Fit 和野火 STM32F429 挑战者资源对比
在这里插入图片描述
       除了这几个重要资源的对比,我们的 429 开发板上还集成了以太网,音频, CAN,485, 232, USB 转串口,蜂鸣器, LED,电容按键等外设资源,可以充分的学习 429 这个芯片。在板子上面,还可以跑系统 ucosiii,学习图形界面 emwin。如果功夫所至,学完之后,自己都可以做一个类似 Gear Fit 这样的手环。可很多人又会说,Gear Fit 涉及硬件和软件,整个系统这么复杂,并不是一个人可以完成的。说的没错,我们可以做不了,但是我们的能力可以无限接近,多学点,技多不压身嘛。
在这里插入图片描述

2.2.2 微型四轴飞行器:

       现在无人机非常火热,高端的无人机用 STM32 做不来,但是小型的四轴飞行器用STM32 还是绰绰有余的。如图 2-3 所示飞行器的基本都可以用 STM32 搞定。
在这里插入图片描述
                                                                                    图 2-3 微型四轴飞行器
       上面的是属于产品,如果想自己 DIY,可以在入门 STM32 之后,买一本飞行器 DIY的书,边做边学。入门级的书籍推荐《四轴飞行器 DIY—基于 STM32 微控制器》,见图2-4。
在这里插入图片描述
                                                                      图 2-4 四轴飞行器 DIY —基于 STM32 微控制器

2.2.3 淘宝众筹:

       学会了 STM32,想自己做产品,如何实现自己的梦想,淘宝众筹吧。做出产品原型,用别人的钱为自己的梦想买单。
淘宝众筹科技类网址:这里面有很多小玩意都可以用 STM32 实现,只要你的创意到了,就会有人买单,前提是我们要先学会 STM32。
在这里插入图片描述

2.3 STM32 怎么选型

2.3.1 STM32 分类

       STM32 有很多系列,可以满足市场的各种需求,从内核上分有 Cortex-M0、 M3、 M4和 M7 这几种,每个内核又大概分为主流、高性能和低功耗。具体的见表格 2-2。
       单纯从学习的角度出发,可以选择 F1 和 F4, F1 代表了基础型,基于 Cortex-M3 内核,主频为 72MHZ, F4 代表了高性能,基于 Cortex-M4 内核,主频 180M。
       之于 F1, F4(429 系列以上)除了内核不同和主频的提升外,升级的明显特色就是带了 LCD 控制器和摄像头接口,支持 SDRAM,这个区别在项目选型上会被优先考虑。
                                                                                    表格 4-2 STM8 和 STM32 分类
在这里插入图片描述

2.3.2 STM32 命名方法

       这里我们以野火 F429 挑战者用的型号 STM32F429IGT6 来讲解下 STM32 的命名方法。表格 2-3 STM32F429IGT6 命名解释
                                                                             表格2-3 STM32F429IGT6 命名解释
在这里插入图片描述
有关更详细的命名方法见图 2-6。
在这里插入图片描述
                                          图 2-6 STM8 和 STM32 命名方法,摘自《STM8 和 STM32 选型手册》

2.3.3 选择合适的 MCU:

       了解了 STM32 的分类和命名方法之后,就可以根据项目的具体需求先大概选择哪类内核的 MCU,普通应用,不需要接大屏幕的一般选择 Cortex-M3 内核的 F1 系列,如果要追求高性能,需要大量的数据运算,且需要外接 RGB 大屏幕的则选择 Cortex-M4 内核的F429 系列。
       明确了大方向之后,接下来就是细分选型,先确定引脚,引脚多的功能就多,价格也贵,具体得根据实际项目中需要使用到什么功能,够用就好。确定好了引脚数目之后再选择 FLASH 大小,相同引脚数的 MCU 会有不同的 FLASH 大小可供选择,这个也是根据实际需要选择,程序大的就选择大点的 FLASH,要是产品一量产,这些省下来的都是钱啊。有些月出货量以 KK(百万数量级)为单位的产品,不仅是 MCU,连电阻电容能少用就少用,更甚者连 PCB 的过孔的多少都有讲究。项目中的元器件的选型的水深着啊,很多学问。

1. 如何分配原理图 IO
       在画原理图之前,一般的做法是先把引脚分类好,然后才开始画原理图,引脚分类具体见表格 2-4。
                                                                      表格 2-4 画原理图时的引脚分类
在这里插入图片描述在这里插入图片描述
2. 如何寻找 IO 的功能说明
       要想根据功能来分配 IO,那就得先知道每个 IO 的功能说明,这个我们可以从官方的数据手册里面找到。在学习的时候,有两个官方资料我们会经常用到,一个是参考手册(英文叫 Reference manual),另外一个是数据手册(英文叫 Data Sheet)。两者的具体区别见表格 2-5。
                                                                             表格 2-5 参考手册和数据手册的内容区别
在这里插入图片描述
       一句话概括:数据手册主要用于芯片选型和设计原理图时参考,参考手册主要用于在编程的时候查阅。官方的这两个文档可以从官方网址里面下载:http://www.stmcu.org/document/list/index/category-150
       在数据手册中,有关引脚定义的部分在 Pinouts and pin description 这个小节中,具体定义见表格2-6。
                                                                                           表格 2-6 数据手册中对引脚定义
在这里插入图片描述
                                                                                           表格 2-7 对引脚定义的解读
在这里插入图片描述
在这里插入图片描述
3. 开始分配原理图 IO
       比如我们的 F429 挑战者使用的 MCU 型号是 STM32F429IGT6,封装为 LQFP176,我:们在数据手册中找到这个封装的引脚定义,然后根据引脚序号,一个一个复制出来,整理成 excel 表。具体整理方法按照表格 4-4 画原理图时的引脚分类即可。分配好之后就开始画原理图。

2.3.4 PCB 哪里打样:

       设计好原理图,画好 PCB 之后,需要把板子做出来,进行软硬件联调。首先得 PCB打样,这里我推荐一家我经常打样的厂家,深圳嘉立创(JLC),行业标杆,良心价格,网址: http://www.sz-jlc.com。一块 10CM*10CM 以内的板子,三天做好, 50 块就可以搞定,还包邮,简直便宜到掉渣。如果你足够懒,不想自己焊接电阻电容二三极管什么的,嘉立创还可以帮你把 PCB 样板上的阻容贴好给你,打样贴片一条龙。样品做好了,软硬件什么都 OK,要小批量怎么办?还是找 JLC。

猜你喜欢

转载自blog.csdn.net/qq_38351824/article/details/89483438