看门狗是一个定时器, ARM提供了一个32位向下计数的看门狗IP,它会不断地计数。通过软件可以设置计数值,计数到某一设定值重新开始计数,这一过程也被称为喂狗,如果没有正常喂狗,说明出现系统故障,看门狗模块立即产生一个复位信号,复位整个SOC系统,使系统恢复正常运行,从而提高了系统的稳定性。本文基于ARM提供的看门狗计数器IP,提供了一种将其集成到SOC系统的方法,同时基于软件平台验证IP功能的正确性。
在系统运行时,可能会在外界的干扰下,出现程序跑飞的情况,看门狗的出现就是为了解决这种故障。看门狗是一个独立于系统的计数器,即它的时钟和系统时钟不是同一个时钟,在看门狗时钟的驱动下,计数器会不断地计数,并且每隔一段时间会重置计数器(喂狗),然后重新开始计数,若没有接收到喂狗信号,说明系统出现故障,就要发送给系统发送复位信号,使系统重启。APB watchdog IP由ARM提供,是一个基于32位重装载寄存器的向下计数器,计数值在每个使能的看门狗时钟上升沿减1,可以通过设置计数器值产生中断和复位。
当看门狗计数值减到0时,计数停止,并产生复位请求。在下一个被使能的看门狗时钟沿,重装载寄存器使计数器重新装载数值,然后重新开始向下计数。如果在计数器下一次达到0时中断未被清除,看门狗模块将再一次启动复位信号。看门狗复位的流程如图1所示。
1.1硬件平台
本设计基于图2系统完成硬件平台搭建,硬件平台基于ARM官方IP,核心处理器为ARM Cortex-M3,它是一款低成本低功耗的处理器内核,最多支持240个中断。处理器与外设之间的通信采用了AMBA3协议规范,它支持AHB(高级高性能总线)和APB(高级外设总线)协议,各模块之间的通信与互连均基于AHB和APB协议。其中ITCM是一块存放程序代码的SRAM,它是只读的。DTCM是存放堆栈以及运算中间结果的SRAM。AHB-TO-APB将AHB协议转换为APB协议,使内核能够对APB外设进行访问。UART是串口通信单元。AHB-DECODE是AHB外设的地址译码逻辑单元,译码的目的是根据内核发出的地址某个外设进行访问。DEFAULT-SLAVE是无效地址单元,当内核发出一个未选中任何单元的地址时,DEFAULT-SLAVE会被访问。AHB-SLAVE-MUX和APB-SLAVE-MUX分别是AHB外设多路选择器和APB外设多路选择器,它们的作用是选择某个外设与内核进行数据交互,其中APB-SLAVE-MUX内部还集成了APB译码逻辑。ICODE、DCODE和SYS-BUS是内核的三条总线。
看门狗外设模块被集成到APB总线上,通过对其进行地址编码,可被Cortex-M3内核访问,看门狗会产生的中断和复位信号给内核,通过这种交互方式,内核可对系统故障做出响应,即重启系统。需要注意的是,硬件平台是后续验证工作的基础,若平台搭建错误,大概率会导致验证无法正常进行。
1.2功能验证
验证外设是任何SOC设计当中不可或缺的一环,如何让外设工作起来是我们必须去考虑的。外设一般由IP商提供,RTL代码不需要太多增减,外设几乎都是可以正常工作。而如何让外设的硬件电路运行起来、充分发挥功能,则需要软件的配合,验证的目的是通过软件对外设进行访问,使其正常工作。功能验证的步骤如图3所示。
- 搭建硬件系统,将所需外设模块添加到系统中,完成SOC系统的搭建。
- 编写验证代码,写软件代码的目的是控制外设的相关寄存器,写代码其实就是一个给寄存器赋值的过程,通过软件控制了寄存器,进而控制了外设。外设根据寄存器的不同赋值会体现不同功能,然后我们要通过仿真和上板查看功能是否符合预期。
- 行为级仿真,写好软件之后,将生成的hex文件路径添加到系统的BRAM中,就开始行为级仿真,仿真波形要结合软件来看,如果能将软件正确执行,就可以往下走了。
- 上板验证,通过了行为级仿真不代表验证成功,仿真终归是个模拟过程,和真正电路的运行还有差别,所以必须有上板这一过程,将比特流文件下载到开发板上之后,打开串口调试助手,查看上板结果是否符合预期。
1.3验证程序
对于本例程,程序主要执行复位和中断功能,若能正确使系统复位,说明验证通过。程序采用不断循环的形式,若看门狗计数器初值设置较大,减到0所需的时钟周期大于循环周期,则无法复位系统,若初值设置较小,则会不断复位系统。程序流程如图4所示:
1.4,行为级仿真
图5中WDOGINT、WDOGRES和resetn分别代表看门狗中断输出信号、看门狗复位输出信号和全局复位信号,WDOGINT和WDOGRES均为高电平有效,resetn低电平有效,仿真结果表明,复位功能正常,系统被重启。
版权声明:本文为CSDN博主「也许只有四五次」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42672920/article/details/121038164
暂无评论