玩单片机的朋友肯定都搭过最小系统板——一个单片机芯片、一个晶振、两个电容、一个复位电路,加个电源指示灯,就能让单片机跑起来。但别小看这几个元件,它们的选型和电路连接方式直接决定了系统能不能正常工作、能不能稳定运行。今天就把单片机最小系统的各个模块拆开来讲。
首先是电源部分。单片机的工作电压一般是3.3V或者5V,有些宽电压的能到1.8V-5.5V。电源不能直接接单片机,中间要加滤波电容。标准做法是在单片机的VCC和GND引脚附近放一个0.1μF的陶瓷电容(去耦电容)和一个10μF-100μF的电解电容(储能电容)。去耦电容离芯片越近越好,最好能贴着引脚放,因为它是滤掉高频噪声的,走线太长电感会变大效果就差了。
晶振电路是单片机的"心脏"——没有稳定的时钟,单片机就是一堆废铁。晶振电路的结构很简单:晶振的两个引脚分别接单片机的XTAL1和XTAL2引脚,每个引脚各接一个负载电容到GND。这里面有几个要点:第一,晶振的频率要选对,常见的有11.0592MHz(方便串口波特率计算)、12MHz(经典频率,机器周期正好1μs)、8MHz(STM32常用);第二,负载电容的数值要查晶振的datasheet,不同晶振的负载电容要求不一样,选大了或者选小了会不起振或者频率偏移;第三,晶振和电容的走线要短,远离干扰源(比如开关电源的电感),晶振下面不要走其他信号线。
复位电路的作用是给单片机一个上电初始化的信号,让它从一个确定的状态开始运行。最简单的复位电路就是一个电阻和一个电容串联:电容接VCC,电阻接GND,中间节点接单片机的复位引脚(RST)。上电时电容充电,RST引脚保持低电平一段时间,等电容充满后RST变高,单片机开始运行。这种RC复位电路的延时时间由R和C的值决定,一般用10kΩ电阻和10μF电容,延时大约100ms,足够单片机完成内部初始化。
按键复位是在RC复位电路基础上加一个按键:按键按下时把RST引脚直接拉到GND,强制复位。这样调试和使用时就方便了,不用每次断电重启。按键电路里一般要加一个小电容(100nF),防止按键抖动导致反复复位。
下载/烧录接口是开发时必不可少的。不同单片机的烧录方式不一样:51单片机一般用串口烧录(需要冷启动复位),STM32用SWD接口(两根线:SWDIO和SWCLK),AVR用ISP接口。预留下载接口时要注意和其他引脚不冲突,方便调试时下载程序。
指示灯和按键是调试的好帮手。最小系统板上至少应该有一个LED指示灯(通过电阻接一个GPIO引脚)和一到两个按键。LED用来验证程序是否在跑(比如写个程序让LED闪烁),按键用来做简单的交互测试。
常见问题:晶振不起振——首先检查负载电容值对不对、焊接有没有虚焊,然后试试用手摸一下晶振有没有影响(如果摸一下就起振了,说明走线太长或者有干扰);上电后单片机不工作——先测电源电压对不对,再用示波器看复位引脚上电时有没有脉冲,最后看晶振引脚有没有振荡波形;程序下载不进去——检查下载接口的接线、复位时序、单片机的BOOT引脚(有些单片机需要BOOT引脚设置特定电平才能进入下载模式)。
总的来说,单片机最小系统看起来简单,每个模块的参数和布局都有讲究。做好最小系统是做任何单片机项目的第一步,花点时间把基本功练扎实,后面开发复杂项目时能省很多调试时间。
上一篇:新华财经早报:10月9日
下一篇:没有了