广告
广告
基于CPLD的系统硬件看门狗设计
您的位置 资讯中心 > 技术文献 > 正文

基于CPLD的系统硬件看门狗设计

2013-09-04 10:14:00 来源:21IC电子网 点击:3575

【哔哥哔特导读】基于以DSP芯片TMS320F2812为核心的数字伺服控制器,以国微电子公司的SM1032国产CPLD(兼容Lattice公司的ispLSI 1032)为载体,设计了专用的系统硬件看门狗模块,具备识别DSP软件初始化时序、自由定制看门狗时序等功能。

基于以DSP芯片TMS320F2812为核心的数字伺服控制器,以国微电子公司的SM1032国产CPLD(兼容Lattice公司的ispLSI 1032)为载体,设计了专用的系统硬件看门狗模块,具备识别DSP软件初始化时序、自由定制看门狗时序等功能。通过对伺服控制器上电及工作运行时序的分析、仿真和实验验证,确定了硬件看门狗功能模块的设计方案,并给出了实验结果。

关键词:看门狗;CPLD;状态机;仿真

引言

在以单片机、DSP等处理器为核心的数字系统中,看门狗是不可缺少的一部分,特别是在对可靠性要求极高的系统中,如箭上伺服控制器,由于箭体内强弱电交叉使用,或者地面测试环境复杂多变,会产生诸多干扰和辐射。它们的冲击会使CPU在执行指令时的地址码或操作码发生变化,甚至将操作数作为操作码执行,导致程序跑飞。为使系统在规定时间内重新正常工作,一种有效的措施是采用硬件看门狗技术。

本设计的最初思路来源:实现高可靠性数字伺服控制器软、硬件看门狗的双冗余设计要求,目前缺少军品级国产化硬件看门狗器件,在满足系统要求的情况下减少元器件的种类。

1 看门狗技术的实现方式

看门狗实现方式可分为以下两种:

硬件看门狗——采用一个独立于CPU的定时器电路或芯片,如MAX706或TPS3823等,周期性地产生复位脉冲,而CPU必须及时“喂狗”(在复位脉冲发出前对此定时器进行清零处理),否则看门狗发挥作用,复位脉冲会使CPU重启。

软件看门狗——利用CPU内部的定时器中断替代看门狗定时器电路,存中断程序中复位CPU,这同样发挥了看门狗的作用。但由于CPU中断存在优先级、屏蔽以及中断自身故障等原因,郁可能导致软件看门狗工作异常。软件看门狗往往采用一些其他软件设计措施提高其可靠性。

2 基于CPLD的硬件看门狗设计

2.1 硬件平台

此设计基丁箭上数字伺服控制器,以TI公司的TMS320F2812(下面简称为DSP)为控制核心,SM1032则用来实现对A/D、D/A和1553B总线的片选信号和逻辑控制信号译码,并在此基础上增加了硬件看门狗功能。与其相关的电路连接如图1所示,其中看门狗使能信号EN与DSP_JTAG电路相连,在DSP下载程序或在线仿真时可通过专用的JTAG 工装电缆禁止看门狗功能,防止看门狗的误操作。

 

 

本设计适用于以微控制器与FPGA或CPLD联合使用的数字控制系统中。利用FPGA或CPLD的剩余资源没计看门狗模块,相当于硬件看门狗的一种,其基本功能和特点有:当软件跑飞且主控芯片内部看门狗工作异常时,可为系统进行复位操作;可关闭主控芯片内部的软件看门狗,优化软件代码;可节省专用的看门狗芯片,且在不同时序要求上灵活修改;可根据系统要求增加与主控芯片的握手信号。

2.2 DSP上电过程及复位时序分析

DSP上电初始化时序如图2所示。WDT是喂狗信号输出,在定时器中断或主循环中使其电平周期性取反;RST是上电复位信号。Trst是上电复位信号的脉宽,约为100 ms;Twork是从上电时到首次进入定时器中断程序的时间,约为130 ms。在主程序中首先使WDT输出低电平,则从上电复位完成到WDT变为低电平的时间A为DSP复位后自身的各项配置所占用的时间。在定时器中每次取反WDT信号,则到WDT第一次变为高电平的时间B为各软件模块及中断初始化所占用的时间。A+B为系统初始化所用的时间,约为30ms。

 

 

由此可见,如果系统程序跑飞,则每次复位都要经过A、B两个过程,约30 ms的时间;那么在CPLD软件的看门狗模块中,每次在给出复位信号后都要等待DSP的初始化完成(约30 ms)后再开始对喂狗信号监测并计时。

