(STM32)如何画好一块主控?

对于STM32F407ZET6芯片来说,复位电路的引脚也是固定的,只用按照复位电路的工作原理接入NRST引脚即可。现在我们所说的是单片机的最小系统电路,是围绕芯片展开的,所以我们需要的是如何通过VCC转换到VDD,再与VSS形成回路。

如何绘制主控?

我们通常使用AD或EDA来绘制电路板。 总体思路是:

搭建最小系统电路原理图

有了库之后,就可以开始画板了。 我们需要构建的第一件事是围绕所选芯片构建最小的电路系统。 这个系统可以保证画完之后,我可以正常编程,向单片机写入控制指令。 我还可以从相应的引脚输出我的指令(例如将某个引脚拉高或拉低)。 虽然此时输出没有对应任何外设,但是我们通过物理连接还是可以得到我们想要的效果(也可以用电压表来测试)。

这个最小电路系统包括:晶振电路(产生时钟)、复位电路、下载电路、电源电路、特殊引脚电路(防止单片机不稳定)。 对于任何微控制器来说,其最小系统电路的输入输出引脚都必须是特殊且有意义的。

以STM32F407ZET6为例:晶振电路原理

晶体振荡器,全称石英晶体振荡器,是一种高精度、高稳定度的振荡器。 通过一定的外围电路,可以产生频率和峰值稳定的正弦波。 单片机运行时,需要一个脉冲信号作为触发信号来执行自己的指令。 可以简单地想象为:当单片机收到一个脉冲时,它就会执行一条或多条指令。

晶振本身可以等效为一个电容和电阻并联、一个电容串联的二端网络。 从电学上来说,这个网络有两个谐振点,根据频率划分。 频率较低的是串联谐振,频率较高的是串联谐振。 高频是并联谐振。 由于晶体本身的特性,两个频率之间的距离相当近。 在这个极窄的频率范围内,晶振就相当于一个电感器,所以只要在晶振两端并联适当的电容,就会形成并联谐振电路。 。

该并联谐振电路可加入负反馈电路,构成正弦波振荡电路。 由于相当于电感的晶振的频率范围很窄,即使其他元件的参数发生很大变化,这个振荡器的频率也不会改变。 一个很大的变化。

在该晶振电路中,反相放大器的两端连接有晶振,晶振的两端连接有两个电容器。 另一个电容器接地。 这两个串联电容器的电容等于负载电容。

晶振有一个重要的参数,就是负载电容值。 通过选择与负载电容值相等的并联电容,即可得到晶振的标称谐振频率。 通过实验可以发现,负载电容值在15pF左右,因此选择22pF的并联电容最为合适。 (常数0和4是PCB和芯片内部电路电容)

晶体振荡器就像微控制器的心脏。 如果没有心跳,单片机将无法正常工作。 晶振越大,运行速度越快,但提高速度也会有干扰电路的风险。

通常有两种类型的晶体振荡器:无源和有源。 无源晶振需要内部振荡器,但无源信号质量差,精度差,更换麻烦。 通常采用有源晶体振荡器。

晶振起振:根据压电效应,在极片之间加上交变电压,就会产生机械形变振动。 这种机械振动的振幅比较小,其振动频率非常稳定。 当施加的交流电压的频率等于晶片的固有频率(由晶片的尺寸决定)时,机械振动的振幅将急剧增加。 这种现象称为压电谐振,因此石英晶体也称为石英晶体谐振器。 其特点是频率稳定性高。

如何搭建晶振电路?

芯片内晶振有两个入口:

PH0-OSC_IN和PH1-OSC_OUT连接4-16MZH晶振,产生单片机的主频率;

PC14-OSC32_IN和PC15-OSC32_OUT用于访问32.768KHZ RTC晶体振荡器。

(实时时钟可以理解为用在需要精确计时的领域,32768正好是2的15次方,经过15次分频就可以得到1HZ的信号,如果不需要精确计时的话,可以使用。)

其他单片机的晶振电路也是如此。 晶体振荡器通常标记为

复位电路原理

复位电路的目的是将电路恢复到初始状态。 一般来说,单片机必须能够在上电时自动产生复位,以防止CPU发出错误指令,并在复位完成后开始工作。 可以想象为利用复位来统一单片机运行的“起跑线”。

一般采用电容电压不能突变的原理来串联电容和电阻。 通电时,电容器不充电,两端电压为零。 此时提供复位脉冲,电源不断对电容充电,直至电容两端电压达到电源电压,电路进入正常工作状态。

为了保证单片机能够可靠地复位,RST的高电平必须维持足够长的时间。 这次是准备单片机,让程序从正确的初始位置开始执行。

为什么开机时会重置?

电路图中,电容尺寸为10uf,电阻尺寸为10k。 因此,根据公式可以计算出,将电容充电至0.7倍电源电压(单片机的电源为5V,所以充电至0.7倍为3.5V)所需时间为10K*10UF= 0.1S。

也就是说,电脑启动后0.1S内,电容两端电压升高03.5V。 此时10K电阻两端的电压从51.5V开始下降(串联电路中电压之和即为总电压)。

所以在0.1S内,RST引脚接收到的电压为5V~1.5V。 在5V正常工作的51单片机中,小于1.5V的电压信号为低电平信号,大于1.5V的电压信号为高电平信号。 因此,在上电0.1S内,单片机系统自动复位(RST引脚收到高电平信号的时间约为0.1S)。

如何搭建复位电路?

对于STM32F407ZET6芯片,复位电路的引脚也是固定的。 只需根据复位电路的工作原理连接NRST引脚即可。 其他单片机也是如此,找到对应的复位引脚RESET即可。

