一种基于fpga的龙芯主板自动复位的装置的制作方法

文档序号:6429016阅读:395来源:国知局
专利名称:一种基于fpga的龙芯主板自动复位的装置的制作方法
技术领域
本发明涉及龙芯主板自动复位,具体来说,涉及一种基于FPGA的龙芯主板自动复位的装置。
背景技术
由于loongson3A CPU的设计的缘故,会造成CPU的HT总线与RS780E的HT总线在个别情况下链接不上而出现死机的情况,但是当出现这种情况的时候,复位一下主板,就又能够使其链接上了。因此为了修复这种硬件的BUG,目前市场上的用loongson3A CPU与AMD RS780E 北桥设计的主板会采用一种使用看门狗的方法来实现定时自动复位主板。详细的方法如图 1 这种方法的实现的关键在于要选择一块看门狗电路,看门狗电路,又叫watchdog timer,是一个定时器电路,一般有一个输入,叫喂狗(kicking the dog or service the dog),一个输出到MCU的RST端,MCU正常工作的时候,每隔一端时间输出一个信号到喂狗端,给WDT清零,如果超过规定的时间不喂狗,(一般在程序跑飞时),WDT定时超过,就会给出一个复位信号到MCU,使MCU复位.它的功能是防止MCU死机。对于图1的工作原理是这样的当主板一开机,看门狗电路就开始工作了,由于看门狗电路里面有个定时器,那么一上电,定时器就开始计时了,而龙芯3A CPU需要通过自己的GPIO管脚,定时的向看门狗电路发出脉冲波形,让看门狗电路的计时器进行清零操作, 而如果CPU与北桥没有连接上的话,那么主板死机,PMON也不会继续执行,因此就不会发出脉冲来对看门狗电路的计时器来进行清零操作,而这样的话,当看门狗计时到一定的时间的时候,就会跟复位电路发出复位的命令,使得复位电路复位整块主板。这样的话就能够解决上述所提的龙芯3A CPU的硬件BUG。但是这样的方法存在可调性差的问题。首先要选择一块合适的看门狗电路就是一个问题,由于看门狗芯片存在最大计时的问题,因此在选型上就需要关注PMON的程序执行的快慢。这样的话,如果PMON的程序改动了,就很可能会造成以前使用的看门狗就不能用了,因为已经超过了看门狗的最大计时数。另外看门狗电路的计时器的时间设置是需要使用RC来设置的,这样的话,在调试的时候也不是很方便。同时由于需要让CPU定时的给看门狗电路发出清零信号,这样的话, 会占用一些CPU的占用率。

发明内容
为了能够解决看门狗电路实现龙芯3A主板自动复位的可调性差的问题。本发明采用FPGA的方式来实现龙芯主板的自动复位。一种基于FPGA的龙芯主板自动复位的装置,在龙芯主板上添加了 FPGA芯片与复位电路,所述FPGA芯片接收龙芯CPU的GPIO管脚的信号,所述FPGA芯片发送信号给所述复位电路,所述复位电路发送复位信号给龙芯CPU、北桥芯片和南桥芯片。 优选的,龙芯主板启动时,在PMON检查完HT总线是否连接上之后,加载赋值程序
对GPIO管脚进行赋值。 优选的,所述赋值程序在HT总线未连接上时,不对GPIO管脚进行操作;在HT总线连接上之后,对GPIO管脚赋值。优选的,所述FPGA在设定的时间之后开始检测GPIO管脚值。

优选的,所述GPIO管脚值若为0,则FPGA发出信号给复位电路;所述GPIO管脚值若不为0,则FPGA不发出信号。优选的,所述复位电路在接收到FPGA的信号后,发出复位信号给龙芯CPU,北桥芯片和南桥芯片,进行重启动。优选的,所述GPIO管脚的初始值为0。优选的,所述设定的时间是通过程序在FPGA中设定。本发明的有益效果如下1、FPGA调节时间不受限制,相比于看门狗的方法来说,方便性是大大的提高了。2、由于是用FPGA来实现自动复位,采用的是检测GPIO管脚电平的方法,而对于龙芯3A CPU的GPIO管脚来说,当设置了一个值以后,如果不对其再进行操作的话,会一直保持为这个值。这样的话就能够很好的节省CPU的利用率,而不像使用看门狗的方法,CPU还要定时的发出看门狗清零信号而需要占用CPU的利用率。


图1是目前龙芯主板的复位装置图2是本发明龙芯主板的复位装置
具体实施例方式本发明把目前常用的看门狗电路换成了 FPGA来实现,详细的工作原理如下本发明利用龙芯3A CPU的GPIO管脚来做文章,由于我们知道龙芯3A的GPIO管脚,在不对其进行任何操作的状态下它是输出为“0”的,因此把龙芯3A的GPIO管脚连接到 FPGA上,通过在PMON上在检测完HT是否链接上的程序之后,加上把GPIO管脚赋值的程序, 由于FPGA在设置时间上的优越性,因此FPGA通过设置时间(时间的设置需要匹配PMON的执行速度)在什么时候开始检测这个GPIO管脚,如果发现在这时GPIO管脚的值并没有变化,则表明系统死在了 HT的链接这一块,这时通过FPGA来把系统重启。这样的话就避免了人为重启的情况。而如果发现这时的GPIO管脚发生了变化,则证明PMON已经执行到这一行的代码了,也就是说HT的链接成功了,则FPGA不对复位电路发出复位信号。
权利要求
1.一种基于FPGA的龙芯主板自动复位的装置,其特征在于在龙芯主板上添加了 FPGA 芯片与复位电路,所述FPGA芯片接收龙芯CPU的G PIO管脚的信号,所述FPGA芯片发送信号给所述复位电路,所述复位电路发送复位信号给龙芯CPU、北桥芯片和南桥芯片。
2.如权利要求1所述的装置,其特征在于龙芯主板启动时,在PMON检查完HT总线是否连接上之后,加载赋值程序对GPIO管脚进行赋值。
3.如权利要求2所述的装置,其特征在于所述赋值程序在HT总线未连接上时,不对 GPIO管脚进行操作;在HT总线连接上之后,对GPIO管脚赋值。
4.如权利要求1所述的装置,其特征在于所述FPGA在设定的时间之后开始检测GPIO 管脚值。
5.如权利要求4所述的装置,其特征在于所述GPIO管脚值若为0,则FPGA发出信号给复位电路;所述GPIO管脚值若不为0,则FPGA不发出信号。
6.如权利要求5所述的装置,其特征在于所述复位电路在接收到FPGA的信号后,发出复位信号给龙芯CPU,北桥芯片和南桥芯片,进行重启动。
7.如权利要求1所述的装置,其特征在于所述GPIO管脚的初始值为0。
8.如权利要求4所述的装置,其特征在于所述设定的时间是通过程序在FPGA中设定。
全文摘要
本发明提供了一种基于FPGA的龙芯主板自动复位的装置,在龙芯主板上添加了FPGA芯片与复位电路,所述FPGA芯片接收龙芯CPU的GPIO管脚的信号,所述FPGA芯片发送信号给所述复位电路,所述复位电路发送复位信号给龙芯CPU、北桥芯片和南桥芯片。
文档编号G06F1/24GK102270028SQ20111020508
公开日2011年12月7日 申请日期2011年7月21日 优先权日2011年7月21日
发明者刘新春, 姚文浩, 杨晓君, 柳胜杰, 梁发清, 王晖, 王英, 邵宗有, 郑臣明, 郝志彬 申请人:曙光信息产业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1