选择看门狗定时器溢出上限以5ms为例,从程序跑飞到重新正常运行大约35 ms。设定控制系统给伺服发送控制指令信号的周期是20 ms,伺服机构常态速度10°/s,最大速度是20°/s,20 ms的时间摆动的角度是0.2°和0.4°,该角度是其控制姿态的最小步长,因此35 ms以内的热复位时间最多丢失两条指令,伺服机构在可控范同之内。此外,软件代码还有一定的优化余量,初始化时间和看门狗定时器溢出上限还可进一步减少。

2.3 看门狗设计要考虑的几点问题

①喂狗方式:可分为电平喂狗和边沿喂狗,本设计采用后者。与电平喂狗相比较,边沿喂狗在状态机的设计中可以减少状态数量,从而节省CPLD资源,且DSP的喂狗也很容易,只要取反WDT电平,就可被认为已喂狗,简化软件代码。

②定时器溢出上限:根据具体需要灵活设定,这里暂定5 ms。

③输出系统复位信号脉宽:这里只要超过DSP所需的512个时钟周期即可,以30 MHz品振为例,时长约为171μs。

④系统上电初始化时间:系统上电复位后DSP需要一断时间初始化,而这段时间内不能喂狗,所以CPLD不能检测是否有喂狗信号,否则会造成连续的错误复位,使DSP无法正常工作,因此在CPLD代码设计时需要越过初始化阶段再去检测喂狗信号。

⑤与主控芯片的摒手信号:根据系统任务需求,可增加与主控芯片的握手信号。例如,当主控芯片需要实现总线写程序功能时,对DSP片内的Flash进行写操作,此时不能对DSP进行复位,DSP也无法输出喂狗信号,这就需要在总线写程序之前通过总线与CPLD实现握手与应答,关闭看门狗功能,程序写入完成后系统重新加电即可正常工作。为了简化功能描述,本设计术加入握手设计。

2.4 看门狗状态机的设计

此设计采用Mealy型状态机,使用Verilog HDL语言编写代码,信号、寄存器说明如下所示:Count,时间计数器;NUM1,定时器溢出上限(5 ms);NUM2,输出复位脉冲宽度(大丁171μs);NUM3,上电复位后等待DSP初始化的时间(30 ms);WDT_fiag,3位宽移位寄存器,接收喂狗信号,比较首未位是否相等来判断是否有喂狗信号;SYS_RST,看门狗输出的系统复位信号;WAIT、IDLE、ADDING、ERROR、KEEPING,状态机的5个状态;EN,看门狗功能使能信号,高电平禁止,低电平使能。

 

 

图3为状态转移图。在任意状态时如果EN使能信号被禁止,则状态机进入IDLE状态。在图上不一一标出EN的条件转移曲线。系统上电复位后进入WAIT状态,等待NUM3时间使DSP完成初始化;进入IDLE状态,如使能看门狗功能;进入ADDING状态累加计时,如果在限定时间NUM1内监测到喂狗信号,表明程序运行正常,返回IDLE状态等待下一次喂狗信号,如果超过NUM1未收到喂狗信号,认为程序已经跑飞,进入EEROR状态;EEROR状态中输出复位信号并清零计数器;进入KEEPING状态,使低电平保持一段时间NUM2,这段时间超过DSP所需的复位时间即可;进入WAIT状态,复位后重新等待DSP完成初始化,循环往复。

3 基于CPLD的硬件看门狗的仿真与验证

3.1 功能仿真

使用Modelsim软件进行功能仿真,可以看出EN信号和WDT(喂狗信号)的变化对SYS_RST输出的影响。编写测试文件对EN使能、禁止,WDT信号喂狗间隔小于、大于定时器溢出上限,以及不喂狗等情况进行仿真。

 

 

仿真波形1如图4所示。EN处于使能状态,WDT在限定时间内有边沿变化时,对应的移位寄存器也发生变化,使WDT_flag[2]!=WDT_flag[0],喂狗成功,不会输出复位信号;存SYS_RST第二个低电平处,对应的WDT超过了限定时间没有变化,故输出复位信号。

 

 

仿真波形2如图5所示。由仿真波形可看出,在EN高电平时,不会输出喂狗信号,使能信号测试通过,喂狗信号存EN使能时如不能存限定时间内喂狗,则输出系统复位信号。由仿真波形看出功能得到实现。

3.2 硬件平台验证

