打印

【MSP430i2xx教程第四讲】电源管理模块 & TLV

[复制链接]
楼主: xlhtracy
手机看帖
扫描二维码
随时随地手机跟帖
81
voltageMonitorLevel
可选值有:
PMM_DISABLE_VMON            关闭电压监视器
PMM_DVCC_2350MV               DVCC2350mV比较
PMM_DVCC_2650MV               DVCC2650mV比较
PMM_DVCC_2850MV               DVCC2850mV比较
PMM_VMONIN_1160MV             VMONIN1160mV比较
修改寄存器VMONCTLREGOFF位      
当电压监视器用来监视DVCC电压时可以与2350mV、2650mV、2850mV比较。但是当DVCC真的低于2350mv,2650mv、2850mv时,这些比较的基准电压又如何保证的呢?  

还是说芯片内部有升压模块来保证即使DVCC低于相应门限, 比较电压还是能够达到的。

使用特权

评论回复
82
feiting94| | 2015-4-25 09:52 | 只看该作者
hanzhenfei 发表于 2015-4-24 21:52
当电压监视器用来监视DVCC电压时可以与2350mV、2650mV、2850mV比较。 ...

Reference Calibration
这些校准值是放在TLV里面的,
原文这么写的:The calibration values are stored in the flash information memory in TLV format

使用特权

评论回复
83
稳稳の幸福| | 2015-4-25 16:46 | 只看该作者
hanzhenfei 发表于 2015-4-24 21:52
当电压监视器用来监视DVCC电压时可以与2350mV、2650mV、2850mV比较。 ...

内部应该提供了稳压模块,要不然怎么比较啊,我看有相当一部分单片机提供这个电压自检功能

使用特权

评论回复
84
jianjun8410| | 2015-4-26 00:34 | 只看该作者
个人谈一下对reference calibration的理解,不知道对不对。
第一次芯片上电后,REFCAL0,REFCAL1寄存器的复位值是0,也就是没有校准状态,这个时候可以通过电压监视器来监测REF电压大小和1160mv进行比较,当基准电压不等于1160mv时,此时通过不断的修改校准寄存器REFCAL0/1的值使基准电压大小等于或最接近1160mv,此时,将校准寄存器REFCAL0/1的信息保存到TLV里面,以后每次上电验证一下TLV的信息就可以了,这样就完成了Reference Calibration的功能,不知道是不是这个意思。

使用特权

评论回复
85
hanzhenfei| | 2015-4-26 11:39 | 只看该作者
设置PMM的有:
    void PMM_setupVoltageMonitor( uint8_t voltageMonitorLevel )SD24_initConverter()
    void PMM_calibrateReference (void)SD24_startConverterConversion()
这两个函数后面都跟了另一个函数是什么用意呢,有关联吗?
PMM_calibrateReference 这个函数什么时候用到呢?

使用特权

评论回复
86
diguozhangyang| | 2015-4-26 17:16 | 只看该作者
我也来参加一下,活动,刚开始不知道从哪儿学习,学习了前3课程,有了基本的认识了,另外看了相关的手册。最好是结合某一个典型的具体芯片学习,比较好,可以参考具体的数据手册,知道某些功能是跟硬件如何对应的,这样就可以系统的学习了。
------------------------------、
我是根据帖子提供的msp430i2040.pdf结合课程的内容学的。
我们知道该帖的一个关键点是PMM,电源管理,我们都知道TI 430主打低功耗,当然电源管理就是实现低功耗的根本手段。

该图表给出了不同电源管理模式下对应的功耗,因为最大编号是4.5所以库函数就以这个作为命名,也可以清楚的根据命名知道最大的低功耗等级是多少。
在4.5等级低功耗模式下,我们看到所有的设备开关都被关闭了,常温下,电流75nA,这简直就是电池在自然界损耗的速度。足见TI在低功耗上领先的技术。
-------------------------------------------
进入低功耗,就要考虑到退出,退出低功耗性能的参数就是退出的速度,也称为恢复速度,恢复速度是检验一个低功耗系统在应对能引起退出的中断的响应速度的一种参考标准。

