一种应用于机载网络节点的复位方法

时间:2022-04-10 08:11:40

一种应用于机载网络节点的复位方法

摘要:通过分析机载网络节点各个复位源的特点,针对复位过程中产生的访问错误和复位死锁问题,设计了一种软硬件结合的复位方法。首先介绍了该复位方法的实现架构,其次分析了该复位方法的各种复位过程,最后说明了应用该复位方法时需要注意的问题。结果表明该复位方法在成功复位网络节点的同时,还可以实时检测网络节点的运行状态,有利于提高系统设计的可靠性。

关键词: 网络节点1; 复位2; 死锁3; 故障检测4

中图分类号:TP331.2 文献标识码:A 文章编号:1009-3044(2016)03-0288-03

1 引言

随着机载电子系统的发展,网络节点的设计日益复杂,如何确保网络节点的稳定运行已经成为系统设计的关键。复位功能是系统正常运行的先决条件[1],网络节点需要使用一种可靠的复位方法。

复位就是为了把系统初始化到一个确定的状态[2],它的基本功能就是在系统上电时提供复位信号,直至系统稳定后,撤销复位信号;或者在系统异常时对系统进行复位,使系统恢复正常工作。

本文通过分析网络节点的复位情况,设计了一种软件和硬件结合的复位方法。该方法能够处理各种复位之间的组合及顺序,保证网络节点在上电后成功复位,又可以实时检测网络节点的运行,确保网络节点出现故障后自动进行复位。

2 网络节点复位分析

为了增强网络节点的通用性,系统采用主机和网络节点分离的方法。主机和网络节点在上电后分别进行复位,复位完成后主机通过主机接口访问网络节点。

复位通常包括上电复位、外部复位、软件复位和看门狗(WatchDog)复位[3],网络节点的复位源由本地和外部两部分复位源组成,本地复位源包括上电复位和看门狗复位,外部复位源包括主机硬件复位和主机软件复位。

上电复位:该复位在网络节点上电时提供复位信号,确保网络节点在上电后进入初始化状态。由于网络节点在上电时需要将程序从存储器搬至FPGA,上电复位信号在程序搬运完成前持续有效;

看门狗复位:该复位在网络节点运行异常时提供复位信号,确保节点检测到故障后进行节点复位。检测的故障包括软件跑飞、时钟故障和电源故障;

主机硬件复位:该复位为主机通过硬件连线提供的复位信号,确保主机将节点复位到初始化状态。复位的时机为主机上电或需要单独复位节点时;

主机软件复位:该复位为主机通过软件命令发送的复位。网络节点在接收到软件复位命令后通过解析生成复位信号,然后控制需要复位的功能模块和软件进行复位。

网络节点在使用这几种复位源时,因为使用顺序错误或组合不当会产生访问错误或复位死锁的问题。

2.1 访问错误

使用上电复位和主机硬件复位组合时,如果上电复位先完成,则主机在主机硬件复位完成后可以正确访问网络节点。如果主机硬件复位先于上电复位完成,主机访问网络节点时网络节点正在上电复位,会出现访问错误,见图1。

从图1的示图(A)可以看出,网络节点在A1时刻完成上电复位。主机在之后的A2时刻完成主机硬件复位,此时主机访问网络节点正确。示图(B)可以看出,主机在B1时刻完成主机硬件复位,网络节点在B2时刻完成上电复位。主机在B1到B2这段时间访问网络节点时网络节点还在上电复位,会出现访问错误。

2.2 复位死锁

为了避免访问错误,网络节点在复位后上报完成信号给主机,主机撤销主机硬件复位后再访问网络节点。如果网络节点将主机硬件复位作为复位完成信号的输入,会出现复位死锁的问题,见图2。

主机硬件复位信号作为网络节点复位的输入控制网络节点开始复位,所有的复位源撤销后生成复位完成信号,但主机在收到复位完成信号后才能撤销主机硬件复位信号,网络节点出现了复位死锁错误。

由以上分析可以看出,复位的顺序和组合会影响网络节点的运行,合理分配复位的顺序以及作用的范围非常重要。

3 复位系统设计

为了解决网络节点访问错误和复位死锁的问题,设计了一种复位方法。该复位方法基于先本地后外部的复位原则,按照从硬件到软件的复位顺序,使用上电复位、看门狗复位、主机硬件复位和主机软件复位作为输入,在复位完成后上报完成信号给主机。复位系统框图见图3。

功能模块中的时钟检测单元负责检测时钟的正确性,生成硬件喂狗信号,软件中的软件检测程序检测软件的运行情况,生成软件喂狗信号。硬件喂狗和软件喂狗信号通过逻辑与输入复位芯片,由复位芯片生成看门狗复位,复位芯片同时对电源进行检测。

