嵌入式电路设计(stm32电路设计)

Posted 费晓行

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了嵌入式电路设计(stm32电路设计)相关的知识,希望对你有一定的参考价值。

【 声明:版权,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

    在立创开源硬件平台上面,stm32可以说是使用最多的mcu芯片。它的核心是arm core。一方面,工业上比较认可stm32,另外一方面,我们也不得不承认意法半导体在校园推广mcu方面确实做的很好。当然,目前芯片普遍比较紧俏,之前便宜的几块钱的stm32,都要几十甚至上百了,这已经是后话了。

    stm32用的比较多的stm32f103、stm32f3、stm32f4这些。现在,除了上面说的这些,又出现了stm32f7系列,就我的认知来说,目前用的还不多。目前,stm32多用在工业上,电机、仪表、运动控制、采集方面,都有很多的应用场景。

    此外,stm32还容易使用rtos,在一些实时要求比较高的地方,用它是非常方便的。很多时候,除了实时控制,还需要人机交互,所以这个时候,stm32旁边还会搭配一个linux soc,这都是很正常的现象。当然,要是遇到图像处理方面的内容,或者并发要求比较多的场合,stm32配合fpga,也不是很稀奇的情况。当然,用了rtos也不代表stm32就是实时控制了,这个等有机会再说。

    为了说明stm32的最小电路,可以找一个电路图来学习下。比如这,https://oshwhub.com/gxt_0/STM32F103C8T6hu-xin-ban

1、整体观察

    图片仅仅给出了2d图,所以也不知道后来是不是真正的打样出来了。整体的功能还是比较简单的,就是一个核心板,把所有的功能都用排针引出来了。

2、主芯片

    主芯片就是stm32f103c8t6,48个引脚,qfn封装,比较简洁。

3、时钟

    stm32f103的时钟可以多说一说,它有两个时钟。一个是32.768k这个,主要用于定时;另外一个是8M这个,是执行指令需要用到的时钟。

4、电压

  

    和stc不一样,stm32芯片多采用3.3v,所以需要一个降压芯片。常用的芯片有ams1117。一个电路中出现多种电压是很常见的,比如在fpga或者soc中,可能同时有5v、3.3v、2.5v、1.8v、1.2v等等。

5、启动方式

    stm32支持多种启动方式,也就是说stm32执行的第一条指令可能来自于不同的地方。比如说,可能来自于sram,可能来自于内部flash,可能来自于外部flash,这个都取决于BOOT0、BOOT1的配置。有的同学说,stm32第一条指令怎么可能来自于sram呢,其实只要jtag或者swd加载进去就可以。

6、调试和程序烧入接口

    这是stm32特有的debug和烧入接口,类似于jtag。外部连接stlink即可,软件上搭配keil,就可以调试或者烧入程序了。

7、其他和stc差不多的电路

7.1 复位电路

7.2 usb电路,一部分用来供电,一部分stm32作为pc的usb device,可以模拟u盘

7.3 led,一个是上电后点亮,一个需要程序编程才能解决

7.4 电源滤波电路

7.5 连接接口

8、美中不足的地方

    应该安排一个usb2uart的芯片,比如ch330n,主要可以方便进行调试。使用stm32的时候最好发挥它的强项,也就是运动控制这块。如果只是做一点简单的采集、显示、按钮这些,还不如用stc51。另外在实时性方面,这也是mcu的强项,不是说大的soc做不到,而是不划算。linux本身是个很大的软件平台,上面的软件包很多,但也很消耗资源,所以就专门的运动控制这块,尤其是电机控制这块,可以考虑一下stm32。当然,如果买不到,国产的gd32也是不错的选择。

以上是关于嵌入式电路设计(stm32电路设计)的主要内容,如果未能解决你的问题,请参考以下文章

Cortex-M3之STM32嵌入式系统设计的内容简介

Cortex-M3之STM32嵌入式系统设计的目录

嵌入式stm32项目开发 心率检测仪的设计与实现

基于STM32FreeRTOS低功耗设计思路和原理

毕业设计:题目:基于stm32的语音识别 - 单片机 嵌入式 物联网 语音识别

嵌入式软件设计(stm32快速上手)