嵌入式控制系统为了实现某型军用船艇模拟训练系统的操纵控制功能而开发的。该系统基于军民两用的自动技术,采用模块化设计,可以方便地完成系统的升级改造,以适应船艇改进改型的需要,运用前景十分广阔。嵌入式控制系统是船艇模拟训练系统的控制中枢,其抗干扰设计是船艇模拟训练系统开发的重要环节,直接影响到系统的稳定运行。
时钟电路抗干扰设计
时钟电路产生CPU的工作时序脉冲,是正常工作的关键。时钟信号被干扰后将导致CPU的工作时序发生紊乱,使得系统不能正常工作。
时钟信号不仅是对噪声干扰最敏感的部位,同时也是单片机系统的主要噪声源。单片机的时钟信号为频率很高的方波,由与其频率相同的正弦基波和其倍频正弦波叠加而成。频率越高,越容易发射出去成为噪声源。此外,时钟频率越高,信息传输线上信息变换频率也越高,致使线间串扰、反射干扰以及公共阻抗干扰加剧。因而,在满足系统功能的前提下,应尽量降低时钟频率,对降低系统的电磁发射,提高系统的抗干扰性能极为有利。
系统的嵌入式控制系统时钟电路的抗干扰设计主要有以下几步。
● 时钟脉冲电路尽量靠近CPU,引线尽量短而粗。
● 用地线
● 晶振电路电容性能稳定,容量准确且远离发热元件。
● 印刷电路板上大电流信号线、电源变压器远离晶振信号的连线。
● 对于外部时钟源电路,对其芯片电源采取滤波措施。
● 时钟电路为其他芯片提供时钟信号时,采用隔离和驱动措施。
复位电路的设计
在嵌入式控制系统设计中,复位电路的设计非常重要,因为单片机应用系统工作时,会经常要求进入复位工作状态,因而要求复位电路必须准确、可靠地工作,其复位状态与应用系统的复位状态是密切相关的。
单片机的复位是靠外部电路实现的,在时钟电路工作后,只要在单片机的RST引脚上出现24个振荡脉冲(2个机器周期)以上的高电平,单片机就实现初始化状态复位。为了保证系统可靠的复位,在设计复位电路时,要使RST引脚保持10ms以上的高电平。只要RST保持高电平,MCS-51单片机就循环复位;当RST从高电平变为低电平以后,单片机就从0000H地址开始执行程序。在复位有效期间,ALE、PSEN、P0、P1、P2、P3口引脚输出高电平,即使准双向口皆处于输入状态,并将07H写入栈指针SP(即设定堆栈底为07H)。同时,将程序计数器PC和其余的特殊功能寄存器清零(不定的位除外)。复位不能影响单片机内部的RAM状态,但上电复位时,由于是重新供电,RAM在断电时数据丢失,上电复位后为随机数。复位后单片机的初始复位状态如表1所示。
系统中采用程序运行监视电路设计来满足系统的复位工作要求。程序运行监视通常都由各种类型的程序监视定时器WDT(Watch Dog Timer),俗称"看门狗"。WDT可保证程序非正常运行,如程序"死机"时,能及时进入复位状态。WDT通常有三种类型:单片机内部的WDT功能单元;μP监视控制器件的WDT电路;单片机外部设置的WDT电路。本系统中,我们使用单片机外部设置WDT电路。
图1是外部WDT电路示意图。WDT是一个带有清除端CLR及溢出信号OF输出的定时器。定时器由脉冲源PWDT、循环计数器、单稳态电路组成。PWDT提供循环计数器的计数脉冲,单稳态将循环计数器溢出信号转换成单片机的复位脉冲WRST。
图1 单片机外部WDT电路示意图
系统使用的MAX813L与8031的接口电路如图2所示。该电路可实现看门狗、电源故障监控的功能。MAX813L是一款带有WDT和电压监控功能的芯片,其WDT功能可在输入于1.6s内没有变化时,产生复位输出。同时,电压监控功能可以保证当电源电压低于1.25V时,产生低掉电输出。此外,MAX813L还能在上电时自动产生200ms宽的复位脉冲,并具备工复位功能,可以给CPU提供良好的保护。
图2 MAX813L与单片机8031的连接图
通过把WO与WR直接相连接,一旦程序跑飞,WO将变为低电平,并保持140ms以上。该信号将使MAX813L复位,同时清零看门狗定时器,使RST引脚输出高电平,将单片机复位。200ms结束后,单片机脱离复位状态,重新恢复正常的程序运行。
上述的硬件"看门狗"用于解决主程序的死循环故障,对于程序中出现的中断故障,系统使用软件"看门狗"来实现对中断的发现和处理。软件"看门狗"会在主程序中设置变量t0和t1。当T0发生一次中断,将t0加1,T1发生一次中断,将t1加1。在主程序的功能模块开始处记录下t0、t1的当前值,设置计数器的计数周期,使之小于功能模块的执行时间。这样,在功能模块的执行周期内,计数器肯定会发生中断,通过在功能模块的出口处检测
这种变化来确定是否发生了中断关闭情况,并进行故障的处理。控制器总线的抗干扰设计
由于系统使用的单片机仅仅依靠自身功能不能满足系统的要求,需要应用外部接口芯片对其功能进行扩展。而总线是单片机和外部各种接口芯片进行数据交换的通道,总线的可靠性直接关系到系统的可靠性,系统主要采取以下措施来提高总线的抗干扰能力。
采用三态门式总线驱动器提供总线的抗干扰能力。总线驱动器使用TTL型三态缓冲门电路74LS245,74LS245可用于双向驱动。三态门缓冲器能减少分布电容与电感对总线工作的影响,在总线上可连接400个芯片,其总线抗干扰能力比OC(集电极开路)门大约大10倍,可驱动100m的线。
总线接收端加施密特电路做缓冲器抗干扰。在接收端印刷板插座附件加施密特电路来做缓冲器,可以滤除外部噪声,提高总线的抗干扰性能。
8031的总线由三态输出器件构成的,在三态驱动器(D)都是高阻抗时是不稳定的。可使用上拉电阻,将总线通过5kΩ电阻R接到电源,使其在瞬间处于稳定的高电位,从而增强抗干扰能力。
改善总线的负载平衡,提高系统可靠性。
给动态RAM加旁路电容,每片
在静态RAM电路中,使电流流动印刷线跳板的各处都比较均匀,不让电流变动大的区域在印刷电路板各处频繁移动。使存储器存取瞬间所产生的噪声电压峰值变小。
接口电路的抗干扰设计
1 前向通道的抗干扰设计
前向通道是单片机应用系统的信号采集通道,从信号的传感、变换、到单片机的输入。在前向通道设计中主要考虑集成运算放大器的抗干扰设计、运放电路抗干扰装配、多路开关的抗干扰设计以及A/D转换电路的抗干扰设计。
集成运放的抗干扰设计包括集成运放电路内部、外部噪声的控制和集成运放电路共模噪声控制。
运放电路抗干扰装配措施包括:
● 将高输入阻抗部分用铜箔线围起来,并与电路的等电位低阻抗部分相接,由于隔离线和高输入阻抗部分的电位相近,泄露电流很小。
● 采用绝缘性能很好的聚四氟乙烯制成的接线底座,安装在印刷电路板上,高输入阻抗部分也都在此接线柱上相连,以保证线路的高绝缘性和抗震性。
● 将电位器和固定电阻并联,尽量采用线绕型大尺寸电位器。
多路开关的抗干扰也是以抑制噪声为主,主要包括:
● 在多路转换器输入端接入共模扼流圈,以抑制外部传感器引入的高频共模噪声。
● 多路转换器的隔离变压器采用双重屏蔽接法,切断变压器分布电容传送高频噪声和脉冲噪声的通道。
● 在单片机和数模转换器之间采用光电耦合隔离的方法,使各自产生的高频噪声不能侵入对方。
● 用电容器将前置放大器的频带变窄,降低其对高频噪声的响应能力,抑制高频噪声。
A/D转换器对模拟量的微小噪声影响十分敏感,为抑制其干扰主要采取以下措施。
● 使用金属壳聚丙烯电容器做积分电容器,把积分电容器用铜箔包起来,单独接地。
● 给每片集成电路接入一个旁路电容器以降低电源的高频阻抗,克服芯片内部的噪声和电源噪声。
● 调整各级电路的增益分配,在各级运算放大器前相应地接入简易低通滤波器,使噪声在传送过程中不断削弱,同时在运放电路与ADC输入电路之间加一个抗混叠滤波器以减少运算放大器的噪声。
● 设计ADC输入保护电流,因为电路使用±15V运算放大器驱动一个电源电压为±5V的CMOS ADC,容易造成ADC输入端电压过高,我们在+15V和+5V电源之间以及-15V和-5V电源之间分别加一个78L05三端稳压块。同时,在ADC输入端接两只肖特基二极管防止电流过大。
● 对电源单独去耦,将采样时钟电路与系统数字电路和数字电路中的噪声源都隔离,以尽量避免数字输出与采样时钟信号耦合。
2 后向通道的抗干扰设计
后向通道的抗干扰主要是D/A转换器即DAC的抗干扰设计。在系统中主要采用以下步骤。
● 采用多层PCB(印刷电路板),应用大面积的地线和电源线,在电路板的装配过程中不用插座,直接安装在电路板上。将模拟电源与数字电源分开供电,分离接地,分别加以去耦。模拟地与数字地分离并且近接于平面地。
● 在电源和相应的地之间并联跨接一个10μF的钽电容和0.01μF的片状电容,去耦电容近接D/A转换器件的引脚,以对电源去耦。
● 使用分段式电源结构器件,将几个最高权位的电流源改为等值电流源,由1位驱动一个最高权电流源(最大电流)改为驱动多个等值电流源,以抑制开关时间不统一造成的短时脉冲波形干扰。
● 在DAC输入线和驱动器输出线之间串接一个50Ω的电阻,减少数字输入上的超调和瞬态干扰。
● 在输出与地之间跨接一个5pF的电容,抑制数字量输入的瞬时变化和开关不同步引起的尖锋脉冲干扰。
3 人机通道的抗干扰设计
人机通道的抗干扰设计主要包括按键电路的抗干扰设计和LED显示接口的抗干扰设计。
系统的按键抗干扰就是在按键确认周期中使用连续多次的采样来判定按键动作。按键确认周期应该大于按键变换周期并远小于一次按键的稳定周期。
系统的LED显示部分采用5位七段LED译码/驱动芯片MC14489。由于LED的接口在应用时,很容易受到其他电子设备的干扰,使显示内容易发生改变,我们还需对其进行抗干扰设计。
在电源部分加入双电容滤波,然后结合软件设计,在控制脚的两个步骤程序之间加入一段延时,使正常信号的频谱向低频部分集中,以较好地通过滤波电容控制脚所要求的最小电平宽度。