请教大家一个问题:
关于SensorController功耗的问题,我在原始Sensor的例程中增加了SCE通过I2C读取数据的,Sensor Controller Studio我是仿照例程的light Sensor修改生成相应文件,并仿真成功。
我在Sensor_init()函数中增加了如下代码SCE初始化代码:(去掉功耗正常)
SceI2C_init(0x00050000);
SceI2C_star();
函数原型为:
void taskAlertCallback(void)
{
/* Clear the ALERT interrupt source */
scifClearAlertIntSource();
Util_setEvent(&Sensor_events, SENSOR_HEART_TIMER_EVT);
/* Wake up the application thread when it waits for clock event */
Semaphore_post(sensorSem);
/* Acknowledge the alert event */
scifAckAlertEvents();
}
void SceI2C_init(uint32_t samplingTime)
{
// Initialize the Sensor Controller
scifOsalInit();
scifOsalRegisterCtrlReadyCallback(ctrlReadyCallback);
scifOsalRegisterTaskAlertCallback(taskAlertCallback);
scifInit(&scifDriverSetup);
scifStartRtcTicksNow(samplingTime);
}
void SceI2C_star(void)
{
// Start task
scifStartTasksNbl((1 <<SCIF_TMP75_TASK_ID));
}
功耗测量如下图:
这个功耗越300uA,我设置的scifStartRtcTicksNow 参数为5s
请问:1、是这5s内SCE一直处于活跃状态吗?
2、让SCE周期性醒来采集数据,然后睡眠,我这样操作是否正确?
Alvin Chen:
The call to scifStartRtcTicksNow() configure the sensor controller tick period.
也是相当于5s唤醒一次
Invoker:
回复 Alvin Chen:
从电流来看,这5s,功耗一直很高,没有进入休眠状态,怎么得到如下链接中的SCE电流呢?
e2e.ti.com/…/1681248
Alvin Chen:
回复 Invoker:
你自己检查你其他程序有没有使用造成功耗损失。
Alvin Chen:
回复 Alvin Chen:
用SCS 生成的工程烧录进去对比一下
Invoker:
回复 Alvin Chen:
您好,我试了一下 去掉SCE的初始化代码(下面两个),功耗是正常的Standby电流
SceI2C_init(0x00050000);
SceI2C_star();
Invoker:
回复 Alvin Chen:
请问SCS生成的怎么烧录,我只仿真过
Alvin Chen:
回复 Invoker:
在C:\Users\xxxx\Documents\Texas Instruments\Sensor Controller Studio\examples\i2c_light_sensor\source 里面有scif_how_to_use这个文档参考如何去移植。