在伺服控制器上对基丁CPLD的硬件看门狗功能进行验证。DSP上电初始化完成后,先止常输出喂狗信号一段时间,然后停止输出喂狗信号,通过示波器捕获CPLD输出的系统复位信号,波形如图6所示,光标1是系统复位信号SYS_RST波形,光标2是DSP输出的喂狗信号WDT波形。从波形图前半段可以看出,WDT正常喂狗时,SYS_RST保持高电平,当WDT保持高电平一段时间后SYS_RST输出低电平,实现系统复位。复位后经过一段时间的初始化过程后,WDT开始正常喂狗。

 

 

通过以上软件的功能仿真和硬件平台上的验证,可以看出,基于FPGA/CPLD的系统外部硬件看门狗的功能得到实现,与预期目标吻合。

结语

在数字伺服控制系统中,利用其中已包含的CPLD或FPGA电路设计硬件看门狗模块,既可以满足系统对硬件看门狗功能的需求,又可以节省专用的看门狗芯片,节省电路板的空间,提高了系统的可靠性,提高了可编程逻辑器件的资源利用率,并且可以针对不同的系统上电、复位等时序要求灵活配置时间参数。经验证,没计达到了看门狗电路的功能要求,能够有效保证软件的可靠性,亦可应用于其他数字控制系统平台。

本文为哔哥哔特资讯原创文章,未经允许和授权,不得转载,否则将严格追究法律责任;

