1079|9

2549

帖子

0

TA的资源

五彩晶圆(初级)

楼主
 

【STM32L496 Dis】3.板载功耗测量 [复制链接]

本帖最后由 数码小叶 于 2023-10-29 16:46 编辑

STM32L496 Discovery kit的学习借鉴的地方很多,其一就是电流测量。相比于其他大部分的L系列或者F系列的板卡,可能提供了低功耗模式的验证Demo,但都是仅限于设置好MCU的工作模式,需要通过电流测量接口外接万用表测量。而STM32L496 Discovery kit确是直接显示在屏幕上,不需要外部的测量设备。STM32L496 Dis电源设计有一个跳线帽JP2,这个可以选择是直接接到VDD还是电流测量部分,这个设计在ST的板卡上几乎都会存在

 
 
通过micro usb给板卡供上电,之前已经看到了IDD的应用,只需要再Demo里选择GUI为SEGGER,就能看到里面有电流测量应用
 
里面提供了7中模式:
运行模式 24Mhz、睡眠模式24Mhz、低功耗运行模式2Mhz、低功耗睡眠模式、停止2模式、待机模式、关机模式。
L4的参考手册总共介绍了十种运行模式,Demo里的七种已经涵盖了所有模式。手册里详细介绍了每种模式怎么进入怎么退出等操作,这个在之前策略L4功耗的时候已经了解过了

 

 

 
 
然后就是查看原理图,看下这个电流测量的具体过程

从跳线帽JP2入手,是一个很好的起始点。JP2决定了从哪路引入电流,左边VDD支路是直接引入的,没有接入任何器件;右侧IDD支路,有四个采样电阻,1Ω、24Ω、620Ω和10kΩ分别有三个MOS管控制开启或关断。控制三个MOS管的管脚SH0\SH1\SH2出自于MFX-V3。两个双运放芯片,共四个运放,三个作为电压跟随器,一个电压放大,最后传到MUC的ADC,采样电阻很明显可以确保最后的电压值不超量程。

 
看原理图时发现电流测量部分全部集中在一个独立的模块中:Title: IDD measurement / MFX (Multi Function eXpander)

 

 
虽然原理图上只写了MFX_V3,没写具体芯片,但是在STM32L496 Dis,可以看出是一颗STM32L152CCTB。对于MFX部分,在官网没有找到详细的介绍,只有部分文档里有介绍

 

 

明白其共有三个作用,触摸、电流测量、IO扩展。但遗憾的是其固件在网上也没有找到,倒是ST的英文社区很多人询问MFX的文档或者源码,几乎也都没有响应,只是让参考Demo接口直接调用。因此,如果覆盖擦除了MFX的固件,想恢复几乎就不可能了,估计也是为了以往万一,MFX的烧写口是引出来了的,但是没有焊接排针。

 

对于MFX的所有操作,被封装成了一个函数指针组成的结构体中

IDD_DrvTypeDef mfxstm32l152_idd_drv =
{
  mfxstm32l152_Init,
  mfxstm32l152_DeInit,
  mfxstm32l152_ReadID,
  mfxstm32l152_Reset,
  mfxstm32l152_LowPower,
  mfxstm32l152_WakeUp,

  mfxstm32l152_IDD_Start,
  mfxstm32l152_IDD_Config,
  mfxstm32l152_IDD_GetValue,

  mfxstm32l152_IDD_EnableIT,
  mfxstm32l152_IDD_ClearIT,
  mfxstm32l152_IDD_GetITStatus,
  mfxstm32l152_IDD_DisableIT,

  mfxstm32l152_Error_EnableIT,
  mfxstm32l152_Error_ClearIT,
  mfxstm32l152_Error_GetITStatus,
  mfxstm32l152_Error_DisableIT,
  mfxstm32l152_Error_ReadSrc,
  mfxstm32l152_Error_ReadMsg
};

 

上一篇已经知道了怎么由GUI到具体的应用调用,所以可以忽略上层的调用过程,只看一下电流测量的过程。

总共七种测量模式,被封装成一个结构体数组:

Idd_AppliTypedef IddTest[IDD_TEST_NB]=
{
  {Idd_RunEnter, Idd_RunRestore, "Run 24Mhz", IDD_RUN},
  {Idd_SleepEnter, Idd_SleepRestore, "Sleep 24Mhz", IDD_SLEEP},
  {Idd_LprEnter, Idd_LprRestore,"LP Run 2Mhz", IDD_LPR_2MHZ},
  {Idd_LprSleepEnter, Idd_LprSleepRestore,"LP Sleep", IDD_LPR_SLEEP},
  {Idd_StopEnter, Idd_StopRestore, "Stop2", IDD_STOP2},
  {Idd_StandbyEnter, NULL,"Standby", IDD_STANDBY},
  {Idd_ShutdownEnter, NULL,"Shutdown", IDD_SHUTDOWN},
}

每一种模式,其对于外设的设置就都不一样了,在其函数中体现,其中涉及时钟的总共有三个函数,分别对应不同模式下的时钟设置:

Idd_ExternalSupply_ClockDecrease,设置系统时钟从80Mhz变为24Mhz

SystemLowClock_Config,设置系统时钟2Mhz

在测量时,调用了SystemPeripheralClockDisable,关闭了外设时钟。

 

查看其中的某一个函数:

void mfxstm32l152_IDD_Start(uint16_t DeviceAddr)
{
  uint8_t mode = 0;
  mode = MFX_IO_Read((uint8_t) DeviceAddr, MFXSTM32L152_REG_ADR_IDD_CTRL);
  mode |= MFXSTM32L152_IDD_CTRL_REQ;
  MFX_IO_Write((uint8_t) DeviceAddr, MFXSTM32L152_REG_ADR_IDD_CTRL, mode);
}
uint8_t MFX_IO_Read(uint16_t Addr, uint8_t Reg)
{
  return I2C2_ReadData(Addr, Reg, I2C_MEMADD_SIZE_8BIT);
}
static uint8_t I2C2_ReadData(uint16_t Addr, uint16_t Reg, uint16_t RegSize)
{
  HAL_StatusTypeDef status = HAL_OK;
  uint8_t value = 0x0;
  __disable_irq();
  status = HAL_I2C_Mem_Read(&I2c2Handle, Addr, Reg, RegSize, &value, 1, I2c2Timeout);
  __enable_irq();
  if (status != HAL_OK)
  {
    /* Re-Initiaize the BUS */
    I2C2_Error();
    HAL_Delay(200);
  }
  return value;
}

一些操作被底层抽象成了寄存器,最终调用的是HAL库的驱动函数HAL_I2C_Mem_Read,实现了像操作IIC器件一样去操作STM32L152的效果。这个过程中,可以熟悉MFX的操作流程。

 

最后的实际测试结果:

运行模式测量时,屏幕不会熄灭,其他模式会测量时,屏幕会熄灭。待机模式和关机模式会清空之前的测量数据,而其他测量模式不会清空之前的数据。这个操作在回调函数_cbHint里实现的,以及测量完成后的界面绘制。
按理MFX很强大啊 ST应该推广啊,即使不开源,但是固件可以放出来,为啥整的像很闭塞似的。很奇怪,不理解,
 

 

 

此帖出自stm32/stm8论坛

最新回复

不过这次经历也让我涨知识了,从此多了一个识别假芯片的方法,手机微距拍照。打磨后表面粗糙度也大的颗粒感,比正常芯片表面粗糙多了。 反正看字是看不出来多少差异的,因为都是用激光刻,字体很容易搞成一样,但是表面处理它们就没办法保持跟没打磨前一样了。   详情 回复 发表于 2023-10-31 17:41
点赞 关注
 

回复
举报

7042

帖子

11

TA的资源

版主

沙发
 
目前意法半导体的日子也不怎么好过呀,有些技术放开了,就怕别人学去了,不开发,又没有人会,两难。
此帖出自stm32/stm8论坛

点评

