STM32教程(4)-最小系统的设计

什么是最小系统呢?就是芯片可以真正工作所需的必要的硬件系统。如果只是把一个芯片放在你面前,你跟它说:来,输出个占空比百分之五十的正


弦波。当然不能输出,这是毫无疑问的。那还需要什么呢?


--电源电路的设计:


它是电子芯片,想要工作是吧?最最起码的条件,你得给人家供电吧。(--供电?这容易,我的插排上还有空余的插口,哈哈。--要是真供上220V那


估计就得起火了。)根据芯片手册上说,给STM32供电需要用3.3V的电压。我们可以找一个5V的电压来充当总电源,可能疑问了,刚才还说3.3V怎么


就用5V呢,因为集成电路集成较高的芯片一般是3.3V供电,较低的也常常是功能较简单的芯片一般是5V供电。因为一块电路板上长长有各种芯片,


所以要统筹兼顾。况且我们有个很简单的方式就能把5V转换成3.3V。


怎么转换呢?我们又用到了一类芯片,它们可不同于我们一直心心念念的微处理器,它们从生下来就注定只能完成一件事,就是电压转换,但因为他


们有很多的兄弟姐妹,就完成了多种电压转换的实现。


在这里跟大家说的是一款叫LM1117-3.3的芯片,介绍它的原因就是因为它价格便宜,体积较小而且已经足够胜任我们的任务要求。


我们刚刚接触一个芯片时,通常对我们最重要的资料就是芯片手册。它通常会告诉我们比较重要的信息。


比如说元器件的封装:


还有比较重要的参数:


下面这个图里可以看出LM1117芯片也是一个系列,LM1117_XX,而那个XX对应的就是输出电压,所以我已经把我们所用的LM1117-3.3用高亮标出。


可以看出,LM1117-3.3的输入电压范围是4.75V-12V



下面的图里我们可以看出:LM1117-3.3芯片理论上输出应为3.3V,输出最大的是3.399V,输出最小的情况是3.201V。也就是上差下差不会大于


0.1V,一看这误差我们能接受,这就用它行。


还有一个很重要很重要的东西,那就是典型应用电路:这个在我们实际应用中呢可以进行补充完善,但大体要尊重典型电路。


其实总有人说,该好好学学英语啊,要不然芯片手册真心看不懂啊。


我倒是也觉得该好好学学英语,但你看我上边那其实也是用的英文的芯片手册,那你看我的截图里有几个英文呢。那几个不认识的用有道词典查查就


行。好好学学英语是应该,但别拿英文不好当成什么很大的问题。毕竟目前接触的东西还都很基础,况且一个电子元件的说明书不比英文的诗歌话剧


的。


下面这个图呢,是常用的LM1117-3.3的实用电路:很简单的,只是两边分别并上了两个电容就行。


那么我们有了3.3V的电压了要接到芯片的哪里呢?


记得上次和大家说的VDD_1、DD_2、...VDD_11和VSS_1、VSS_2、...VSS_11。大家在设计硬件电路时,其实VDD_1和VSS_1是一组的(自


然VDD_2和VSS_2是也一组的,一共11组)。要把这11组引脚每组引脚间并联一个104电容这件事吗?


就是接到这11组上:


自然不要忘记并联上的电容。


当完成这些时呢,芯片的也就供上电了,但还没有完成,因为STM32F103ZET6还有个虚拟供电部分的电路,这块呢,既可以粗略的设计,也可以复


杂的设计。因为呢这个虚拟供电部分电路是给A/D转化器作参考用的,你对A/D转化器要求比较高呢就复杂点设计,如果没那么高的要求啊就简单点


设计就行。那个内容也不少,下周再说。


这里的原理图都是自己画的,倒不是因为为了发这个特意画的,因为我们自己设计的麦粒梦想—S1开发板也正在一点点的萌芽,从硬件设计、C编程


等等学习资料都在逐步丰富。


什么是最小系统呢?就是芯片可以真正工作所需的必要的硬件系统。如果只是把一个芯片放在你面前,你跟它说:来,输出个占空比百分之五十的正


弦波。当然不能输出,这是毫无疑问的。那还需要什么呢?


--电源电路的设计:


它是电子芯片,想要工作是吧?最最起码的条件,你得给人家供电吧。(--供电?这容易,我的插排上还有空余的插口,哈哈。--要是真供上220V那


估计就得起火了。)根据芯片手册上说,给STM32供电需要用3.3V的电压。我们可以找一个5V的电压来充当总电源,可能疑问了,刚才还说3.3V怎么


就用5V呢,因为集成电路集成较高的芯片一般是3.3V供电,较低的也常常是功能较简单的芯片一般是5V供电。因为一块电路板上长长有各种芯片,


所以要统筹兼顾。况且我们有个很简单的方式就能把5V转换成3.3V。


怎么转换呢?我们又用到了一类芯片,它们可不同于我们一直心心念念的微处理器,它们从生下来就注定只能完成一件事,就是电压转换,但因为他


们有很多的兄弟姐妹,就完成了多种电压转换的实现。


在这里跟大家说的是一款叫LM1117-3.3的芯片,介绍它的原因就是因为它价格便宜,体积较小而且已经足够胜任我们的任务要求。


我们刚刚接触一个芯片时,通常对我们最重要的资料就是芯片手册。它通常会告诉我们比较重要的信息。


比如说元器件的封装:


还有比较重要的参数:


下面这个图里可以看出LM1117芯片也是一个系列,LM1117_XX,而那个XX对应的就是输出电压,所以我已经把我们所用的LM1117-3.3用高亮标出。


可以看出,LM1117-3.3的输入电压范围是4.75V-12V



下面的图里我们可以看出:LM1117-3.3芯片理论上输出应为3.3V,输出最大的是3.399V,输出最小的情况是3.201V。也就是上差下差不会大于


0.1V,一看这误差我们能接受,这就用它行。


还有一个很重要很重要的东西,那就是典型应用电路:这个在我们实际应用中呢可以进行补充完善,但大体要尊重典型电路。

其实总有人说,该好好学学英语啊,要不然芯片手册真心看不懂啊。


我倒是也觉得该好好学学英语,但你看我上边那其实也是用的英文的芯片手册,那你看我的截图里有几个英文呢。那几个不认识的用有道词典查查就


行。好好学学英语是应该,但别拿英文不好当成什么很大的问题。毕竟目前接触的东西还都很基础,况且一个电子元件的说明书不比英文的诗歌话剧的。


下面这个图呢,是常用的LM1117-3.3的实用电路:很简单的,只是两边分别并上了两个电容就行。


那么我们有了3.3V的电压了要接到芯片的哪里呢?


记得上次和大家说的VDD_1、DD_2、...VDD_11和VSS_1、VSS_2、...VSS_11。大家在设计硬件电路时,其实VDD_1和VSS_1是一组的(自


然VDD_2和VSS_2是也一组的,一共11组)。要把这11组引脚每组引脚间并联一个104电容这件事吗?


就是接到这11组上:


自然不要忘记并联上的电容。


当完成这些时呢,芯片的也就供上电了,但还没有完成,因为STM32F103ZET6还有个虚拟供电部分的电路,这块呢,既可以粗略的设计,也可以复


杂的设计。因为呢这个虚拟供电部分电路是给A/D转化器作参考用的,你对A/D转化器要求比较高呢就复杂点设计,如果没那么高的要求啊就简单点


设计就行。那个内容也不少,下周再说。


这里的原理图都是自己画的,倒不是因为为了发这个特意画的,因为我们自己设计的麦粒梦想—S1开发板也正在一点点的萌芽,从硬件设计、C编程


等等学习资料都在逐步丰富。


最小系统一般包含:供电电路、晶振电路、复位电路和下载电路。在这个基础上,微控制器才能进行工作。


--供电电路设计:


5V输入3.3V输出电源:

STM32教程(4)-最小系统的设计

并联的外加电容:

STM32教程(4)-最小系统的设计

STM32教程(4)-最小系统的设计


--供电电路设计:


晶振就是谐振器和时钟振荡器,石英晶体构成的谐振器振荡频率十分准确切稳定度高,这是十分突出的优点。


晶振为微控制器提供稳定的工作节拍,重要性相当于人类的心脏。STM32主频72Mhz,使用的是8Mhz的晶振。

STM32教程(4)-最小系统的设计

一般晶振的两侧都要加个电容,电容值是22PF、30PF都可以。如果晶振频率比较高还可以并联一个阻值很高的电阻,这个电阻的阻值常常是M级的,


可以是1M、2M。(51单片机的晶振电路也是一样,51单片机常用晶振是11.0592M或12M)


--复位电路:


复位就是程序跑到了一般,按了一下复位键,程序就会从头开始重新跑。电路设计如下图:

STM32教程(4)-最小系统的设计

当按键按下时,会给NRST引脚一个低电平,STM32检测到这个低电平,就会复位重新跑程序。


--程序下载电路:


STM32下载电路设计有两种,一种是JTAG下载,一种是SW下载。通过此电路把程序下载到STM32中。

STM32教程(4)-最小系统的设计

图中有很多电阻,有的是上拉电阻(R3、R4、R5、R6、):当没有低电平输入时,上拉电阻可保证输入端是稳定的高电平状态。如果没有上拉电


阻,外界的低电平干扰很容易加到输入端上,使出现错误动作。而有的是下拉电阻(R7):输入端通过下拉电阻接地,这样没有高电平输入时,可以使


输入稳定地处于低电平状态。如果没有下拉电阻,输入端悬空时为高阻抗,外加高电平干扰很容易加到输入端上。

------------------------------ 
以下是本系列教程文章列表:欢迎大家踊跃讨论,有问题可在51黑论坛回帖提出.


STM32教程(1)-大学里没碰见像STM32一样吸引我的姑娘:http://www.51hei.com/bbs/dpj-41167-1.html

STM32教程(2)-各种应用和外设简单介绍:http://www.51hei.com/bbs/dpj-41168-1.html

STM32教程(3)-芯片引脚性质介绍:http://www.51hei.com/bbs/dpj-41169-1.html

STM32教程(4)-最小系统的设计:http://www.51hei.com/bbs/dpj-41170-1.html

STM32教程(5)-库:http://www.51hei.com/bbs/dpj-41171-1.html

STM32教程(6)-STM32的流水灯程序:http://www.51hei.com/bbs/dpj-41162-1.html

STM32编程基础(1)-Keil编程软件的安装:http://www.51hei.com/bbs/dpj-41163-1.html

STM32编程基础(2)-Keil库的修改:http://www.51hei.com/bbs/dpj-41164-1.html



STM32编程基础(3)-Keil建立工程模版:http://www.51hei.com/bbs/dpj-41165-1.html

STM32编程基础(4)-Keil工程设置http://www.51hei.com/bbs/dpj-41166-1.html