5

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

 2 years ago
source link: https://feixiaoxing.blog.csdn.net/article/details/120804580
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

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

original.png
费晓行 2021-10-16 22:17:46 35
专栏收录该内容
4 篇文章 0 订阅

【 声明:版权,请勿用于商业用途。 联系信箱: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封装,比较简洁。

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

    和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也是不错的选择。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK