新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > Reset与嵌入式系统应用的稳定性

Reset与嵌入式系统应用的稳定性

作者:时间:2014-01-09来源:网络收藏

本文引用地址:http://www.eepw.com.cn/article/256984.htm


在RTOS实时多任务操作系统软件中,添加一任务,设置网络状态标志位来监视网络状态,当手机没有信号时设置某标志;通过适当的判据,确认是否Reset,如果达到Reset条件就迅速地软件复位,软件重新初始化,如图6所示。复位过程只能是“偷偷地”快速进行,不能让用户察觉,否则用户体验极为不好;要保持用户界面,底层快速重启,不知不觉地完成重启。重启后,网络正常,用户使用正常,巧妙地缓解,当然最终还是从本质上去解决问题。

5外设的复位及稳定性设计

5.1外设复位的特殊性与可控性

通常有LCD显示、摄像头和无线通信模块等外设。外设正常工作也需要正确的复位。有些设计直接将外设的复位引脚与处理器的复位引脚连在一起,共用一个外部源,如图7(a)所示。这种连接方式存在一些问题。首先,这要求复位电路有足够的复位时间,才能保证处理器和外设都正确复位;其次,一旦外设出问题,那么处理器也需要复位,整个系统都需重新初始化;最后,容易产生非同步复位,在处理器复位后,对外设写入命令时,可能被外设所复位掉,导致初始化出错。



这些问题可以从硬件和软件两个方面来处理。硬件方面,对处理器和外设的复位分别进行复位电路设计,适当展宽复位脉冲。软件方面,采用延时法,CPU上电后延时一段时间,等待外设复位充分,再进行外设初始化。最可靠并最具操作性的是保证外设复位的可控性,使外设的复位信号与处理器复位信号分开,由处理器的某一GPIO来控制。当处理器稳定上电完成自身的初始化后,由处理器软件控制外设复位,适当延时后,再对外设进行初始化,如图7(b)所示。



外设复位的可控性,对要求特殊复位时序的外设尤其有用。不同的外设,其复位时序要求不同,具有个性与特殊性,系统应根据具体的复位时序要求进行个性化复位,否则可能导致外设工作不正常。

对于应用系统中有多个外设时,不应该如图8(a)那样把多个外设的复位引脚连在一起,由处理器的一个GPIO控制,进行一次外部。通常采用如图8(b)的连接方式,处理器完成后,分别通过不同的GPIO控制、采用不同的延时对各外设分别进行上电及复位。系统运行过程中,某个外设因受干扰工作不正常时,可以单独对该外设进行复位操作,而不影响其他外设;有利于提高系统设计的灵活性和可靠性,能保证多个外设的可靠运行。

5.2实例分析:WiFi模块的特殊复位信号

笔者做过一个用WiFi进行数据传输的项目,整个系统如图9所示,SoC处理器模块采集到的数据通过UART传送给WiFi模块,WiFi模块再通过2.4 GHz无线信号传送给无线WiFi AP,最后经以太网口传送给PC,由PC把无线AP获取的数据保存到硬盘。



调试时,发现前端部分工作不稳定,WiFi模块启动不稳定,各次启动现象不一致,有时能正常启动,有时不能正常启动。最后,找到问题的所在点:WiFi模块上电启动时,没有得到正确的复位。系统上电的RC复位电路产生的Reset信号并不能完全使系统稳定,需要再加一个脉冲信号,如图10(a)所示。WiFi模块的Reset时序包括两个阶段:大于20 ms的上电Reset和大于1 ms的硬件脉冲信号。微处理器SoC并初始化后,由I/O控制WiFi模块上电及复位,按需求进行了特殊复位处理,采用特殊的Reset信号和时序,如图10(b)所示,模块可以稳定启动,工作正常,问题解决。

激光二极管相关文章:激光二极管原理


评论


相关推荐

技术专区

关闭