看门狗复位和上电复位通过逻辑与后生成本地复位。主机硬件复位和本地复位分别送给功能模块,主机软件复位通过软件命令送给软件。本地复位完成后由软件生成复位完成信号上报给主机,主机在主机上电复位完成后检测该信号,在该信号有效时主机才能访问网络节点。

主机硬件复位和本地复位均可复位节点的所有功能模块和软件,主机软件复位可以复位节点的相关软件及功能模块。所有的复位必须先完成功能模块的复位后才可以完成软件的复位。

网络节点是主机访问的对象,当本地复位和主机复位组合进行复位时,应先完成本地复位,主机检测到本地复位完成再开始主机复位。

4 网络节点复位过程

网络节点的复位过程可以分为上电初始化复位、故障检测复位和主机复位。

4.1上电初始化复位

上电后,网络节点首先开始上电初始化复位,使用上电复位作为输入,复位过程如图4。

上电初始化复位的持续时间由程序加载时间决定,可以通过加快程序加载减少上电初始化复位时间。

4.2故障检测复位

网络节点在运行过程中实时检测时钟、电源及软件运行的情况。当时钟、电源及软件出现异常时通过使能看门狗复位复位网络节点。如果故障在复位后无法消除,则看门狗复位持续复位网络节点。故障检测复位过程如图5。

4.3主机复位

主机在需要复位网络节点时,通过使能主机硬件复位或主机软件复位进行复位,主机复位过程如图6。

主机硬件复位的持续时间由主机决定,在主机准备好访问网络节点前撤销主机硬件复位即可。主机软件复位通过软件解析生成复位信号,该复位信号在相关功能模块和软件开始复位后撤销。

当本地复位和主机复位组合进行复位时,系统先执行上电初始化复位过程,再执行主机复位过程。

通过以上分析可以看出,上电初始化复位、故障检测复位和主机复位均可成功复位系统,其复位过程不会引起访问错误或复位死锁的问题。

5 应用中需要注意的问题

本设计中主机和网络节点上电时为异步复位,在应用该复位方法时需要合理分配复位的过程。

PCIE总线规范中规定,设备退出复位状态后,必须在80ms内开始链路定向和初始化。为了使软件可见,设备必须在复位结束的100ms内准备好接收配置请求。[4]

当使用PCIE总线进行通信时,主机和网络节点分别在复位完成后开始链路定向和初始化,如果两者复位结束的时间相差大于100ms, PCIE链路定向和初始化失败,主机无法通过PCIE总线接口访问网络节点。

为了解决该问题,在使用PCIE总线等对初始化时间有要求的总线接口进行通信时,主机需要在网络节点上电复位完成后单独对网络节点进行一次主机复位,使主机和网络节点同步完成复位,保证总线接口初始化成功。

6 结束语

本文针对网络节点提出了一种软硬件结合的复位方法。通过分析该复位方法的复位过程表明,该复位方法不但可以成功复位网络节点,还可以实时检测网络节点的运行状态,同时消除访问错误和复位死锁的问题,有利于提高系统设计的可靠性。目前该设计已成功应用于机载网络节点中。

参考文献:

[1] 王艳军, 张勇. 一种实用的多芯片系统同步复位方法[J]. 光电技术应用, 2007,22(5):60-62.

[2] 金立平.浅析MCU系统的复位电路[J].硅谷,2010(9):23.

[3] 孙国志,宁宁,张弛. 一种片上系统复位电路的设计[J]. 电子技术应用,2012,38(12):32-35.

[4] Ravi Budruk, Don Anderson,Tom Shanley, PCI Express System Architecture.TIAN Y, WANG S,ZHANG B, translated, Beijing: Publishing House of Electronics Industry,2005.( Ravi Budruk, Don Anderson,Tom Shanley, PCI Express系统体系结构标准教材[M]. 田玉敏,王崧,张波,译. 北京:电子工业出版社,2005.

[5] 王国辉. Reset与嵌入式系统应用的稳定性[J]. 单片机与嵌入式系统应用,2013(8):5-8.

[6] 林学龙. MPC8xx系列处理器的嵌入式系统复位电路设计[J]. 单片机与嵌入式系统应用,2005(4):80-83.

[7] 郝建, 原茵茵. FPGA复位的可靠性设计方法[J]. 电子科技, 2013,26(10):125-127.

[8] 杜B. 单片机复位状态及外设复位信号的处理[J]. 信息技术与信息化,2014(12):70-71.

上一篇:浅析互联网与物联网的联系及其发展趋势 下一篇:基于Q学习的多目标分时段路通控制