学单片机的朋友都听过"最小系统"这个词。所谓最小系统,就是让单片机能正常工作的最精简电路。再复杂的开发板,核心也是这套最小系统。搞懂最小系统的构成和每个部分的作用,对后续学习单片机应用开发非常重要。
最小系统通常包括四个部分:电源电路、晶振电路、复位电路和下载/调试接口。有些单片机还需要外部存储器或者 boot 选择电路,但最基本的就这四样。电源电路给单片机供电,晶振电路提供时钟信号,复位电路让单片机能从初始状态开始运行,下载接口用来把程序烧进去。
电源部分看似简单,其实有不少讲究。单片机对电源电压有明确要求,比如STM32F103一般是3.3V,STC89C52是5V。电压不能偏差太多,否则芯片工作不稳定甚至损坏。电源引脚附近一定要放退耦电容,通常是100nF的陶瓷电容,紧贴芯片电源脚摆放。退耦电容的作用是滤除电源上的高频噪声,给芯片提供一个干净的电源。很多新手图省事不加退耦电容,结果单片机时不时死机或者复位,查半天查不出原因。
晶振电路是单片机的"心跳"。单片机内部的操作都是按时钟节拍进行的,没有时钟就动不了。外部晶振的频率决定了单片机的运行速度。常见的晶振有8MHz、12MHz、16MHz,高速单片机可以用到几十甚至上百MHz。晶振两端要接负载电容,一般是20pF到30pF的瓷片电容。负载电容的容值影响晶振的振荡频率,要根据晶振规格书来选。现在很多单片机内部集成了RC振荡器,可以不接外部晶振,但精度不如外部晶振,对时序要求高的场合还是建议用外部晶振。
复位电路的作用是上电时或者手动按下复位键时,让单片机从程序的起始地址重新开始执行。最简单的复位电路是一个电阻加一个电容。上电瞬间电容相当于短路,复位引脚保持高电平(或低电平,看单片机类型),电容慢慢充电,电压逐渐变化,当达到阈值时复位结束,单片机开始运行。手动复位就是按一个按键,把复位引脚直接拉到有效电平。有些单片机还内置了上电复位电路,可以省掉外部复位电路,但手动复位按键一般还是保留。
下载接口是程序和单片机之间的桥梁。不同单片机的下载方式不一样。STC单片机通常用串口下载,接TXD、RXD和GND就行,配合冷启动。STM32可以用串口、SWD或者JTAG下载。SWD只需要两根数据线(SWDIO和SWCLK)加电源地,比JTAG省引脚,是最常用的调试接口。画最小系统图时,要把这些接口引出来,做成排针或者焊盘,方便连接下载器。
画最小系统PCB的时候,有几个布局要点。晶振和负载电容尽量靠近单片机的时钟引脚,走线短且对称。复位电路的按键放在方便操作的位置。退耦电容紧贴电源引脚,接地端直接打过孔到地层。下载接口放在板子边缘。把这些基本功做扎实了,后面扩展其他功能的时候才会稳定可靠。
下一篇:没有了