下载电路

对于单片机来说,主流的下载电路主要有三种:ISP、SWD、JTAG。 其中SWD和JTAG很相似,也有一定的联系,而ISP可能是我接触最早的烧写方式了。

①ISP方式:该方式是通过单片机的串口TX和RX来实现的,所以基本上所有的单片机都可以通过ISP方式下载。 其本质是一个USB转TTL的工具,如下图:

如下图所示,您可以购买一个USB转TTL(微控制器串口)模块,也可以如下图所示自行设计转换模块的电路。 它的核心在于一颗名为CH340的芯片。 您还可以使用它来进行其他 USB 转换为 TTL 的功能:

构建硬件后,您可以通过单独的烧录软件(例如STC-ISP)下载它。 软件界面如下:

②SWD和JTAG方式:之所以将这两种方式放在一起提及,正是因为它们基本上是相互转换的。 对于可以使用SWD或JTAG编程的单片机,​​原理图上一定有相应的特殊引脚。

从图中我们不难看出JTAG接口本身就包含了SWD接口。 也就是说,如果你的单片机有SWD四线接口,那么你可以直接用线引出SWDIO、SWCLK,加上JTAG口的VCC和GND。

以正电Atom的32块开发板为例。 它们通常使用 ISP 或 JTAG 接口进行编程:

(如果你使用ISP方式,那么你使用USB线连接PC和单片机,并使用上面提到的ISP下载软件进行下载;而如果你使用JTAG下载方式,那么你很可能使用一个名为JLINK【如下】右图】连接PC和单片机,然后直接在编译器中下载【如KEIL、IAR】)。

如何将 JTAG 转换为 SWD?

下载方法:在JLINK下载器上找到SWD对应的四根线的位置,通过电线连接到有SWD下载接口的单片机上,然后通过编译器直接下载。

对于STM32F407ZET6,下载电路对应的引脚如下:

可以看到,除了SWD和JTAG下载之外,还有两个BOOT0和BOOT1引脚,这是STM32特有的两个管理下载功能的引脚:

通常程序代码存放在主闪存中,配置方法为:BOOT0=0,BOOT1=X;

*闪锁解决方案:

在开发调试过程中,由于某种原因,内部Flash被锁定,无法连接SWD和Jtag进行调试,无法读取器件。 可以通过修改BOOT模式来重写代码。 修改为BOOT0=1、BOOT1=0从系统内存启动。 ST出厂时自带Bootloader程序,SWD和JTAG调试接口是专用的。 重新烧写程序后,可将BOOT模式改为BOOT0=0、BOOT1=X即可正常使用。

电源电路原理

微控制器级别:

对于任何微控制器来说,VCC和VSS是电源的核心。 VCC中的C表示Circuit,指的是整个供电电路的电压(有12V【在线原子板供电电压】、24V、5V等); VSS S表示Series,一般指公共端。 通常电路中的公共端接地,即地电压; VDD中的D表示Device,指的是设备上的电压,即芯片的工作电压,如STM32芯片。 电压值一般为3.3V,即VDD。 (可见VCC>VDD)

通常,单片机的电平为3.3V/5V格式,也称为CMOS/TTL电平格式。 当你让单片机的某个引脚输出高电平时,其大小为3.3V/5V(STM32为3.3V,51为5V)。 一般我们会使用外部电源VCC(>5V),通过降压、稳压的方式给单片机供电。 这样可以提供更稳定的电源,也可以为外围电路提供更高的电压。

我们现在讲的是单片机的最小系统电路,是以芯片为中心的,所以我们需要的是如何将VCC转换为VDD,然后与VSS形成环路。 (引脚比较简单的芯片会直接把VDD写成VCC)

如何搭建电源电路?

以STM32F407ZET6为例:

我们连接它的所有 VSS 和 VDD。 STM32芯片的工作电压为3.3V,因此VDD接3.3V。 那么现在的问题是如何将VCC转换为3.3V VDD。

电压转换电路:

这里我以9V电源作为外部供电的例子。 首先使用K7805-1000R3芯片将电压降压至5V,然后使用AMS1117-3.3芯片将5V降压至3.3V作为VDD。

电容器用于稳定电压。 具体值主要与所用芯片的参数有关。 这两款芯片电路都非常成熟。 如果有兴趣,可以上网阅读原理。 这是降压和稳定电压的最简单方法。 当然,你也可以将设计变得更加复杂,添加防反接电路、过压保护、过流保护等,以提高电路的安全性。 但总的来说,还是那句话。 对于刚入门的人来说,很多电路设计已经非常成熟,可以直接使用。 创新的前提应该是先了解这些已经成熟的东西。

其他芯片也是同样的情况:

特殊引脚电路

这里所谓的特殊引脚电路,就是与电源和地的大小直接相关的引脚。 如果这些引脚不接任何东西而悬空,很容易导致单片机的某个功能工作不正常,而且它们之间的电平也不同。 确定微控制器的一些功能。 芯片功能越强大(引脚越多),这些特殊功能引脚就越多,我们就越需要注意。

如何搭建特殊引脚电路?

以STM32F407ZET6为例,该芯片的功能较多,因此相应的特殊引脚也较多。 接下来我们就一一介绍:

其他微控制器也是如此:

以上,我们已经成功搭建了一个MCU的最小原理图:

单片机

如何搭建51单片机的开发环境和编写第一个51程序

2024-4-27 9:00:51

单片机

计算机毕业设计答辩技巧,最为关键的还是要好准备

2024-4-27 9:59:54

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索