数据处理模块的看门狗设计实现
扫描二维码
随时随地手机看文章
0引言
HKSP6102处理器是一款以PPC460处理器为核心,集成浮点处理单元、二级Cache,对外提供以太网、EBC等外设接口的高性能、低功耗的单核处理器,广泛应用于各类嵌入式计算机系统中[1]。
在嵌入式计算机系统中,通常采用看门狗来实现系统运行状态的监控,提高产品可靠性。看门狗是一种系统错误事件的检测响应机制,通过软件或硬件的方式实现对系统运行状态的监控,如果在设定时间内未收到来自系统软件的喂狗信号,则认为系统软件发生故障[2],进入中断处理程序或系统强制复 位,以保证系统发生错误时能够及时恢复正常运行[3—4]。
本文给出了一种数据处理模块的看门狗电路设计和实现方法。首先介绍了数据处理模块的系统架构,以HKSP6102为主控芯片,配置多种接口电路;然后分析了通用看门狗的设计方法及其特点;最后详细介绍了数据处理模块看门狗的设计实现。
1数据处理模块系统结构
数据处理模块的处理器、CPLD、存储单元等核心器件均采用国产元器件,操作系统采用天脉操作系统。采用一片HKSP6102处理器作为主控芯片,PPC406内核配置主频400MHz,存储资源配置:SDRAM、 FLASH和NVSRAM。硬件组成结构如图1所示。
数据处理模块通过CPLD实现处理器EBC总线的逻辑译码、中断控制以及看门狗定时器、RS422控制、PCI控制等功能。数据处理模块提供2路百兆以太 网接口、2路RS422串行接口用于模块的调试维护,提供1路PCI总线、1路SPI总线接口,实现与从设备的数据交互。
2看门狗设计
通用看门狗大致分为两类:处理器内置看门狗和外置看门狗[5]。
2.1处理器内置看门狗
主流的处理器(如PowerPC、ARM等)内部均集成了看门狗模块。HKSP6102处理器集成的看门狗模块,具有32位计数器、定时周期可配置、狗叫中断模式/复位模式可配置、计时精度高的特点,如果使用得当,可在系统软件崩溃时恢复运行。但看门狗模块可能会因处理器异常而被意外禁用,导致看门狗功能失效,需重新上电恢复系统运行[5]。
2.2 外置看门狗
2.2.1微处理器监测电路
微处理器监测电路用于监测微处理器系统中的电压,同时提供复位、看门狗等功能。微处理器监测电路的看门狗设计原理如图2所示。
#WDO:看门狗输出端即狗叫中断源,接入处理器的GPIO或CPLD中断控制逻辑中。在看门狗定时周期内未接收到喂狗信号,模块看门狗使能有效。
WDI:看门狗输入端,接收看门狗喂狗信号,由看门狗喂狗寄存器控制。喂狗信号通过软件置位寄存器值,初始化寄存器,使看门狗重新开始计数,实现喂狗操作。如果WDI保持高电平或低电平超过看门狗的定时周期1.6 S,#WDO将产生中断信号。
看门狗电路的默认定时周期为1.6S,可以通过SWT 管脚接外接电容的方式来设定看门狗的定时周期。外接电容的容值范围为4.7~20 nF。SWT外接片外电容C(单位为nF)时,看门狗定时周期T(单位为mS)的计算公式为:
T=2.1C
硬件看门狗电路设计简单,依赖于微处理器监测电路,仅具有基础的看门狗功能。微处理器监测电路参数设置不灵活,定时周期配置需进行硬件变更,且定时周期精度因受限于配置电容的容值而较低。
2.2.2可编程看门狗定时器
可编程看门狗定时器由CPLD/FPGA逻辑实现,定时周期可配置。可编程看门狗定时器支持8位、16位、32位的数据访问,支持狗叫产生中断或复位。系统软件通过总线对逻辑内部的看门狗寄存器进行访问,完成初始化参数配置、使能、喂狗等操作,实现看门狗定时器的正常工作。看门狗定时器超时产生看门狗中断,中断信号发送处理器,处理器对中断信号进行处理,同一时刻看门狗定时器重新计时;如果处理器未对中断信号进行处理,经由延时逻辑作用触发自动复位。可编程看门狗定时器设计原理如图3所示。
可编程看门狗定时器设计复杂度高,但具有功能丰富、配置灵活、使用简便的优点。可编程看门狗定时器除硬件看门狗的基本功能外,还具有看门狗狗叫次数配置、看门狗定时周期支持软件配置、定时周期精度高、空中状态看门狗自使能等功能。
3数据处理模块看门狗设计实现
数据处理模块配置有一路看门狗,为外置看门狗,通过微处理器监控电路和可编程看门狗定时器组合实现。数据处理模块看门狗设计原理如图4所示。
3.1 可编程看门狗定时器
实现数据处理模块的看门狗功能。系统软件可通过EBC总线,对看门狗寄存器进行访问。首先看门狗进行初始化,通过EBC总线完成分频因子、狗叫上限等参数的配置;之后当前看门狗定时寄存器开始递减计数,当定时器逐一递减至。后,看门狗定时超时产生看门狗中断,并在狗叫上限寄存器中置“1”,不产生复位信号,同一时刻看门狗定时寄存器的值被重新载入,开始新一轮的递减计数;当狗叫次数达到上限后,触发自动复位。
看门狗寄存器定义如表1所示。
当数据处理模块处于空中状态时,上电3。S后看门狗自使能,使能寄存器置“。”,且不能被禁止。看门狗使能前支持定时周期配置,使能后支持喂狗操作。地面状态,数据处理模块上电后,看门狗使能寄存器置“1”,可通过软件配置定时周期、使能或关闭看门狗和喂狗操作。看门狗喂狗寄存器,在超时值内完成喂狗,使看门狗内部定时器初始化重新开始计数。狗叫上限寄存器,当看门狗狗叫次数达到上限后, 自动复位。
3.2微处理器监测电路
实现对可编程看门狗定时器的监控。可编程看门狗定时器喂狗信号接入看门狗输入端WDI。当 CPLD工作异常未进行喂狗操作时,微处理器监测电路#WDO管脚产生狗叫信号,接入#MR管脚,微处理器监测电路产生系统复位信号,实现数据处理模块复位重加载。
4 结束语
本文基于数据处理模块的基本架构,详细介绍了数据处理模块的看门狗设计方法—微处理器监测电路和可编程看门狗定时器组合应用。基于微处理器监测电路的硬件看门狗实现简单、稳定;基于 CPLD的可编程看门狗定时器具有良好的通用性、扩展性,功能丰富且配置灵活。两种方式可以灵活组合应用,能够满足系统需求,有效提高系统的可靠性和抗干扰能力。
[参考文献]
[1]杨宇科,王保成.基于FPGA和EMIFA的SPI控制器系统设计[J].计算机测量与控制,2019,27(5):82-86.
[2]王少娅.基于FPGA的SPIIP核设计实现[D].秦皇岛:燕山大学,2023.
[3]刘博,强凯,詹思维.PowerPC数据处理模块的看门狗设计[J].航空计算技术,2019,49(2):105-107.
[4] 王鹏,田海波,吴科,等. 自主可控DCS分散处理单元软看门狗的设计[J].仪器仪表用户,2023,30(4):7-11.
[5]邹国民.基于CPLD的智能看门狗设计与实现[J].科技广场,2013(6):55-59.
2025年第1期第12篇