【发明内容】
为了克服上述问题,本发明提出一种可有效解决上述问题的不增加硬件设计来实现系统低温启动的方法。
本发明解决上述技术问题提供的一种技术方案是:提供一种不增加硬件设计来实现系统低温启动的方法,包括步骤S1,在设备系统软件中添加预热模式功能;步骤S2,设备处于临界低温范围时,系统软件启动预热模式功能,设备内部软件可控功耗器件满功率模式下工作,对设备本身进行预加热,温度达到设备正常工作温度范围内,软件自动重启设备,并让设备运行并切换到正常模式。
优选地,所述步骤S1中,在设备系统软件中添加参数配置模块,用于配置参数。
优选地,所述步骤S1中,在设备系统软件中添加环境温度检测模块,用于获取环境温度。
优选地,所述步骤S1中,在设备系统软件中添加器件模式配置模块,用于配置器件工作模式。
优选地,所述步骤S1中,在设备系统软件中添加设备工作模式切换模块,用于切换设备整体工作模式。
优选地,所述参数配置模块包括配置文件SysCfg.ini,用于配置参数Enable、NormalTempMin、NormalTempMax、GetEnvTempCnt、GetEnvTempFreq、DeviceLists和GetSysStatusFreq。
优选地,所述步骤S2中,包括如下步骤:
步骤S21,设备开机,判断参数Enable是否等于1,Enable等于1则启用预热模式功能,Enable等于0则进入正常模式工作;
步骤S22,通过参数GetEnvTempCnt和GetEnvTempFreq获取当前的环境温度CurTemp,若CurTemp大于NormalTempMin则进入正常模式工作,若CurTemp不大于NormalTempMin,则根据参数DeviceLists中指定的软件可控功耗器件,分别确认软件可控功耗器件是否能通信上,通信上则配置软件可控功耗器件满功率工作;
步骤S23,时间流逝GetSysStatusFreq秒,重复步骤S22,直到CurTemp大于NormalTempMin系统进入正常模式工作。
与现有技术相比,本发明的不增加硬件设计来实现系统低温启动的方法通过在设备软件上的改进,在不增加对温度等级更高要求的硬件情况下,在设备正常运行前增加了一个软件控制的预热模式,使得设备能在临界低温范围中对设备本身进行预加热,并解决设备在一定的低温下无法使用的问题,拓展了设备可以工作的温度范围,从而节省增加硬件的成本,也适用于已发货设备的升级。
【具体实施方式】
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施实例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用于解释本发明,并不用于限定本发明。
需要说明,本发明实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅限于指定视图上的相对位置,而非绝对位置。
另外,在本发明中如涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
请参阅图1和图2,本发明的不增加硬件设计来实现系统低温启动的方法,包括如下步骤:
步骤S1,在设备系统软件中添加预热模式功能。当环境温度处于IC的临界低温范围时,设备基本能运行起来,可能不太正常,但可以跑最小系统,能初始化并配置多个软件可控功耗器件,并让它们进入满功率运行状态,这些软件可控功耗器件包括但不限于CPU、射频Transceiver、WiFi芯片、DDR芯片等,例如,一个4核的1.8G ARM处理器,静态功耗1-2W,典型工作6W左右,而满功耗模式时能到10-12W;一个4通道100M的Transceiver芯片,静态功耗1-2W,典型工作只有4W,而满功耗模式能到7W以上,从而达到物理加热设备本身的目的。
步骤S2,设备处于临界低温范围时,系统软件启动预热模式功能,设备内部软件可控功耗器件满功率模式下工作,对设备本身进行预加热,温度达到设备正常工作温度范围内,软件自动重启设备,并让设备运行并切换到正常模式。
所述步骤S1中,为了能在不增加监控和加热装置,并且在临界低温范围的情况下启动并使得设备正常运行,本发明在软件上添加如下模块用于完成本发明的实现:
1.参数配置模块,用于配置参数。
新增配置文件SysCfg.ini,用于配置各种参数,内容如下:
[SYS_CONFIG]
Enable=1
NormalTempMin=0
NormalTempMax=70
GetEnvTempCnt=5
GetEnvTempFreq=2
DeviceLists=U1,U3,U12,U24
GetSysStatusFreq=30
各个参数的说明如下:
1.1、Enable
设备是否启用低温启动的功能,1表示启用,0表示不启用。
1.2、NormalTempMin
指定设备正常运行的最低温度,当环境温度小于该温度且系统能启动时,判断目前处于临界低温范围,此时设备内的软件可控功耗器件需要工作在满功率状态。
1.3、NormalTempMax
指定设备正常运行的最高温度,当环境温度高于该温度时,系统将给出告警信息。
1.4、GetEnvTempCnt
指定通过温度传感器采样环境温度的次数,然后求其平均温度作为最终的环境温度。
1.5、GetEnvTempFreq
指定通过温度传感器采样环境温度的频率(单位为秒),该参数和GetEnvTempCnt的组合使用,尽可能准确地采集当前的环境温度。
1.6、DeviceLists
指定在临界低温范围时,哪些器件需要工作在满功率状态,通常指定的为软件可控功耗器件,从而尽快加热设备,以便快速使得设备的达到正常工作的温度范围。
1.7、GetSysStatusFreq
指定每隔多长时间(单位为秒)获取一次环境温度,从而使得系统在满功率状态切换到正常工作状态。
2.环境温度检测模块,用于获取环境温度。
系统使用I2C总线连接一个设备内部温度传感器sensor,当系统启动后,首先通过温度传感器sensor获取当前的环境温度,即每隔GetEnvTempFreq秒读一次温度,连续读GetEnvTempCnt次,然后求其平均值作为当前的环境温度,通过这种多次获取求平均值的方式尽量准确获取当前的环境温度,为下一步动作提供依据。
3.器件模式配置模块,用于配置器件工作模式。
当系统通过温度传感器sensor获取到当前环境温度后,而且当前环境温度小于NormalTempMin时,则判定当前处于临界低温范围,此时设备内软件可控功耗器件需要工作在满功率状态。
系统根据配置参数DeviceLists中的列表,分别将对应的器件配置为满功率状态,从而使得各个软件可控功耗器件尽快地加热设备,尽快达到设备的正常工作温度,即温度大于等于参数NormalTempMin的指定值。
软件可控功耗器件包括但不限于CPU、WiFi芯片、射频Transceiver等,让它们满功率工作的措施如下:
3.1、CPU
软件上关闭散热风扇,让CPU中的所有核接近满负荷运行,比如做各种运算。
3.2、WiFi芯片
先进行通信的确认,如果通信上,CPU将配置WiFi芯片为最大功率发射;如果通信不上,那很可能是当前环境温度过低使得WiFi芯片还无法工作,然后系统将在GetSysStatusFreq秒后,再次进行通信确认和配置动作。
3.3、射频Transceiver
先进行通信的确认,如果通信上,CPU将配置射频Transceiver为最大功率发射;如果通信不上,那很可能是当前环境温度过低使得射频Transceiver还无法工作,然后系统将在GetSysStatusFreq秒后,再次进行通信确认和配置动作。
4.设备工作模式切换模块,用于切换设备整体工作模式。
系统启动后,当系统检测到环境温度小于NormalTempMin时,将使得软件可控功耗器件进入满功率模式状态进行设备加热,并且每隔GetSysStatusFreq秒将再次获取当前的环境温度,如果大于等于NormalTempMin时,将使得系统进入正常模式。
所述步骤S2中,包括如下步骤:
步骤S21,设备开机,判断参数Enable是否等于1,Enable等于1则启用预热模式功能,Enable等于0则进入正常模式工作;
步骤S22,通过参数GetEnvTempCnt和GetEnvTempFreq获取当前的环境温度CurTemp,若CurTemp大于NormalTempMin则进入正常模式工作,若CurTemp不大于NormalTempMin,则根据参数DeviceLists中指定的软件可控功耗器件,分别确认软件可控功耗器件是否能通信上,通信上则配置软件可控功耗器件满功率工作;对于已经配置过的软件可控功耗器件,则忽略;
步骤S23,时间流逝GetSysStatusFreq秒,重复步骤S22,直到CurTemp大于NormalTempMin系统进入正常模式工作。
与现有技术相比,本发明的不增加硬件设计来实现系统低温启动的方法通过在设备软件上的改进,在不增加对温度等级更高要求的硬件情况下,在设备正常运行前增加了一个软件控制的预热模式,使得设备能在临界低温范围中对设备本身进行预加热,并解决设备在一定的低温下无法使用的问题,拓展了设备可以工作的温度范围,从而节省增加硬件的成本,也适用于已发货设备的升级。
以上所述仅为本发明的较佳实施例,并非因此限制本发明的专利范围,凡是在本发明的构思之内所作的任何修改,等同替换和改进等均应包含在本发明的专利保护范围内。