一种多核SoC系统的多源看门狗设计技术

一种多核S o C系统的多源看门狗设计技术
张磊,徐叔喜,余向阳,张瑾,汪健
(华东光电集成器件研究所,苏州215163)
摘要:介绍了一种内含多个D S P处理器核的S o C系统中的看门狗电路㊂随着对大规模S o C系统可靠性和稳定性要求的提高,在多核S o C系统中设计看门狗电路能够对多个处理器核进行监控和异常情况处理,并自动重启恢复S o C系统的工作㊂介绍了该多核S o C系统中的看门狗硬件逻辑和功能特性,并对看门狗工作流程和多核多源看门狗相互协调技术的运行方法进行了说明㊂测试结果表明,所设计的多核S o C系统中的多源看门狗能够监控S o C系统的运行状态,并在核定周期时间内在没有接收到喂狗信号复位整个S o C系统,自动复位后重新工作㊂
关键词:多核S o C系统;看门狗电路;多源看门狗;系统复位
中图分类号:T N47文献标识码:A
M u l t i-s o u r c e W a t c h-d o g D e s i g n T e c h n o l o g y f o r M u l t i-c o r e S o C S y s t e m
企业家宣言
Z h a n g L e i,X u S h u x i,Y u X i a n g y a n g,Z h a n g J i n,W a n g J i a n
(C N G C214,S u z h o u215163,C h i n a)
A b s t r a c t:I n t h e p a p e r,o n e w a t c h-d o g i n t h e S o C s y s t e m i s i n t r o d u c e d w h i c h i n c l u d e s m u l t i-D S P.W i t h t h e r e q u i r e m e n t a b o u t t h e r e l i a b i l-i t y a n d s t a b i l i t y o f t h e l a r g e-s c a l e S o C s y s t e m,t h e w a t c h-d o g c i r c u i t i n m u l t i-c o r e S o C s y s t e m c a n w a t c h m u l t i-c o r e a n d d e a l w i t h t h e a b-n o r m a l c o n d i t i o n a b o u t t h e S o C i n a s t a t e o f n e g l e c t,a n d t h e S o C s y s t e m c a n a u t o m a t i c r e s t a r t a n d r e c o v e r y.T h e p a p e r i n t r o d u c e t h e h a r d w a r e l o g i c a n d f u n c t i o n a l c h a r a c t e r i s t i c s o f t h e w a t c h-d o g i n t h e S o C,a n d t h e p a p e r e x p l a i n t h e w o r k p r o c e s s a n d t h e o p e r a t i o n m e t h-o d a b o u t o f t h e m u l t i s o u r c e w a t c h-d o g c o o r d i n a t e w i t h e a c h o t h e r.T h e r e s u l t s i n d i c a t e t h a t t h e m u l t i s o u r c e w a t c h-d o g i n t h e m u l t i-c o r e S o C s y s t e m c a n w a t c h t h e w o r k c o n d i t i o n a b o u t t h e S o C s y s t e m,a n d i t c a n r e s e t t h e S o C s y s t e m i f t h e w a t c h d o n t h a v e r e c e i v e t h e w a t c h f e e d s i g n a l i n t h e g i v e n t i m e,a n d t h e S o C c a n r e w o r k a f t e r t h e a u t o r e s e t p r o c e s s.
K e y w o r d s:m u l t i-c o r e S o C s y s t e m;w a t c h-d o g c i r c u i t;m u l t i-s o u r c e w a t c h-d o g;S o C s y s t e m r e s e t
犬儒派0引言
随着大规模片上系统S o C电路的发展,内嵌多个处理器核的S o C系统能够快速㊁并行处理大数据和信息,成为大规模集成电路的主要发展方向㊂而在一些对可靠性要求高的S o C系统中,看门狗电路成为系统可靠性的关键技术,看门狗电路能够监控S o C系统出现的死机㊁程序跑飞㊁死循环㊁系统B u g等异常情况的发生㊂设计的多核S o C系统中的看门狗电路是一种通过硬件电路实现的集成在S o C系统中的电路,可应用至内嵌多个微处理器核的S o C中㊂通过编写内部处理器核中的程序,开启看门狗功能,检测S o C中的处理器核和整个系统是否正常运行,并且能够在S o C系统出现异常时自动处理异常情况或复位后重新启动电路,使S o C系统自动恢复正常运行㊂设计的多核S o C系统中的看门狗能够提高多处理器核系统的稳定性和可靠性,并且是一种具有通用性强㊁
电路易实现㊁可靠性强的看门狗技术㊂
1多核S o C系统说明
设计的多核S o C系统(结构简图如图1所示)内嵌4个D S P微处理器核,处理器指令与T I公司的D S P
控制器TM S320C67X X系列兼容㊂除4个微处理器核外,通过AM B A协议的A X I总线架构技术与S l a v e模块相连,并且通过分组设计将不同的I P与S l a v e连接㊂I P模块主要包含时钟管理㊁复位管理(R S T)㊁看门狗(WD T)㊁事件捕获(C P I)㊁外设接口(E M I F)㊁C A N㊁U A R T㊁S P I接口㊁脉冲宽度调制(P WM)㊁G P I O等㊂设计的多核S o C芯片中为4个D S P核分配4个相应功能相同的WD T模块,用于检测相应4个D S P核的运行情况㊂
2单个看门狗硬件电路
多核系统设计有硬件看门狗电路,在看门狗开
图1 多核S o C 系统结构简图
启后,通过内部微处理器核周期性发出喂狗信号,监控S o C 系统的运行状况㊂当程序运行异常时,
喂狗信号出现异常,如果在规定周期时间内看门狗电路没有收到微处理器核的喂狗信号,将导致看门狗内部计数器溢出,此时看门狗模块输出中断或复位信号㊂
2.1 看门狗内部寄存器介绍
看门狗硬件I P 模块内部主要包括WD T _S T A 看门
狗状态寄存器㊁WD T _C T L 看门狗控制寄存器㊁WD T _T C 看门狗溢出值寄存器㊁WD T _F E E D 看门狗喂狗寄存器㊁
WD T _T V 看门狗计数值寄存器㊂通过D S P 核配置看门狗内部相关寄存器,看门狗开启工作是否与相关工作模式有关㊂
WD T _S T A 看门狗状态寄存器用于记录看门狗的状态,具体功能描述如表1所列㊂
表1 W D T _S T A 功能表
位 域名 称
功能描述
312R e s e r v e d 保留
1WD T _I N T WD T 中断寄存器,WD T 中断有效则为
1;通过向该位写1可清除
WD T _O F
WD T 溢出标志寄存器,WD T 计数器溢出一次则置1;通过向该位写1可清除
WD T _C T L 看门狗控制寄存器用于对看门狗进行控
制,具体功能描述如表2所列㊂
表2 W D T _C T L 功能表
位 域名 称
功能描述
311R e s e r v e d 保留
1WD T _I E WD T 中断使能寄存器,
高电平有效,允许看门狗中断信号输出
WD T _E N
WD T 使能寄存器,
高电平有效,看门狗使能;低电平时看门狗处于关闭状态,看门狗计数器停止计数
WD T _T C 看门狗溢出值寄存器用于设置看门狗内部定时器计数的溢出值㊂看门狗溢出检测逻辑检测看门狗内部定时器定时时间值,看门狗内部定时计数器自减计数到零值时,看门狗输出控制逻辑根据溢出状态㊁中断控制等设置控制输出中断信号或复位信号㊂
WD T _F E E D 看门狗喂狗寄存器用于看门狗接收喂狗信号,当喂狗检测逻辑检测到一次WD T _F E E D 从
0x A A 到0x 55的变化时,
就认为检测到一次喂狗时序㊂W D T _T V 看门狗计数值寄存器用于反映看门狗内部定时器计数的当前值㊂全局复位时,看门狗内部溢出值寄存器默认为最大值0x F F F F F F F F ;当D S P 配置W D T _T C 值时,
更新为最新配置值㊂注意:当配置小于0x F F 的值时,内部默认W D T _T C 为0x F F
㊂为了防止配置值过小或错误配置,使看门狗喂狗时间过小,可能引起反复复位现象发生㊂
2.2 看门狗内部硬件电路功能介绍
湖南卫视 百科全说D S P 核周期性地发出喂狗信号,
即刷新喂狗寄存器的值,WD T 检测喂狗信号㊂D S P 写WD T _F E E D 寄存器,若看门狗喂狗逻辑电路检测到WD T _
F E E D 寄存器从0x A A 到0x 55变化,
则会认为产生一次喂狗信号㊂当微处理器核配置看门狗寄存器的时钟和看门狗内部计数器时钟为异步时钟或是分频时钟关系时,由于两个时钟为异步时钟,为保证能够正常检测到喂狗寄存器的变化,看门狗内部喂狗逻辑模块做了异步置位来处理不同时钟域的信号㊂喂狗内部逻辑电路如图2所示㊂
图2 喂狗内部逻辑电路
WD T 使能寄存器复位时默认关闭,由D S P 通过配置
相应的寄存器控制WD T _C T L 使WD T 使能,并在检测到第一次喂狗信号时,WD T 开始计时,单个看门狗配置寄存器如图3所示㊂
每个看门狗寄存器配置过程如下:
①处理器核配置看门控制寄存器㊁看门狗溢出值寄存器㊁喂狗序列寄存器㊂②看门狗计数器在接收到第一次喂狗及看门狗使能信号开始计数功能㊂
③处理器核周期喂狗,
看门狗每次在接收到喂狗信号时重新装入看门狗溢出值到计数器,刷新看门狗计数器
的值,并重新计数
图3 单个看门狗配置寄存器
2.3 看门狗工作流程
看门狗电路复位由复位管理模块控制,外部复位或上电复位均能引起看门狗内部逻辑的复位,WD T 内部使能信号由WD T _C T L 和对应D S P 核的使能时钟控制信号控制,即在相应D S P 核关闭时钟信号休眠状态下自动关闭相应看门狗功能㊂看门狗工作流程简图如图4所示㊂
开启看门狗功能后,内部看门狗计数值寄存器开始计
数,处理器核周期性发出喂狗信号,即刷新喂狗寄存器的值,看门狗检测到喂狗信号或看门狗计数值为0时,看门狗计数值更新给WD T _T C 值,
重新开始计数
㊂图4 单个看门狗工作流程简图
看门狗输出一个看门狗中断和一个看门狗复位,第一次出现计数器溢出,发出中断信号;第二次出现计数器溢出,控制看门狗输出复位信号;如果需要配置不产生中断直接产生复位,可关闭看门狗中断功能,则看门狗计数器第一次溢出就产生看门狗复位信号㊂看门狗中
能源污染断可清除,看门狗内部计数器溢出导致看门狗复位输出有效信号时,同时重置看门狗使能寄存器,关闭看门狗㊂
看门狗时序图如图5所示,其中c l k _s 0为写喂狗寄存
器时钟,c l k _d o g 为看门狗时钟频率,WD T _F E E D 为D S P 发出的写喂狗寄存器,F E E D 信号为看门狗模块内部的喂狗信号,w d t _i m g _e n 为内部逻辑使能看门狗信号,w d t _t v 为看门狗内部定时器当前计数值,w d t _t c 为看门狗起始装入的定时器计数起始值,w d t _i n t 为看门狗中断信号,
w d t _r s t 为看门狗复位信号
图5 看门狗时序图
3 多核S o C 系统中的多源看门狗技术
多核S o C 在运行过程中会根据实际情况激活其中几
个核,为了降低功耗,在任务和运算量不大时,实时休眠其
中的一些核㊂多处理器核片上系统(S o C )芯片的看门狗检测模块电路在检测到某个处理器核休眠时自动关闭相对应的监控看门狗功能㊂
多个处理器核和多个看门狗协调工作流程如图6所示㊂
图6 多处理器核多个看门狗协调工作示意图
①处理器核1配置看门狗1寄存器,
处理器核n 配置看门狗n 寄存器;配置工作计
数器初始值等㊂
②配置某个看门狗寄存器并开启其看门狗功能后,相应处理器核周期喂狗㊂即微处理器核1周期喂狗看门狗1,微处理器核n
周期喂狗看门狗n
㊂如果其中某个核处于休眠状态,则相应的看门狗检测到对应核休眠后自动关闭㊂
③每个工作的看门狗内部计数器开始自减计数㊂
④开启看门狗中断功能,第一次超出溢出值时间喂狗,产生看门狗中断输出㊂任何
一个看门狗产生中断,都会引起传送给中断管理模块产生同一中断信号到所有处理器核,所有处理器核都执行中断程序㊂献血法
⑤开启看门狗中断功能,第二次超出溢出值时间喂狗,看门狗产生复位信号,在没有开启看门狗中断功能时,
计数器第一次计数溢出则产生复位功能㊂
⑥如果看门狗没有使能中断功能,
在看门狗内部定时器计数第一次超出溢出时间没有接收到喂狗信号时,即
产生复位信号㊂其中任何一个看门狗模块产生的复位信号都会引起传送看门狗复位信号到复位管理模块,并引起
复位逻辑复位㊂即其中任何一个看门狗复位信号引起全局复位及所有处理器核都执行复位功能㊂引人入胜的书
4 仿真与测试
喂狗时序仿真图如7所示㊂正常喂狗模式下,在溢出
值规定时间前喂狗即喂狗寄存器W D T _F E E D 从0x A A 到
0x 55变化,每次喂狗后,w d t _t v 的值重新载入为w d t _t c 值,并重新计数
图7 看门狗喂狗逻辑时序
看门狗中断产生及清除中断功能如图8所示㊂超出溢出值规定时间后喂狗,即使喂狗寄存器WD T _F E E D 从
0x A A 到0x 55变化并使能看门狗中断功能,
可看出中断产生,中断产生后,配置w d t _c l r 信号,可清除中断状态㊂看门狗复位功能如图9所示㊂
开启看门狗中断功能,发生中断后,第二次超出溢出值规定时间后喂狗,即使喂狗寄存器WD T _F E E D 从0x A A 到0x 55变化,
则引起看门狗复位㊂
设计的多核S o C 芯片已经流片成功,对D S P 核编程
进行看门狗配置,设定好看门狗溢出时间值,使能看门狗㊂首先在看门狗溢出时间到达之前,先后写入0x A A ㊁0x 55
进行几次正确喂狗,然后停止喂狗㊂程序编译成功后将程
序下载到多核S o C 系统芯片中并运行,同时使用示波器测量电路看门狗复位输出引脚和电路全局复位输出引脚㊂
测试波形如图10所示㊂
通过测试波形可以看出,正常喂狗时看门狗不会产生
看门狗复位信号,停止喂狗后能在设定的看门狗溢出时刻准确产生看门狗复位信号,在看门狗复位高电平脉冲信号
的下降沿电路会产生全局复位低电平脉冲信号,复位整个S o C 系统芯片后又重新启动工作
图8
看门狗中断产生及清除中断功能
图9
看门狗复位功能
图10 看门狗测试波形
5 结 语
本文提出了一种应用于多处理器核S o C 系统芯片中
的多源看门狗技术,介绍了基于多D S P 核控制的S o C 系统中的看门狗硬件电路设计和多源看门狗协调进行多核系统监控技术㊂对流片后的系统芯片的看门狗
功能进行了系统板级测试和验证,结果表明,所设计的多处理器核多源看门狗电路可以在S o C 系统芯片或处理器核出现异常情况时发出复位信号,并在无人监控状态下对多核S o C 系统芯片进行复位和重启工作
参考文献
[1]刘发志,张东,杨艳.基于D M 642的看门狗电路设计与应用
[J ].舰船电子工程,2008,28(1):120122.
[2]蒋炯炜,雷志军,于鹏.带看门狗喂狗功能的TM S 320F 2812
远程加载技术[J ].电子与封装,2016,16(10):2326.
[3]王首浩,刘俊琴.基于C P L D 的系统硬件看门狗设计[J ].
单片机与嵌入式系统应用,2012(4):2528.
[4]高毅,韩振国.一种采用F P G A 实现的通用看门狗电路[J ].
大众科技,2015,17(11):12.[5]仇国庆,杨志龙,唐贤伦.看门狗电路的设计与应用[J ].自动化与仪器仪表,2005(4):1620.
张磊(高级工程师),主要研究方向为S o C 系统设计及大规模数字集成电路设计㊂通信作者:张磊,t n t d o g
@126.c o m ㊂(责任编辑:薛士然 收稿日期:2021-02-05
)

本文发布于:2024-09-21 13:19:12,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/445586.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:看门狗   复位   喂狗   信号   寄存器   中断
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议