硬件电路设计之STM32最小系统电路设计

1 简介
今天主要来谈谈mcu的设计,我使用过的mcu的型号包括意法半导体的stm32、华大gd32、infineon的cy8c5868lti-lp039以及microchip的atsame70,今天的主角是意法半导体的stm32最小系统设计,其它mcu电路设计后续进行分享。
2 最小系统
stm32的最小系统设计都是类似的,今天以stm32f429igt6为例。stm32最小系统包含了 电源电路 、 配置电路 、 复位电路 、 时钟电路 、下载电路。
2.1 电源电路设计
stm32手册设计指导:
vdd电源stm32一般采用3.3v供电,根据手册vdd的供电范围1.7v~3.6v,该电源一般用于外部io,使能内部内部稳压器,可对外供电。以下是vdd实战设计电路,vdd的每个电源引脚附近需要放置一个0.1uf电容,且每个0.1uf电容需要放置在相应pin脚附近,另外建议在额外增加1到2个10uf的电容。
vdda电源vssa和vdda的电压范围1.7v-3.6v,adc, dac,以及reset模块的模拟电源。以下是vdda实战设计电路,选用3.3v供电,此处r3可能是保守设计,用于后期调试(也有可能用于rc滤波),不建议增加10r电阻。对应的位置应放置一个10uf电容和一个0.1uf电容, 10μf 电容放置在远离 ic 的位置,用于平滑电源中的低频变化, 0.1μf 电容放在靠近 ic的位置,用于平滑高频电源的变化。小电容器需要更靠近ic,这将更有效过滤ic产生的高频信号,或更有效地抑制线路引入的高频信号对ic的影响。
vbat电源vbat的供电范围1.65v-3.6v,可作为rtc电源,外部时钟32 khz振荡器和备份寄存器(通过电源开关)供电。vbat用于连接纽扣电池,当板卡上电时,该pin脚使用板卡上的3.3v电源,当板卡下电时,使用纽扣电池供电。d1的型号为bat54c主要有以下两种场景:
当板卡上电时,即端口2为3.3v,端口1为3v,此时下二极管导通,端口3和端口2电压近似相等,此时1端截止,vbat=3.3v;当板卡不上电时,即端口2浮空,此时可视为下二极管截止,端口1为3v,上二极管导通,端口3和端口1的电压近似相等,vbat=3v;
2.2 控制电路设计
pdr_on控制内部上电复位(por) /下电复位(pdr)电路通过pdr_on引脚关闭。外部电源监督员应监视vdd,只要vdd低于指定的阈值,就应保持设备处于复位模式。
推荐的参考电路为:
参考电压vref+在电路设计中,我们常常会用到adc来采集电压数据,其中vref+就是adc的参考电压,具体adc的精度需要查看参考手册,一般为12为adc。
regulator off通过保持bypass_reg高来禁用调节器。regulator off模式允许通过vcap_1和vcap_2引脚向外部提供v12电压源。
启动模式选择系统在进行复位之,在系统时钟的第四个上升沿boot引脚的值会被锁存。用户可以通过boot0和boot1的值,来设置系统启动模式。
启动模式选择引脚启动模式说明
boot1 boot0
x 0 主闪存存储器
0 1 系统存储器
1 1 内置sram
手册描述见下:
flash memory启动方式(boot0 = 0)
这种启动方式地址为0x08000000,是stm32内置的flash。一般均使用这种方式,通过jatg或者smd下载的代码通常保存在该flash中。
system memory启动方式(boot0 = 1;boot1 = 0)
这种启动方式地址为0x1fff0000,该启动方式的程序一般由厂家提前烧录好。stm32在出厂时,厂家在内部预置了bootloader(通常被称为isp程序,该部分为rom,掉电数据不丢失),且无法修改。 使用这种模式的好处是可以通过串口下载程序固件,将程序下载到bootlader 。
sram启动方式(boot0 = 1;boot1 = 1)
这种启动方式的地址为0x20000000,属于内置sram,无法存储程序。这种启动方式仅用于快速调试。
2.3 时钟电路设计
主时钟时钟是stm32内部最核心的器件,它可以提供时钟信号。依赖于这个信号,stm32中的器件才可以有条不紊地将工作进行下去。主时钟的范围 4-25mhz ,此处按照25mhz进行设计,具体设计电路见下:
实时时钟实时时钟(rtc)是一个独立的bcd定时器/计数器。专用寄存器包含秒,分,小时(12/24小时),星期,日期,月,年,bcd(二进制编码的十进制)格式。每月28日、29日(闰年)、30日和31日的更正为自动执行。rtc提供可编程报警和可编程具有从停止和待机模式唤醒的周期性中断。单位秒数为也有二进制格式。
它的时钟是由一个32.768 khz的外部晶体,谐振器或振荡器,内部低功耗rc振荡器或高速外部时钟除以128。内部低速rc典型频率为32千赫。rtc可以使用外部512 hz进行校准输出补偿任何天然石英偏差。
使用32.768 khz的原因?
2的15次方正好等于32768,反过来讲,如果要把32.768k的时钟频率经过15次分频的话,得到的频率正好是1hz,正好就是1秒钟时间,这样就可以计时了。
2.4 复位电路设计
复位电路使程序恢复到最开始运行的状态。当系统运行出现异常时,可以通过手动复位的方式确保系统回到正常运行状态。其中,c12用于硬件消抖,同事建议增加tvs管,防止静电损坏器件。看门狗后面有专门文章讲解。
2.5 下载电路设计
程序下载有两种方式,分别jtag模式和 smd模式 。
jtag模式jtag的全称是joint test action group (测试行动联合组织),它是由几家主要电子制造商发起制定的pcb 和ic 测试标准,主要应用于电路的边界扫描测试和可编程芯片的在线系统编程。
jtag调试接口必须使用vcc、gnd电源信号,以及tms、tck、tdi、tdo四根调试信号。
smd模式swd的全称是serial wire debug(串行调试)。swd是arm公司设计的协议,用于对其微控制器进行编程调试。由于swd专门从事编程和调试,因此它具有许多特殊的功能,通常在其他任何地方都无法使用,例如通过io线将调试信息发送到计算机。
由于它是arm专门为在其设备中使用而制造的,因此swd的性能通常是同类产品中最好的。相对于jtag接口,使用更少的信号。四根信号如下: vcc、gnd、swdio、swclk 。

华为发布全球首款汽车行业5G通信硬件
电动汽车(EV)中的霍尔效应传感器作用
iPhone排版功能被玩坏啦
打游戏用什么蓝牙耳机好?英雄联盟手游推荐蓝牙耳机
LED防爆路灯的性能_LED防爆路灯的优缺点
硬件电路设计之STM32最小系统电路设计
华为运动健康科学实验室投入使用,华为首次对外展示相关顶级研究设备
脉冲式快速充电器电路设计
放大电路中直流电源的两大作用
杉木生物基于微流控和AI算法,研发尿液“连续无感”健康监测技术
多维科技推出芯片式TMR电流传感器TMR7608/TMR7616
GDDR系列显存受DRAM影响开始涨价
基于MIMO技术与H.264码的无线视频通信方案
电池管理系统BMS是什么
LED如何才能更“长寿”,LED防腐蚀知识需了解
自制短波天线,Short-wave antenna
这个无线充电器只有一枚硬币大小!
新加坡与日本合作打造新型芯片,是高速无线通信的新技术
美团完成新一轮40亿美元融资,投后估值300亿美元
海尔电视逆势上涨 线上线下齐发力