微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > TMS320F2812系统中的软件复位方法

TMS320F2812系统中的软件复位方法

时间:04-20 来源:单片机与嵌入式系统应用 点击:

控制系统中大多采用电压监控或者看门狗电路,以保证系统的稳定运行。采用硬件复位的方式,可以通过按键开关在任意时刻进行系统复位,系统复位后程序重新开始运行。但有些系统中有人机界面显示,主机在机箱内部,人工复位很不方便,所以采用界面方式的软件复位。

TMS320F2812(以下简称2812)是TI公司2000系列的新型DSP芯片,具有32位低功耗定点处理器,最高主频150 MHz,有强大的操作能力和快速的中断响应处理能力。片内有18 K字高速RAM,128 K字的可加密Flash ROM。片上还集成了丰富的片内外设.有SPI、SCI、eCAN和McB-SP等多个串口外围设备,16通道的12位模数转换器(ADC),2个事件管理器(EVA、EVB),56个独立的可编程、多用途通用I/O口(GPIO)。该DSP芯片集成了大量工业控制领域应用的外设接口,能大大简化电路设计,同时它也具有足够的处理能力,是应用于控制领域的一款高性能DSP处理器。

下面介绍三种实现方法。

1 硬件看门狗带喂狗端口

看门狗芯片一般都带有电压监控和复位输出控制,同时还带有WDI的喂狗引脚,需要系统不停地给芯片脉冲,以保证看门狗芯片不向系统输出复位信号。这里就出现了第一种软件方式系统复位方法:需要软件复位时就长时间不给狗脉冲,这样看门狗芯片的复位引脚就输出1个系统需要的复位电平使系统复位。图1是看门狗芯片图。图2是MAX706与2812的接口电路。MAX706芯片内部看门狗定时器的输入WDI可以接到 2812的引脚上,2812不断向WDI输入脉冲(周期≤1.6 s),WDO输出的低电平接到2812的XRS端,使系统复位并重新启动系统。另外当系统电源降到检测点时也使系统复位。当系统接收到复位命令后,停止对 WDI引脚的输出,使芯片的RESET控制系统复位。

端口初始化程序如下:

2 看门狗芯片不带喂狗端口

方式1中所采用的是带WDI端口的看门狗芯片,但有些芯片是不带WDI端口的,这时看门狗用于电源检测,当低于设定电压时,输出复位信号,使系统复位。第二种方法也采用 2812的引脚配合方式,但不需要时时刻刻喂狗。图3为所采用的看门狗芯片MAX708。图4为MAX708与2812的接口电路。

2812的GPIOFl4-XF引脚在上电复位后输出高电平,之后该信号被锁存。当2812收到系统复位命令后,控制GPIOFl4一XF引脚输出低电平使系统复位。

端口初始化如下:

3 软件看门狗复位方式

这种方式是利用2812自带的软件看门狗方式,2812的看门狗功能框图如图5所示。

通过框图可以看出2812的软件看门狗有两种方式:WDINT的中断唤醒方式和WDRST方式。这里是要求系统复位,而WDINT是实时监控系统的,并不能按要求实现软件复位,所以需将WDRST信号接到XlRS上,这样通过程序配合就能实现控制系统复位。2812系统上电初始化需要一定的时间,所以在初始化时先关闭看门狗,等系统初始化完成后,再打开看门狗。

初始化程序说明如下:

这里利用while(1)的死循环等待看门狗的计数器超过设定值,然后WDRST信号输出低电平;而WDRST接到XRS上,所以整个系统复位,重新开始执行程序。

看门狗程序如下:

结语

第一种和第二种方式基于硬件的实现,更加可靠些,第三种方式则可以节约电路板的空间和成本。需要注意的是,采用软件看门狗时调用喂狗程序的间隔不能大于设定值。

发布者:小宇

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top