基于32位单片机MC68HC376高可靠系统设计
引言
随着工业技术的不断发展,对单片机控制的要求也越来越高,需要单片机具备更高的反应速度和更强的数据处理能力,各种高性能的新型单片机得到了迅猛的发展和应用。
单片机上主要是高速的数字信号,弱信号很容易受到外界的电磁干扰,同时,单片机系统也会发生掉电、死循环等问题。在工业控制场合,一旦控制发生错误,将会造成难以估计的损失。因此,如何提高控制的可靠性是长期以来的一个重要问题。本文介绍了应用32位高性能单片机MC68HC376的一种实际开发方案,同时重点讨论了提高系统可靠性的设计和实现方法。
MC68HC376是Motorola公司推出的一种新型的32位高性能单片机,具有极强的数据处理、逻辑运算和信息存储能力,且支持BDM(Background Debug Mode)模式。通过简易的专用电缆接口,可以直接对微控制器系统进行仿真开发和烧录程序。此外,由于MC68HC376内部集成度高,外部扩展工作少,因此本身具有较强的抗干扰能力;同时通过外部硬件电路以及软件的抗干扰设计,控制系统可以实现较高的可靠性。
图1 MC68HC376应用系统结构框图
图2 系统监控电路
图3 高稳定的滤波电路
图4 闭锁控制电路
控制系统的基本结构设计
MC68HC376的基本性能
MC68HC376的集成度高,其主要功能模块包括32位CPU;系统集成模块 (SIM);4K备用RAM;8K片内ROM;10位队列式的模数转换器(QADC);队列式串行通信模块(QSM);可构造时钟模块(CTM4);时间处理单元(TPU);3.5K静态TPURAM;CAN控制模块(TOUCAN)。其基本性能如下:
(1) 24位地址总线、16位数据总线结构,支持32位数据操作。
(2) 2个8位双功能I/O,1个7位双功能I/O,16~44个模拟量输入通道。
(3) 具有系统保护逻辑,同时可进行时钟监视和总线监视。
(4) 速度快,在4.194MHz的晶振下系统时钟可达20.97MHz。
(5) 功耗低,具备低功率休眠功能。
(6) 支持高级语言和背景调试。
系统扩展的基本结构
MC68HC376内部集成度较高,因而其所需的外围扩展工作较少。基本结构包括外部 Flash ROM、RAM、模拟量输入通道、数字量输入通道、键盘、液晶显示、RS-232电平转换器MAX232和CAN控制器CAN250等,其结构框图如图1 所示。本文重点讨论系统的可靠性设计。
系统的可靠性设计
硬件可靠性设计
*微处理器硬件监控电路
本文采用监控器MAX705芯片构成外部监控电路,电路外部接线如图2所示。该电路具有看门狗定时器、自动和手动复位功能,以及电压门限监测功能。
由于在系统上电、掉电以及供电电压不足时, CPU和总线逻辑状态不确定,因此应该将微控制器维持在复位的状态,以避免控制错误。对于MAX705,复位门限电压为4.65V,故当Vcc低于 4.65V时,系统保持在复位状态。同时,将Vcc与PFI引脚相连,当Vcc低于1.25V时,由PFO引脚输出示警信号,若较长时间处于电源示警状态,则可能出现电源故障,应该加以处理。
当系统正常运行时,由MC68HC376的CTM4模块的CTD4通道以小于1.6s的间隔定时向MAX705的WDI引脚提供脉冲;一旦系统不能正常运行而导致MAX705的WDI引脚失去脉冲时,看门狗定时溢出使得/WDO为低,由于 /WDO与手动复位引脚/MR相连,因此/RESET脚向MC68HC376发出低有效的复位信号,使系统恢复到复位状态。
*外部滤波电路
由于系统采用外部参考频率源,为了提高系统频率的稳定性和可靠性,所以需要在MC68HC376的XFC脚上接入滤波电路。该电路应尽可能降低XFC脚的泄露电流,以提高时钟的稳定性和内部锁相环的性能。图3所示为高稳定的滤波电路。
*输出驱动电路可靠性设计
控制装置通过对系统状况进行监测和分析后,向控制和调节的动作单元提供控制信号。如果输出信号受到干扰或者由于装置故障而发出错误的控制信号,那么会因产生错误的调节控制动作而使系统受到危害。因此,对于输出驱动电路应该加以相应的闭锁控制和抗干扰设计,以提高控制的可靠性。
(1) 闭锁控制电路
这里采用可再触发双/单稳态多谐振荡器74LS123 来构成输出闭锁电路,电路接线如图4所示。
将74LS123的A脚与MC68HC376的CTM4模块的CTD4通道相连,由于在正常情况下CTD4定时提供脉冲,使得振荡电路不能发生翻转,此时,/Q保持为1;如果装置故障,使得CTD4失去脉冲,则振荡电路使得/Q翻转变为0,因此闭锁信号变为0对输出控制信号闭锁。
同时,与门4081的另一脚接至MC68HC376的TPU模块的TCH15脚,直接由 MC68HC376控制。在正常运行中,当需要输出控制信号时,置TCH15为1;当不需要输出控制信号时,置TCH15为0,则使闭锁信号为0,闭锁输出部分,这样就防止了由于干扰或其他原因造成的误动作。
(2)
- 32位单片机LPC11C14学习(11-29)
- 32位单片机c语言编程笔记(11-20)
- 32位单片机全方位解读:工程师最关注什么(10-30)
- 基于MC68HC376单片机的可靠性设计(08-25)
- 资深人士谈产品可靠性:质量反馈信息至关重要(01-20)
- 基于高速DSP PCB板系统的可靠性设计(06-27)