恢复速度,当然跟休眠等级成反比,也就是,休眠的越深,恢复的越慢。
在LPM4.5休眠情况下,恢复速度0.45 ms,可见速度多么的快。当然这么深的休眠也只有RST触发的中断才可以恢复。在另外一个模式下通过IO事件监测也可以触发恢复。
这个低功耗休眠就像人休息一样,打盹的深度,决定了叫醒你所消耗的时间,睡觉越深沉,肯定醒来越慢。不过MSP430i2xx,继承了430家族优良的低功耗基因,更是青出于蓝而胜于蓝,所以在应对工业级的苛刻条件下,依然可以表现出色。可以用于太阳能供电或电池供电,风能供电的仪表等设备。


使用特权

评论回复
87
mintspring| | 2015-4-26 17:22 | 只看该作者
大家都知道TI的低功耗技术手指一曲,厉害之极。终于看到了TI的低功耗操作的库函数。
还有针对之前帖子,大家问IAR for msp430是否支持i2xx,我昨天下载了个,竟然支持,只不过库函数是之前的1.9版本,IAR版本号是6.3,相信在下一个版本肯定会升级到2.0的库函数的。嘿嘿,我这个消息是不是对那些喜欢IAR开发平台的是个好事情呢。

使用特权

评论回复
88
偏爱番茄酱| | 2015-4-26 19:42 | 只看该作者
下面是我对第四讲的PMM和TLV两部分的学习总结

使用特权

评论回复
89
偏爱番茄酱| | 2015-4-26 19:46 | 只看该作者
本帖最后由 偏爱番茄酱 于 2015-4-26 20:48 编辑

:loveliness::loveliness::loveliness:

使用特权

评论回复
90
偏爱番茄酱| | 2015-4-26 19:48 | 只看该作者
电源管理模块(PMM)
PMM提供管理电源及监视其相关设备的所有函数。它的主要功能是:生成一个电源电压的核心逻辑;提供监督和监测设备的电压(VCC)和核心(VCORE)电压发生器的机制。
    PMM使用一个集成的低压差稳压器(LDO),用于从VCC提供的初级电压产生一个二级核心电压(VCORE)。VCORE提供给CPU、内存(flash / RAM),和数字模块,而VCC提供给I / O模块和模拟模块。VCORE输出使用一个通过PMM内置的参考模块产生的电压基准维持。输入或调节器的初级侧被称为其高侧。输出或次级侧被称为其低侧。
    PMM特性包括:
    电源电压(VCC)范围:2.2 V至3.6 V
    高端掉电复位(BOTH)
    针对VCC的阈值等级可编程电源电压监控和外部管脚(VMONIN)对内部参考监控。
    1.8 V固定电压设备核心(VCORE)发生器
    电源电压监控器(SVS)的VCORE
    为整个器件和集成温度传感器提供精确的1.16-V参考。

使用特权

评论回复
91
偏爱番茄酱| | 2015-4-26 19:50 | 只看该作者
PMM API可以分成三组函数:那些设置PMM的,那些使用LPM4.5模式的,还有那些用于PMM中断的。
LPM4.5是一个特殊的低功耗模式,当芯片进入低功耗LPM4.5模式后,电源管理模块(PMM)的内部稳压器被禁止,此时,芯片的核心电电源包括JTAG和调试(EEM)逻辑设备的电压都将禁止。因为在LPM5模式下PMM不会为芯片核心提供电源,PMM模块被禁止, Vcore不被供能,CPU以及所有的数字模块包括RAM,都被关闭了,所有的寄存器和RAM值会丢失、CPU和所有的数字模块包括内存、EEM和JTAG接口都将由于失电而关闭。这样DEBUG调试器与芯片之间的通信就会停止,失去了与芯片的同步。为了我们仍然能够在调试程序的过程中,使调试器恢复与芯片同步,在LPM4.5下,要将重要的数据你要保存到 flash在你程序进入LPM4.5之前. 以及考虑的如何保持IO的配置继续工作。
1、进入LPM4.5模式:将LPM45CTL寄存器的REGOFF位置1,并LPM4运行在CPU状态寄存器。

