单片机组成的系统在维修中趋于常见,变频器、PLC、智能仪器仪表等工控常见设备,其控制核心大部分就是单片机。了解熟悉了单片机系统的工作原理,在维修中就可采用一些有针对性的方法和策略,做到事半功倍。下面从一款常用的51系列单片机入手来了解单片机的工作过程。
图1是由AT89S52组成的单片机最小系统。
1.单片机工作需要保证稳定正常的工作电压,通常有使用5V电源或3.3V电源的单片机。此单片机使用5V电源,40脚接5V,20脚接0V;
2.单片机工作需要时钟信号,程序按照一定的步调执行,时钟信号的频率按照单片机的具体特点和应用的具体要求给定。此单片机外接晶体振荡器和电容,得到22.1184MHZ的时钟信号;
3.单片机必须有一个复位信号来复位,使得内部各功能器件从“起点”开始工作,这样就不会出现乱套。复位信号视乎单片机的特点,保持多少个时钟脉冲的高电平或低电平。此单片机是高电平复位,复位脚RST接一个电容到VCC,接一个电阻到地。复位的原理是:接通电源的瞬间,因为电容上的电压不能突变,RST相当于对VCC短路,处于高电平状态,随着C1、R1回路给电容的充电,C1两端电压逐渐升高,使得RST变为低电平,C1和R1的选值在某个范围就可以满足复位条件。
电源、时钟、复位、是满足单片机正常工作的3个必要条件。复位以后单片机怎么做、做什么,那就交给软件来完成。软件放在哪里?放在程序存储器内。程序存储器在单片机的什么部位?内部不带ROM的,或内部ROM不够用的,要到片外去找;片内有ROM够用的,那就片内找。程序是怎么进去的?通过程序烧写器,或连接单片机和电脑的某种通讯接口来录入程序。
此外,我们还看到单片机包含的I/O端口,某些端口既可以做输出,又可以做输入,有些端口还是复用的,如计时器端口、串行通讯端口、中断入口等,端口的具体功能可由单片机程序来控制。有些输出端口是集电极或漏极开路的,输出需接上拉电阻。根据单片机数据位数不同,常见的有8位单片机,16位单片机和32位单片机。早期的单片机以8051系列8位单片机最为常见,图2是8位单片机STC系列的内部结构。
图2 STC 8位单片机内部结构
图3是16位msp430单片机.
图3 16位msp430单片机内部结构
图4是STM32系列32位单片机的内部结构.
图4 32位STM32系列单片机内部结构
可以看到,单片机的内部结构越来越复杂,功能越来越强大,但是它的基本架构还是一样的。无非把某些功能加强,增添更多的单片机外设部分。
总之,单片机虽种类繁多,千变万化,其基本结构也不外乎以上内容,其它无非就是在基本内容上的优化,及配合实际应用来配置端口和外设接法。例如复位,除了简单的阻容复位,还有用到专用复位芯片的,通过复位芯片监测电源电压情况,并正确的给定复位信号。时钟信号,也有使用有源晶振,或芯片内部自带振荡电路。通讯也有自带各种通讯接口的。程序的存储有在片外的,也有在片内的,片内的又有一次性编程的和可重新编程的。根据数据位数又有4位、8位、16位、32位单片机等。各种型号单片机都可以找到厂家提供的数据手册datasheet,可以通过查阅这些数据手册来详细了解该型单片机的结构、应用方法,从而明确维修工作的方向。
单片机电路系统的检修:
单片机系统工作异常应该从以下几个方面检查:
(1)电源是否正常?
检查电源是否正常,不能简单的使用万用表直流电压档测一下电压是否到位就行。比如万用表测试5V电压,能显示5V就认为电源正常了,这种测试方法是不可取的,因为万用表测试的只是电压的平均值,电源的纹波并没有测试出来。
正确的操作应该是取4位半精度以上的数字表,一边测试直流电压,一边观察万用表电压显示值,如果电压显示的小数点最后面一位数字都不波动或者波动一两个值,说明测试的电压非常稳定。例如测试5V电压的时候显示5.022V~5.024之间跳动或者一点都不跳动,则电压稳定,假设电压在5.000~5.123之间跳动,则电源纹波过大,可能影响单片机工作。
还可以使用万用表的交流电压测试档来测试直流电源的交流成份。如果交流电压超过直流电压值的2%,说明电源纹波太大。例如,使用交流档测试5V直流,如果显示数值稳定后显示交流电压大于5V的2%即0.1V以上,说明纹波过大。
最直观的方法当然是用示波器测试电源的纹波,观察纹波波幅,幅度也以不超过直流电压的2%为宜,或者多测试一下正常时候的波形,建立起电源正常与否的直观感受。
图5 电源纹波的测试
(2)晶振是否正常?
图6 示波器探头输入电阻切换开关
有源晶振,也可以使用万用表测试,直接测试晶振信号输出脚的对地电压即可,正常应该是电源电压的一半,如果是电源电压或0V电压,说明晶振已经损坏。
(3)复位是否正常
有些单片机需要高电平复位,有些需要低电平。低电平复位,会在单片机管脚名称上加横线或在前面加“*”号,例如RESET,或者*RESET,高电平复位则没有上横线或“*”号。
高电平复位的单片机,电路板通电后复位脚保持短暂时间的高电平,然后变成低电平。如果通电后用万用表测试复位脚就一定是低电平,如果还是高电平或者有脉冲,说明复位有问题;低电平复位的单片机,电路板通电后复位脚保持短暂时间的低电平,然后变成高电平。如果通电后用万用表测试复位脚就一定是高电平,如果不是高电平或者有脉冲,说明复位有问题。
单片机复位的方式有几种,包括简单的阻容复位,专用复位芯片复位以及受控复位。
图7 简单阻容复位
如图7所示为简单阻容复位。电路使用一个电阻和电容串联,电路开始通电后,电容和电阻组成的充电回路在电容两端产生的电压有一个上升过程,电压在超过某个阈值后,复位脚实现高电平-低电平切换,或者实现低电平-高电平切换,单片机完成复位过程。另外在电容两端还可以并联手动复位按钮,可以实现手动复位重启。
图9 常用复位芯片MAX690A MAX802L
MB3771兼有上电复位和电源电压监测复位功能。系统上电后,复位脚8脚因为内部连接的三极管导通,所以是输出低电平,同时芯片内部恒流源向1脚外接电容充电,充到电容电压超过1.24V后,连接的比较器翻转,输出低电平,三极管截止,复位脚变为高电平,上电复位完成。VCC电压由内部100kΩ和40kΩ电阻分压,分得电压正常情况下高于参考电压1.24V,一旦VCC电压过低,电阻分压也过低,当电压低于1.24V,比较器翻转,控制8脚输出低电平,输出复位信号,当VCC电压过低的情况排除后,复位脚又恢复高电平,完成复位工作,单片机重启。这可以防止因为偶尔电压过低造成的单片机数据混乱,避免单片机程序跑飞,造成死机。另外芯片6脚也可以外接取样电阻,监控其它电压,如果不接取样电阻,可以将6脚接VCC。
图9所示芯片兼具上电复位、电压监控、RAM电压管理功能、看门狗功能。该芯片除了对VCC电压监控以外,还可以对另一个电压进行监控,另一个电压由外电路R1、R2分压输入PFI,如果电压跌落,PFO输出低电平给单片机处理。VOUT电压供给RAM芯片,芯片VCC上电后,VOUT输出电压取自VCC,断电后,电压取自VBATT脚连接的电池。来自单片机的看门狗信号连接芯片的WDI脚,这是每隔一段时间输入一个脉冲信号,用来复位芯片的看门狗计时器,如果单片机死机,看门狗脉冲信号就会丢失,芯片的看门狗计时器超时,就输出复位信号给单片机,单片机重启。
有些单片机的复位信号不是来自专用复位芯片,可能来自另一个单片机或者复杂IC的输出。
来源:深度工控
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。