相比其他半导体,TI和ST这点做的感觉已经很好了  详情 回复 发表于 2023-10-30 19:43
 
 

回复

365

帖子

3

TA的资源

纯净的硅(初级)

板凳
 

谈到L152,就会想起以前一个项目,在某宝买回来的芯片,调试LCD死活调不出来,程序编绎、仿真,跑起来都没问题,也不报错,也没警告。只是在仿真时发现,LCD相关的寄存器,不管写什么值进去,再去读取时都没有变化,也就是写不进去,才怀疑芯片是不是有问题,然后找代理申请了几片样品换上去,一切正常。果然国人造假的技术太。。。。。,专坑自己人。后面用微距拍照对比,才发现假货打磨后,芯片表面比原装粗糙很多,然后侧面拍照对比也能发现打磨后的芯片比原装会薄一点点。

此帖出自stm32/stm8论坛

点评

那会某宝很多假货吧。。。  详情 回复 发表于 2023-10-30 18:33
某宝还是偏随意了  详情 回复 发表于 2023-10-30 15:54
 
 

回复

7671

帖子

2

TA的资源

五彩晶圆(高级)

4
 
hjl2832 发表于 2023-10-30 08:55 谈到L152,就会想起以前一个项目,在某宝买回来的芯片,调试LCD死活调不出来,程序编绎、仿真,跑起来都没 ...

某宝还是偏随意了

此帖出自stm32/stm8论坛
 
个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 

回复

7244

帖子

2

TA的资源

版主

5
 
hjl2832 发表于 2023-10-30 08:55 谈到L152,就会想起以前一个项目,在某宝买回来的芯片,调试LCD死活调不出来,程序编绎、仿真,跑起来都没 ...

那会某宝很多假货吧。。。

此帖出自stm32/stm8论坛
 
 
 

回复

7244

帖子

2

TA的资源

版主

6
 

它这个电流测量精度还挺高的,ST的板子做的确实还是很好的!业界标榜。

此帖出自stm32/stm8论坛

点评

方便验证原始程序  详情 回复 发表于 2023-10-30 19:44
 
 
 

回复

2549

帖子

0

TA的资源

五彩晶圆(初级)

7
 
lugl4313820 发表于 2023-10-30 07:00 目前意法半导体的日子也不怎么好过呀,有些技术放开了,就怕别人学去了,不开发,又没有人会,两难。

相比其他半导体,TI和ST这点做的感觉已经很好了

此帖出自stm32/stm8论坛
 
 
 

回复

2549

帖子

0

TA的资源

五彩晶圆(初级)

8
 
wangerxian 发表于 2023-10-30 18:34 它这个电流测量精度还挺高的,ST的板子做的确实还是很好的!业界标榜。

方便验证原始程序

此帖出自stm32/stm8论坛
 
 
 

回复

2549

帖子

0

TA的资源

五彩晶圆(初级)

9
 
hjl2832 发表于 2023-10-30 08:55 谈到L152,就会想起以前一个项目,在某宝买回来的芯片,调试LCD死活调不出来,程序编绎、仿真,跑起来都没 ...

国人专坑国人,这话不是没道理的

此帖出自stm32/stm8论坛

点评

不过这次经历也让我涨知识了,从此多了一个识别假芯片的方法,手机微距拍照。打磨后表面粗糙度也大的颗粒感,比正常芯片表面粗糙多了。 反正看字是看不出来多少差异的,因为都是用激光刻,字体很容易搞成一样,但  详情 回复 发表于 2023-10-31 17:41
 
 
 

回复

365

帖子

3

TA的资源

纯净的硅(初级)

10
 
数码小叶 发表于 2023-10-30 19:45 国人专坑国人,这话不是没道理的

不过这次经历也让我涨知识了,从此多了一个识别假芯片的方法,手机微距拍照。打磨后表面粗糙度也大的颗粒感,比正常芯片表面粗糙多了。

反正看字是看不出来多少差异的,因为都是用激光刻,字体很容易搞成一样,但是表面处理它们就没办法保持跟没打磨前一样了。

此帖出自stm32/stm8论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表