为避免IO口失控,LPM45CTL寄存器的LOCKLPM45位自动硬件置1,当重新上电时,该位只能软件或BOR(零功耗掉电复位)清零。否则IO脚状态仍会锁住。IO口预先必须都设置为GPIO口,不能复用,可以上拉输入,上拉或下拉输出,但不能浮空输入。此外,设置输入中断来唤醒LPM4.5。不是所有IO脚有这个功能,设置PxIES寄存器可以决定唤醒设备的沿跳变类型。进入LPM4.5模式后,只有引脚状态保留,其他寄存器内容都会丢失。
2、退出LPM4.5模式:将/RST脚提供一个低电平,或者上电循环,或者特定io脚(可以从datasheet中找到),任何从LPM4.5退出都会导致BOR。
感觉这种模式和STM32的睡眠模式很类似,可以显著降低功耗。

LPM4.5模式的功耗是 15 nA
退回到正常模式的方式有3种:
1、active-low event on RST/NMI pin,就是相当于硬件复位信号
2、a power-on cycle,一个上电周期,不知道什么意思,不懂
3、by specific I/O,这种方式要在进入LPM4.5模式之前将IO脚设置为上拉输入,且开启外部中断,中断触发的沿跳变模式是可以人为设定的,当特定IO,原文这么写的,Not all devices include wakeup from LPM4.5 via I/O, and not all inputs with interrupt capability offer wakeup from LPM4.5.
就是说不同型号的MSP430可能有的不具备这个功能,而且可以IO退出LPM4.5的MSP430型号不同,IO脚也不一样,注意不是所有的IO脚都可以触发LPM4.5模式退出的。

使用特权

评论回复
92
数码小叶| | 2015-4-26 19:50 | 只看该作者
月下飞鸿 发表于 2015-4-22 16:27
如果能配合开发板,然后对例程加以消化,用库函数对430进行编程应该还是不太难的 ...

嗯,实践才能巩固

使用特权

评论回复
93
偏爱番茄酱| | 2015-4-26 19:51 | 只看该作者
Tag Length Value(TLV)
TLV(标签长度值)是一个存储在闪存的表,其中包含特定于设备的信息。包含重要的信息为使用和校准设备。一个TLV 内容的列表也可在特定于设备的数据表 (在TLV 部分),其具体功能上的解释在MSP430i2xx Family User’s Guide中提供。
TLV就是64bytes,地址是Flash中的13C0h到13FFh。其中13C0h和13C1h是后面62字节的校验和,校验和在启动时对FLASH完整性检查很有帮助。
TLV主要包含设备信息和外设校准数据。

使用特权

评论回复
94
偏爱番茄酱| | 2015-4-26 19:51 | 只看该作者
本帖最后由 偏爱番茄酱 于 2015-4-26 20:47 编辑


使用特权

评论回复
95
数码小叶| | 2015-4-26 19:51 | 只看该作者
123tango 发表于 2015-4-22 20:09
刚开始学习,库函数挺方便的

降低了写程序的门槛:lol

使用特权

评论回复
96
数码小叶| | 2015-4-26 19:53 | 只看该作者
112207301219 发表于 2015-4-23 00:15
LPM4.5可以理解为终级低功耗,只能用凶残来形容。就连cpu的核心电压都停止供应了,所有的数字模块,包括RA ...

我觉得FR 5969的功耗控制的更好

使用特权

评论回复
97
feiting94| | 2015-4-26 23:52 | 只看该作者
偏爱番茄酱 发表于 2015-4-26 19:50
PMM API可以分成三组函数:那些设置PMM的,那些使用LPM4.5模式的,还有那些用于PMM中断的 ...

你这里有部分不是我写的吗??不能这样吧

使用特权

评论回复
98
112207301219| | 2015-4-27 00:44 | 只看该作者
数码小叶 发表于 2015-4-26 19:53
我觉得FR 5969的功耗控制的更好

不了解FR5969,还有比这个LPM4.5更凶残的低功耗吗?

使用特权

评论回复
99
112207301219| | 2015-4-27 01:16 | 只看该作者
feiting94 发表于 2015-4-21 13:23
LPM4.5模式的功耗是 15 nA
退回到正常模式的方式有3种:
1、active-low event on RST/NMI pin,就是相当 ...

LPM4.5哪里耗的15nA电流啊,不是所有模块都断电了吗?难道是漏电流?

使用特权

评论回复
100
112207301219| | 2015-4-27 01:18 | 只看该作者
feiting94 发表于 2015-4-21 13:09
你看,它包含REF Calibration,就是电压校准,还包含DCO校准,SD24校准,这些外设都是要基准信号的,都 ...

这些校准用的数据,用户读出来有什么用啊?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则