em9160l是一款与英创主力产品em9160功能完全兼容,同时具有低功耗操作能力的高性能arm9嵌入式主板产品。em9160l主要应用是作为以电池供电、无人值守的野外工作环境为特色的设备主控单元。作为通常的通讯控制功能,em9160l与em9160的使用是完全一样的,客户针对em9160开发的应用程序可不加修改的应用于em9160l上。本文主要介绍em9160l低功耗功能方面的相关应用。
相对em9160,em9160l采用了三个方面的措施来改进其功耗指标:(1)采用高效的step-down dc-dc电源代替普通的线性稳压电源;(2)采用具有低电压内核的cpu单元;(3)对外部接口单元添加电源管理功能。这三种措施使em9160l的功耗指标得到大幅度提高,具体功耗测试结果如下表所示:
测试条件
平均功耗
峰值功耗
待机功耗
em9160
235ma / 5v
320ma / 5v
em9160l
120ma / 5v
160ma / 5v
50ma / 5v
作为野外监测应用,一般并不需要设备每时每刻都处于运行状态,而是全速工作一段时间后,设备转入空闲一段时间,然后再进入工作状态,即设备实际处于“工作-空闲”的周期模式中。在实际应用中,设备空闲的时间通常远长于设备工作的时间,如每分钟工作10秒、空闲50秒。正因为如此,才要求设备在空闲状态的功耗尽可能低,以延长电池的使用寿命,降低设备的维护费用。
尽管wince操作系统对设备驱动提供了一套电源管理的机制,但这套机制的应用主要是基于带有标准windows图形界面的环境,而em9160l则是不带windows图形接口的系统,因此ce的这套机制还不能非常方便地满足em9160l在实际应用的需求。针对实际应用的特点,我们为 em9160l应用程序专门提供了两个系统功能调用:
//
// 设置用户空闲标志:进入空闲待机状态
//
bool setuseridleflag()
{
dword dwuseridleflag;
dword dwinbufsize;
dword dwreturnbytes;
bool bret;
dwuseridleflag = 1;
dwinbufsize = sizeof(dwuseridleflag);
bret = kerneliocontrol(ioctl_em9x60_user_idle_write,
(lpvoid)&dwuseridleflag,
dwinbufsize,
null,
0,
&dwreturnbytes);
return bret;
}
//
// 清用户空闲标志:退出空闲待机状态
//
bool clearuseridleflag()
{
dword dwuseridleflag;
dword dwinbufsize;
dword dwreturnbytes;
bool bret;
dwuseridleflag = 0;
dwinbufsize = sizeof(dwuseridleflag);
bret = kerneliocontrol(ioctl_em9x60_user_idle_write,
(lpvoid)&dwuseridleflag,
dwinbufsize,
null,
0,
&dwreturnbytes);
return bret;
}
应用程序可通过调用上述两个api实现进入或退出用户空闲状态,进入空闲状态后,用户程序可设定一定数量的sleep(1000)循环,来确定系统处于空闲状态的时间。注意在空闲状态中,em9160l的以太网接口被关闭。典型的进入空闲状态的应用程序流程如下:
bool deventflag = false; // 外部中断事件标志
…。
// 关闭在空闲状态中不再使用的通讯接口,如串口等
…。
// 进入空闲状态
setuseridleflag();
// 设置正常空闲状态50秒,每秒进行一次异常检查
for (i1 = 0; i1 《 50; i1++)
{
sleep(1000); // 也可用waitforsingleobject阻塞等待外部事件
if(deventflag)
break;
}
// 退出空闲状态
clearuseridleflag();
// 打开应用所需的通讯接口,如串口等
…。
上述流程还支持空闲状态的中途退出,这是因为系统在空闲状态下仍然可以正常响应外部硬件中断。一种典型的空闲状态中途退出应用是保持em9160l的irq1中断线程,把gprs模块的振铃信号ri#作为irq1中断输入信号。这样应用控制中心可在任意时间,通过拨号来唤醒基于em9160l的野外设备,使其立即进入工作状态。
由于以太网接口单元通常都是嵌入式系统功耗最大的单元之一,因此在em9160l的空闲状态中,其以太网接口单元被强制关闭。所以em9160l不支持应用程序通过以太网中途退出空闲状态。当系统中空闲状态退出后,以太网需要4–6秒才能恢复支持工作状态,这包括了网络协商时间。
在进入空闲状态前关闭不需要的通讯端口,应不仅仅理解为关闭通讯端口,实际上任何耗电的单元,应用程序都应当把它们设置在省电的状态。如正常运行时常亮的led,应设置成关闭或闪烁状态。
注意:50ma的空闲电流,是在em9160l不带任何负载的情况下,进入空闲状态后测试的。
魅族Pro7什么时候上市?魅族Pro7最新消息:魅族Pro7双屏幕+电子墨水瓶+双摄,能否拯救魅族?
RX600系列几个主要的产品线详细介绍
广东电信正式进入F5G智慧全光2.0时代
步进电机驱动器的工作原理
基于Linux内核的透明代理配置方案
英创信息技术工控主板EM9160L的低功耗应用介绍
量子计算机将能够解决一些今天计算机需要数百万年才能计算的问题
永磁同步电机控制系列的数学模型(4)simulink仿真搭建案例
电力电子器件的换流方式有哪些
乐华MES工位机在实际应用中可能遇到的问题
PCB设计中需要考虑的电源因素
一个程序是如何运行起来的
基于GSM和ZigBee的实验室安防系统的设计
如何理解射频前端接收模组的五重山
王者归来!Intel Xe独立显卡深度揭秘
双十一意味着互联网有了怎样的改变
微雪电子树莓派外扩板|可接Arduino和XBee介绍
循环神经网络LSTM为何如此有效?
音诺恒科技基于RK3568平台的智能终端设备主板方案介绍
关于单端反激开关电源变压器的主要参数