(29)基于FPGA实现看门狗功能(FPGA不积跬步101)

1 引言 

微处理(ARM、单片机)在特殊的环境下,运行代码或程序会跑到非预期状态,也就是说系统可能会进入死循环,这种情况微处理器无法进行自我恢复,只能通过复位或者重启进行解决。看门狗就是解决这种情况。

2 实现方法

看门狗实现主要由两种方法,分别为硬件实现和软件实现。由于硬件实现一般考虑到成本,则一般选择使用软件实现。基于FPGA实现看门狗功能已经成为一种通用方法。

3 基本原理

利用FPGA实现看门狗基本原理为:利用FPGA的并行性实时监测微处理器送来的喂狗信号(定时电平信号),当FPGA监测不到喂狗信号时,说明微处理运行程序进入死循环,这时FPGA产生复位信号,复位微处理器即可。当FPGA一直能监测到喂狗信号时,说明微处理运行程序正常,FPGA不产生复位信号,也不复位微处理器。

4 逻辑设计

基于FPGA实现看门狗逻辑设计较为简单,也就是利用FPGA内部资源,实现计数器,当收到喂狗信号,清零计数器;当收不到喂狗信号,计数器累加,直到计数器溢出,计数器溢出,则产生复位信号。当然,FPGA还具有开启看门狗功能和关闭看门狗功能。

5 结束语

基于FPGA实现看门狗功能,采用Verilog语言编写代码、使用modelsim进行功能仿真,使用vivado进行在线调试,验证了设计功能的正确性。

希望对你有帮助,如果遇到问题,可以一起沟通讨论,邮箱:[email protected]

你可能感兴趣的:(FPGA小试牛刀)