一、单片机系统设计简述
经过几十年的发展,现在的单片机技术已经非常的成熟,相关的系统设计软件也有很多,目前在进行单片机系统设计时,通常采用C语言进行程序的编写,为了满足不同工业生产的需要,单片机中的功能模块会有一些差别,目前市场上使用最多的单片机就是Atmel公司生产的AT89SC51和AT89SC52,根据单片机型号的不同,相应引脚的功能也会有所变化,而在系统的设计时,首先要明确的就是单片机各个引脚对应的功能。虽然单片机型号的不同,相应程序编写时引脚的代码会有所变化,但是在所有单片机系统设计中,最小系统的设计与调试都是非常重要的,单片机的最小系统是调试程序和单片机工作的基础,通常情况下,一个最小系统包括了单片机芯片、电源模块、时钟模块、复位模块几个部分,在进行单片机系统的设计时,由于单片机自身没有人机交互模块,因此必须借助一些辅助设备才能完成,通常情况下都是从硬件和软件两个方面来考虑辅助设备,硬件方面需要计算机、数据线和万用表等必要的辅助工具,软件方面就需要Keil等程序编写软件和必要的***软件,随着单片机自身的不断进步,现在已经出现了ISP***编程功能,传统的单片机系统设计中,要想向单片机中写入程序,必须将单片机从系统中拿下,放到指定的系统中,然后与计算机进行连接,通过***程序进行写入,而现在的工业生产开始向多样化发展,甚至在一些工业生产中,需要不断的对程序进行修改,如果每次修改都需要对单片机进行拆卸和安装,不但会影响生产的效率,单片机的接口也会受到一定的损坏,而ISP***编程就不需要以上的步骤,单片机在电路板上时,依然可以对程序进行修改和重新***等操作。
二、单片机系统设计的方法和步骤
随着单片机应用的范围越来越广,相应的系统设计也越来越多样化,因此在进行单片机系统开始时,第一个要明确的就是设计的目的和可行性分析,首先应该了解单片机要控制的对象,对控制系统的要求进行深入的分析,对系统的整体有一个充分的了解,只有在明确了以上的信息后,才能进行总体方案的设计,在总体方案的设计中,应该根据分析的结果,对单片机系统的构成方式进行确定,进而确定系统的信号检测方式等,以上两个步骤属于理论上的设计,在理论设计完成后,就要从硬件和软件两个方面来进行实际的设计,一般情况下,都是按照先硬件后软件的顺序进行,在硬件设计中,首先要做的就是原理***的设计,目前市场上有很多原理***设计的软件,例如英国Labcenterelectronics公司研发的Proteus等,然后在原理***的基础上进行元件的选择,这些都可以在Proteus软件内完成,用元件连接出一个原理***之后,可以选择直接制作电路板,然后再进行软件的设计,但是在实际的生产过程中,这样的过程经常会发现印制出的电路板存在问题,软件的设计无法正常进行,从而需要重新制作电路板,针对这种情况,Proteus等软件都集成了仿真的功能,因此可以在连接完原理***之后,就进行软件的编写,如果采用51系列单片机,程序的编写可以采用美国KeilSoftware公司开发的Keil系列软件,软件调试成功后,就可以利用软件的仿真功能,对设计的单片机系统进行功能的调试,如果没有发现任何问题,再进行电路板的印制,那么将会极大的减少错误的出现率。
三、单片机系统设计的误区及对策
在单片机系统的设计中,CPU死机是一个重要的问题,在出现了死机的情况后,系统整体后无法响应,严重时甚至会烧毁一些元器件,只有通过复位按键后,才能使系统恢复正常,针对这种情况,很多单片机系统设计时,都会添加一个定时器DogTimer,也就是人们俗称的看门狗,这个DogTimer定时器是按照一定的速率来计时的,当时间达到计时器设定的标准后,就会执行复位的命令,单片机系统在实际的工作过程中,CPU会定时的向这个定时器发出清零的命令,使DogTimer定时器不能满足复位的要求,而造成CPU死机的主要原因就是执行命令的过程中,CPU进入了一个死循环,从而不能正常的执行程序,如果添加了这个DogTimer定时器,CPU在进入到死循环后,就不会对定时器发出清零的命令,那么定时器就会达到设定的标准,然后自动的执行复位的命令,以这样的方式来解决死机的问题,由于这种方式非常简单,很多单片机自身就集成了这个功能,最大程度的降低CPU死机的次数,很多单片机系统设计人员也认为,有了这个定时器后,CPU就不会出现死机的问题,通过实际的调查发现,即使有了这个定时器的存在,也会因为很多原因导致CPU死机,因此可以说这是单片机系统设计的一个误区,例如当CPU进入一个死循环之后,会不断的执行死循环中的命令,如果这个死循环的命令刚好和定时器清零的命令一样,那么导致的现象就是CPU不断的向定时器发出清零的命令,这是CPU虽然已经处于死机的状态,但是定时器却已经失效了。
针对这种现象,可以对定时器进行必要的完善,例如可以做双保险,即设计两个定时器,一个定时器和传统的定时器一样,执行对CPU看护的功能,而第二个定时器就是防止前面所说定时器失效问题,第二个定时器可以设置为执行一个主循环清零一次,对于清零的命令两个定时器是***的,这样即使CPU进入到了一个死循环,死循环中又包涵了一个定时器的清零命令,那么另一个计时器也会检测出来,从而对CPU执行复位,这种双保险的设计就有效的解决了定时器失效的问题,使单片机系统设计中CPU死机的几率将到最低,通过实际的调查发现,目前很多设计人员在进行系统设计时,考虑到单片机已经集成了一个防止死机的定时器,在设计中就不再进行防死机定时器的设计,这样完全依赖CPU集成定时器的做法,是不科学的,从实际应用的效果来看,CPU集成的定时器对防止死机能起到一定的效果,但是这种效果没有最大化,随着工业生产水平的提高,很多生产线对单片机系统的要求是百分之百不死机,这样仅仅依靠单片机集成的定时器显然无法完成,因此在进行单片机系统设计时,无论有没有集成的防死机定时器,都应该针对性的设计一个科学合理的定时器,最大程度的保证CPU不会出现死机的现象。
在单片机系统设计中,还有一个很大的误区就是PCB布线中,由于单片机系统设计已经存在了几十年,经过多年的积累,有很多宝贵的经验值得我们借鉴,但是由于电子行业的特殊性,摩尔定律揭示了每个十八个月,电子行业的技术就会翻倍,正是这种更新的频繁化,导致了一些过实的经验还被人们使用,例如在PCB布线中,设计人员根据以往的经验,都喜欢横平竖直的去布线,而且认为粗线比细线好,在传统的单片机系统中,这样的布线的确能够带来很多方便,但是随着PCB电路板的进步,层数越来越多,线路之间的电磁干扰已经成为了一个严重的问题,在这种背景下,传统的PCB布线方式无疑就是错误的,是目前单片机系统设计中存在的一个误区,为了使电路具有良好的抗电磁干扰能力,在PCB布线时首先应该做好地线层,在布线的过程中尽量保持线路之间的距离,现在看来这样的布线方式才科学、合理。
四、总结
总之,在进行单片机系统开发的过程中,要注重对误区的认识,从而提高其开发的效率和质量。在实际的工业生产中,也需要通过不断的改进和测试,保证其结果的准确性。通过全文的分析可以知道,在电子设备已经普及应用的今天,单片机作为一种控制系统,越来越受到人们的重视,而根据单片机应用的领域不同,系统设计也会有较大的差异,要想让单片机更好的在不同领域中使用,就要做出一个科学合理的设计,但是通过实际的调查发现,目前的单片机系统设计中,虽然设计的方法和步骤已经有了一定的标准,但是在设计的过程中还是存在一些误区,这些误区很容易使设计出来的系统无法正常的工作,相信随着时间的推移,人们对单片机系统设计研究的深入,这些误区都会得到很好的解决。
作者:刘颖 单位:长春职业技术学院食品与生物技术分院