装载操作系统国产化板卡复位系统的研究
2022-07-07宁东平张志强
宁东平,张志强,黄 茨
(中科芯集成电路有限公司,江苏无锡 214072)
1 引言
近年来,由于集成电路行业严峻的国际形势,应用在各个领域的板卡对芯片国产化和自主知识产权的需求日益增加[1]。装载操作系统的国产CPU[2]板卡在各个领域应用广泛,运行操作系统时,CPU 的工作会受到外界因素干扰,造成自身寄存器和内存数据混乱,导致程序出错,使整个系统无法正常工作。看门狗电路用于监视系统运行情况,一旦出现异常,输出复位信号,复位整个系统。
目前,应用的看门狗电路包括软件看门狗电路[3-4]和采用复位芯片的看门狗电路[5-6]两类。软件看门狗的工作原理是在CPU 中采用内部定时器,通过程序初始化写入初值,设定溢出时间,在规定时间内定时器未被赋值,则会复位系统。在系统启动阶段或者运行阶段,若出现CPU 完全死机的情况,软件看门狗无法进行复位操作。采用复位芯片的看门狗电路是在CPU 看门狗与CPU 复位管脚之间增加复位芯片。复位芯片的溢出时间都比较短,在溢出时间内没有喂狗信号则会输出复位信号[7]。在系统未加载完成的时候CPU 无法输出喂狗信号,会造成复位芯片频繁输出复位信号,进而导致CPU 无法启动。因此,本文提出了一种新型的复位电路。
2 电路原理与设计
2.1 电路设计
在国产化板卡中应用的CPU 厂商主要包含3 类:第一类是IP 内核授权模式,例如兆芯、海光;第二类是指令集架构授权模式,例如飞腾、华为;第三类是授权加自主研制模式,例如龙芯、申威。第三类模式后期自主研发,完全自主可控[8-9]。龙芯CPU 处理器主要用于网络、平板电脑以及工控等领域[10],其应用的最小系统框图如图1 所示。
图1 CPU 应用的最小系统
龙芯CPU 运行操作系统启动时间约为4 s,在系统启动阶段需要进行延时喂狗。本文提出了一种新型的复位系统设计方案,结构框图如图2 所示,主要由看门狗、定时器及缓存器等组成。
图2 复位系统结构
看门狗采用的芯片为MAX706,能够实现上电复位、看门狗定时器溢出、电源欠压警告、电源欠压复位以及外部硬件复位等功能,看门狗的典型溢出时间约为1.6 s。
定时器采用的芯片为NA555,能够简便地构成施密特触发器、单稳态触发器以及多谐振荡器。NA555广泛应用于波形的产生与变换、测量与控制、家用电器等领域。定时器NA555 的真值表如表1 所示。
表1 定时器NA555 的真值表
缓冲器采用的芯片为74LVC1G125,其具有三态控制,真值表如表2 所示。
表2 缓冲器74LVC1G125 的真值表
在CPU 系统启动阶段,复位系统利用定时器NA555 延时输出高低电平,使能缓冲器74LVC1G125的输出,从而延时使能看门狗MAX706 的硬件复位,实现延时喂狗。在系统加载完成后,CPU 输出喂狗信号。看门狗MAX706 正常运行,监控系统运行的状态。复位系统的电路设计如图3 所示。ACPI_SYSRSTN 为CPU(U4)的复位信号,用于系统复位。WDO_A 为看门狗MAX706(U3)的溢出输出信号。在看门狗典型溢出时间1.6 s 内若WDI 端口无喂狗信号CPU_RST_WDI输入,WDO_A 为低电平,否则为高电平。WDO_B 为MAX706(U3)的外部复位输入信号,当WDO_B 为低电平时,看门狗的RESET 端口输出低电平,使复位信号ACPI_SYSRSTN 变为低电平,复位整个系统。
图3 复位系统的电路设计
2.2 功能说明
在CPU 系统启动阶段,定时器U1引脚TRI 的电压VTRI<1/3 VCC,引脚VO 输出高电平。此时,引脚THR因外接RC 充放电路(由R1与C1组成),其电压VTHR不能突变。当VTHR<2/3 VCC且VTRI>1/3 VCC时,引脚VO保持输出高电平。当RC 电路充电完成后,VTRI>1/3 VCC,引脚VO 输出低电平。缓冲器U2的使能引脚OE 连接至定时器U1的VO 引脚,当OE 为高电平时,WDO_A 与WDO_B 断开,禁止看门狗硬件复位;当OE 为低电平时,WDO_A 与WDO_B 连接,使能看门狗硬件复位。复位系统的功能如表3 所示。
表3 复位系统功能
通过改变定时器NA555 的THR 引脚RC 充放电路的电阻(R1)和电容(C1),可以调整硬件复位使能的时间。
3 验证
通过电路设计与功能说明后,对复位系统进行原理验证板卡测试验证。原理验证板卡如图4 所示,硬件测试平台由原理验证板、直流电源、万用表与示波器组成。在验证板供电之前,用万用表测试板卡上各个电源,确保无短路现象。在验证板卡供电后,用万用表测试各个电源,确保其电压值满足系统要求。在保证各个电压正常后,CPU 正常启动。此时,采用示波器捕捉关键信号的波形,验证复位系统原理的正确性。
图4 原理验证板
在CPU 系统启动阶段,使用示波器探头分别测试定时器NA555 的VO 引脚电压VVO(VOE)与缓冲器74LVC1G125 的Y 引脚电压VWDO_B波形,测试波形如图5 所示。从测试波形得出,板卡上电时,VVO(VOE)为高电平,缓存器使能无效,信号WDO_A 与WDO_B断开;缓冲器74LVC1G125 的Y 引脚被上拉至电源电压,其电压VWDO_B为高电平,禁止看门狗MAX706 外部硬件复位。大约3.8 s 后,定时器的THR 引脚充电完成,其VVO(VOE)为低电平,缓冲器使能。信号WDO_A与WDO_B 连接,使能看门狗MAX706 的外部硬件复位。此时,CPU 加载系统完成,输出喂狗信号CPU_RST_WDI,保持看门狗信号WDO 为高电平。
图5 VVO(VOE)与VWDO_B 测试波形
在CPU 系统启动阶段,使用示波器探头测试看门狗MAX706 的引脚MR 电压VWDO_B与引脚RESET 电压VACPI_SYSRSTN波形,测试波形如图6 所示。从测试波形得出,CPU 加载系统过程中VWDO_B与VACPI_SYSRSTN保持高电平。在系统加载完成后,CPU 输出喂狗信号,VWDO_B与VACPI_SYSRSTN一直保持高电平;若喂狗信号出现异常,看门狗输出复位,VWDO_B变为低电平。CPU被复位,重新加载系统。
图6 VWDO_B 与VACPI_SYSRSTN 测试波形
4 结论
在CPU 系统启动阶段,装载操作系统国产化板卡需要延时喂狗。因此,本研究设计了一种由看门狗、定时器以及缓冲器等组成的新型复位系统,通过电路设计、功能说明以及原理验证板卡的测试验证表明,在CPU 系统启动阶段,设计的复位系统断开看门狗溢出输出端与外部复位输入端的连接;在看门狗输入无翻转信号时,复位信号ACPI_SYSRSTN 保持高电平,不会复位CPU;在系统加载完成后,CPU 输出喂狗信号。此时,看门狗溢出输出端与外部信号输入端连接,看门狗正常工作,监控整个系统的运行情况。综上所述,在CPU 系统启动阶段,设计的复位系统能够实现延时喂狗的功能。依托装载操作系统国产化板卡的应用,经过大量测试,该复位系统均能满足要求且可靠性高。通过调整参数,复位系统可以满足不同CPU 加载系统的时间要求。目前,各个领域应用的板卡对国产化需求日益增加,复位系统的应用前景非常广阔。