阅读延展
CPLD 看门狗 单片机 CPU
  • 开启可编程逻辑器件的无限可能

    开启可编程逻辑器件的无限可能

    越来越多的工程师选择可编程逻辑器件(PLD)、复杂PLD(CPLD)或现场可编程门阵列(FPGA),从而帮助减小解决方案尺寸、降低设计和制造成本、管理其供应链,并缩短产品上市时间。

  • 揭开医用警报的神秘面纱 — 第2部分

    揭开医用警报的神秘面纱 — 第2部分

    现在有多种方式可以实现报警功能,例如使用MCU、现场可编程门阵列(FPGA)或复杂可编程逻辑器件(CPLD)、集成蜂鸣器、音频编解码器或分立式运算放大器和胶合逻辑。

  • 国产FPGA的现状

    国产FPGA的现状

    FPGA,即现场可编程门阵列,这是在PAL、GAL、CPLD等可编程器件的基础上进一步发展趋势的物质。这种可编写元器件能够被用于实现一些基础的逻辑门电路 (例如AND 、OR 、XOR、NOT)或是更繁杂一些的组成作用例如解码器或数学方程式。

  • 变压器绕线机的特点是什么?

    变压器绕线机的特点是什么?

    我们先了解下变器压绕线机,它绕线采用电脑CNC控制系统,对主轴以CPLD解码测速精确定位,再配备以恒流斩波驱动步进马达排线,快速而精密,保证设备正常运作,其广泛用于开关电源变压器、供应器、电感线圈、日字型变压器等产品生产制造中。

  • 变压器绕线机的特点是什么?

    变压器绕线机的特点是什么?

    我们先了解下变器压绕线机,它绕线采用电脑CNC控制系统,对主轴以CPLD解码测速精确定位,再配备以恒流斩波驱动步进马达排线,快速而精密,保证设备正常运作,其广泛用于开关电源变压器、供应器、电感线圈、日字型变压器等产品生产制造中。

  • 基于CPLD的光伏逆变器锁相及保护电路设计

    基于CPLD的光伏逆变器锁相及保护电路设计

    在光伏并网系统的逆变器电路中,对电网电压的锁相是一项关键技术。由于电力系统在工作时会产生较大的电磁干扰,因此,其简单的锁相方法很容易受到干扰而失锁,从而导致系统无法正常运行。

  • Maxim已经研制出最新电源管理IC

    Maxim已经研制出最新电源管理IC

    业内第一款集5大功能于单一芯片(高压buck转化器和LDO、低压buck转化器和LDO、看门狗定时器)的汽车电源管理IC,合理减少设计方案复杂度,变小方案规格。

  • 五个秘诀教你轻松搞定智能看门狗系统设计

    五个秘诀教你轻松搞定智能看门狗系统设计

    智能看门狗的目的是监测系统和主微控制器,以确保它们依预期运作。在系统设计中,看门狗可允许其所支持的非常多功能,开发者需要牢记,增加智能看门狗复杂度的可能性,且看门狗本身须包含潜在的故障模式和错误。

  • 设计智能看门狗系统时的5个秘诀

    设计智能看门狗系统时的5个秘诀

    外部看门狗是嵌入式系统工程师工具箱里重要且关键的工具,然而为了捕捉到故障,且预防故障的发生,看们狗必须设计得当。因此设计一个看门狗系统时应考虑以下5个秘诀。

  • 解读ARM7内核微控制器以太网接口电路

    解读ARM7内核微控制器以太网接口电路

    嵌入式主控模块采用了基于ARM7TDMI-S内核的微控制器LPC2148,集成度非常高。内嵌40kB的片内静态RAM和512kB的片内Flash存储器,片内集成ADC、DAC转换器,看门狗,实时时钟RTC,2个UART,2个I2C还有SPI等多个总线接口,及USB2.0全速接口。

  • 智能电饭煲的设计解决方案

    智能电饭煲的设计解决方案

    本文主要先容利用SPMC65P2404A芯片来对电饭煲的过程进行控制,SPMC65P2404A是凌阳公司的8位元单片机,最高工作频率为8MHz,工作电压2.5V~5V,有192字节的RAM和4K字节的OTP ROM,有23个可编程IO口,8通道10位A/D转换器,2通道8位定时/计数器,2通道16位定时/计数器,1个12位PWM输出口,有低电压、上电、看门狗、外部信号、错误地址复位,并且有一个蜂叫

  • 麦瑞半导体推出带有看门狗定时器的高精度电压监控器

    麦瑞半导体推出带有看门狗定时器的高精度电压监控器

    日前宣布推出精度达±0.5%的MIC826电压监控器,该监控器采用节省空间的1.6mm x 1.6mm薄型DFN封装,具备手动复位输入、看门狗定时器(watchdog timer)和双输出等特点。MIC826主要面向那些要求尺寸小、集成度高和电流消耗低的便携应用。MIC826现在已经批量供应,千片订量的价格为0.32美元/片。

  • 基于平均功率差值法的磁损测量平台

    基于平均功率差值法的磁损测量平台

    磁芯损耗对温度十分敏感,高频开关变换器中的非正弦磁损测量需要在数秒内完成。本文研究了以电压、电流采样电路和单片机为硬件基础,以 LabVIEW 为上位机构建基于平均功率差值法的测量平台。

  • 步进电机控制器是什么 几种常见类型介绍

    步进电机控制器是什么 几种常见类型介绍

    步进电机在工业自动化中的使用非常广泛,一般步进电机的控制、速度、方向等操作都会步进电机控制器来控制的,市面上有多种能够充当步进电机控制器的设备如PLC、单片机、驱控一体的步进电机控制器等,根据其功能等需求,驱控一体的步进电机控制器是目前使用最为普遍的。

  • 大功率无刷直流电机产品介绍

    大功率无刷直流电机产品介绍

    大功率无刷直流电机控制器输入的信号经过阻容低通滤波后再输入到单片机中,以免杂波的干扰影响单片机的判断。

  • 浅谈嵌入式与这两者之间的关联 一起了解吧

    浅谈嵌入式与这两者之间的关联 一起了解吧

    本文主要介绍了嵌入式、单片机和物联网,嵌入式的定义是“用来控制、监视或是辅助操作设备和机器设备的装置”,是一种专用型的计算机系统,一般作为装置和机器设备的一部分。

  • 嵌入式系统和它有啥不一样 一起来看看吧

    嵌入式系统和它有啥不一样 一起来看看吧

    本文首先介绍了嵌入式系统是啥,嵌入式系统的定义,其次介绍了单片机是啥,单片机跟嵌入式系统的区别,最后阐述了嵌入式系统与单片机在主次关系上的区别。

  • 这里有嵌入式技术的干货

    这里有嵌入式技术的干货

    现阶段在物联网技术中,嵌入式技术有着关键的地位,嵌入式技术始于单片机设计技术,是各种智能化的电子器件、机电商品的关键,适用于保持对硬件环境的操纵、监控或管理方法等作用。今天就来详细讲讲嵌入式技术。

微信

第一时间获取电子制造行业新鲜资讯和深度商业分析,请在微信公众账号中搜索“哔哥哔特商务网”或者“big-bit”,或用手机扫描左方二维码,即可获得哔哥哔特每日精华内容推送和最优搜索体验,并参与活动!

发表评论

  • 最新评论
  • 广告
  • 广告
  • 广告
广告
粤B2-20030274号   Copyright Big-Bit © 2019-2029 All Right Reserved 大比特资讯 版权所有     未经本网站书面特别授权,请勿转载或建立影像,违者依法追究相关法律责任