本帖最后由 luobeihai 于 2024-12-19 01:03 编辑
#申请原创# @21小跑堂
1.什么是最小系统
以单片机最小系统为例,指的就是单片机可以正常执行程序的最简单的工作环境。
最小系统可以说是整个系统最核心的部分了,再加上一个产品所需要的其他硬件外设,就组成了一个产品的硬件系统了。
2.最小系统的组成
最小系统组成包括:电源、复位、时钟、调试接口、启动方式。
2.1 电源
下图是APM32F103数据手册给出的供电方案。
电源最重要的就是供电电压和去耦电容的选择。这些都可以从芯片数据手册获得相关信息。
2.2 复位
最简单的复位电路,只需要阻容就可以完成。
在上电瞬间,电容充电,Reset信号引脚会出现短暂的低电平,这个低电平的持续时间由电阻和电容共同决定,计算公式:t = 1.1RC 。
2.3 时钟
时钟是系统的心脏。 时钟不正常或者不稳定,都会影响系统的运行。
对于APM32来说,外部时钟有两种晶体,低速外部时钟信号(LSE)接32.768KHz晶体,高速外部时钟信号(HSE)接8MHz晶体。
外接8MHz的高速时钟信号电路参考:
外接32.768KHz低速时钟信号电路参考:
这里的32.768K晶体,会经过15次分频之后,32768 = 2^15,就可以得到1Hz的频率,这个频率一般用于芯片内部的RTC(实时时钟)的精确计时。
2.4 调试接口
在做一个产品或项目的时候,我们必须要考虑到留出一个调试接口,这个是方便在嵌入式软件开发时调试和下载程序用的。
对于APM32来说,内部集成了串行/JTAG调试接口(SWJ-DP)。串行调试接口只需要两根线即可,而JTAG接口需要5根线。一般在一个项目中,我们只留出串行调试接口即可,这样可以节省空间。
2.5 启动方式
不同的SoC,其实有多种不同的启动方式。
对于APM32,来说有3种启动模式,可以通过配置BOOT[1:0]引脚来选择不同的启动方式。
一般我们设置的都是主闪存启动方式,但是在调试或者生产阶段可能会根据实际需要做出调整,这个时候就需要我们留出跳线帽方便随时做出跳整了。
以上就是一个单片机最小系统组成所需的部分了。
补充:其实我们把一个项目的硬件板子打样回来之后,首先要检查的就是这些最小系统的组成部分是否都能正常工作。又或者我们说我们在硬件调试的时候,发现系统不工作,首先检查的也是最小系统的这几个组成部分是否能正常工作。面试时人家问你,如果一个系统运行不正常的调试思路时,也可以从这个角度去回答。
|