windy__xp 发表于 2010-6-30 18:45:57

SI4432 的低功耗模式,Standby 模式有人用过么?请问一下如何才能把功耗做到1uA以下?

我目前1.5mA左右,不知道什么原因,我现在的做法如下,准备明天问问供应商,同时再啃一下数据手册。有用过的朋友能先提示一下么?

void    sub_si4432_standby_mode( void )
{
    DRR_SI4432_DCK&= (INT8U)(~(1<<PIO_SI4432_DCK));                   // 1. 关闭中断
    CR1_SI4432_DCK&= (INT8U)(~(1<<PIO_SI4432_DCK));                   //
    CR2_SI4432_DCK&= (INT8U)(~(1<<PIO_SI4432_DCK));                   //
    DRR_SI4432_NIRQ &= (INT8U)(~(1<<PIO_SI4432_NIRQ));                  //
    CR1_SI4432_NIRQ &= (INT8U)(~(1<<PIO_SI4432_NIRQ));                  //
    CR2_SI4432_NIRQ &= (INT8U)(~(1<<PIO_SI4432_NIRQ));                  //
   
    sub_si4432_write_register(0x07, 0x80);                              // 2. 所有寄存器复位( swres = 1 )
    while( SI4432_NIRQ_IN != 0x00 ) {                                 //
      _asm ("NOP");                                                   //
    }                                                                   //
    sub_si4432_read_register(0x03);                                     // 3. 继续等待芯片就绪中断信号
    sub_si4432_read_register(0x04);                                     //
    while( SI4432_NIRQ_IN != 0x00 ) {                                 //
      _asm ("NOP");                                                   //
    }                                                                   //
    sub_si4432_read_register(0x03);                                     // 4. 读标志寄存器,清零中断标志
    sub_si4432_read_register(0x04);                                     //
    sub_si4432_write_register(0x05, 0x00);                              // 5. 关闭所有中断允许
    sub_si4432_write_register(0x06, 0x00);                              //
    sub_si4432_write_register(0x07, 0x00);                              // 6. 进入 STANDBY 模式
    si4432_state = SI4432_IDLE_STANDBY;                                 //
}

blueagle 发表于 2010-6-30 21:52:05

http://cache.amobbs.com/bbs_upload782111/files_30/ourdev_565055QX99P2.jpg
(原文件名:快照-1.jpg)

http://cache.amobbs.com/bbs_upload782111/files_30/ourdev_565056Q7W7NT.jpg
(原文件名:快照-2.jpg)

估计不能直接进入standby模式,可以尝试
sub_si4432_write_register(0x07, 0x01);                              //
sub_si4432_write_register(0x07, 0x00);                              // 6. 进入 STANDBY 模式
直接将晶体停振的话,可能IC还有些部分没有完全掉电

windy__xp 发表于 2010-6-30 22:30:56

谢谢 blueagle ,明天我再试试。这两天调 STM8S103K3 的低功耗,有点折腾人。MCU好了,RF芯片功耗又有点问题,继续折腾, ^_^

windy__xp 发表于 2010-7-1 08:49:06

sub_si4432_write_register(0x07, 0x01);                              // 只保留晶体振荡,等待PLL等的关闭
    sub_si4432_read_register(0x03);                                     // 清零中断标志寄存器
    sub_si4432_read_register(0x04);                                     //
    sub_si4432_write_register(0x05, 0x00);                              // 关闭中断
    sub_si4432_write_register(0x06, 0x00);                              //
    sub_si4432_write_register(0x07, 0x00);                              // STANDBY 模式
    si4432_state = SI4432_IDLE_STANDBY;                                 //

    这样还是不行,1.5mA左右的电流。SDN = 1 时,整个板子的功耗可以做到 6.5uA 左右的,但是使用 Standby 模式就是不行,继续折腾ing

windy__xp 发表于 2010-7-1 10:07:02

sub_si4432_write_register(0x07, 0x01);                              // 只保留晶体振荡,等待PLL等的关闭
    sub_si4432_read_register(0x03);                                     // 清零中断标志寄存器
    sub_si4432_read_register(0x04);                                     //
    sub_si4432_write_register(0x05, 0x00);                              // 关闭中断
    sub_si4432_write_register(0x06, 0x00);                              //
    sub_si4432_write_register(0x07, 0x00);                              // STANDBY 模式
    si4432_state = SI4432_IDLE_STANDBY;                                 //


    好了,这样是可以的了,问题不在 SI4432 上,STM8S103K3 检测到休眠信号后,SI4432进入 Standby 模式,然后是看门狗复位后,SDN 高阻导致 SI4432 进入了掉电模式,复位后再把 SDN 设置为0,是无用的。SDN加下拉电阻,已经解决问题。

lou0908 发表于 2010-7-1 20:20:11

LS用STM8S103K3做低功耗,效果怎么样的啊,这个片子多少钱一片的啊?不知道这个单片机稳定性如何,LS的DX的SI4432有没有在产品中使用?关注中……

windy__xp 发表于 2010-7-1 20:31:48

回复【5楼】lou0908
ls用stm8s103k3做低功耗,效果怎么样的啊,这个片子多少钱一片的啊?不知道这个单片机稳定性如何,ls的dx的si4432有没有在产品中使用?关注中……
-----------------------------------------------------------------------
    STM8S103K3 低功耗有些折腾人,就是HALT模式,不能关闭看门狗的问题,功耗一般吧,没有认真去抠,现在一个小模块,整体休眠电流做到7.5uA左右。SI4432我们折腾了有一段时间了,群脉冲、静电、工频磁场干扰、高温、低温、浪涌(这个主要考验电源,与模块自身关系不大),这些试验都做过,唯一有点担心的是高温(+85度),+70度,连续工作没有问题。另外,SI4432有些情况可能导致自己死机,这个就需要程序检测处理了。

    目前只是样品阶段,还没有批量生产。

lou0908 发表于 2010-7-2 11:02:19

回复【6楼】windy__xp 龙笑
-----------------------------------------------------------------------

谢谢LS的解答,我也一直关注这个片子,因为目前的用的是CC1100,加了功放,在电池供电的情况下,耗电量太大,而且成本相对比较高,单片机采用430,但是430片子比较贵,最近在关注STM8L,不知道性能如何?

windy__xp 发表于 2010-7-2 11:43:24

SI4432有个好处就是,从 Standby 模式唤醒很快,比较省电。STM8L我们也有项目在用,据说低功耗还是做得很好的,跑低速时钟也很省电,并且STM8L在 HALT 模式的时候,可以通过 option 选项字节,选择停止独立看门狗,以及窗看门狗,这个低功耗会比 STM8S 好多很多。 STM8S 在 HALT 模式下,是没办法关闭独立看门狗的,只有等它复位。

lou0908 发表于 2010-7-2 19:34:05

回复【8楼】windy__xp 龙笑
-----------------------------------------------------------------------

非常感谢windy__xp 龙笑的解答,以后用到相关芯片,敬请您的指导,先谢过了

windy__xp 发表于 2010-7-2 21:21:18

互相学习,交流。

jichong211 发表于 2010-7-2 22:43:40

楼主大哥,SI4432能给点程序资料吗,一直搞不定啊,jichong211@gmail.com

20C_TT 发表于 2010-8-19 14:59:28

在论坛里看了很多楼主的发言,高人呀,佩服。我们做热表的,下一步也要开发无线这一块,一直没头绪。通讯频段式470M--510M,龙笑兄能否给些建议。有没有成熟的方案借鉴一下,龙笑兄辛苦了。

MWay 发表于 2010-8-19 15:02:46

www.moreway.net

452582621 发表于 2011-1-4 09:58:34

mark!

adesion 发表于 2011-1-10 09:59:57

SI4432 的低功耗模式下还能接收数据吗?好像没有在线唤醒哦

adamj 发表于 2011-10-24 16:14:27

楼主,进入待机模式休眠模式都容易,但是如何快速唤醒呢,这个如何做到最短时间内的唤醒很关键吧!

rfinchina2012 发表于 2011-10-31 19:41:05

何必自己搞,直接用带无线唤醒功能和载波监听的4432透传模块

点击此处下载 ourdev_667930U9B6G8.rar(文件大小:18K) (原文件名:AVR-UTC-TEST.rar)
点击此处下载 ourdev_667931SZD4RZ.rar(文件大小:19K) (原文件名:MSP430-4432-TEST.rar)
点击此处下载 ourdev_667932SXVJLW.rar(文件大小:90K) (原文件名:STM8L101EK_4432_UART_TEST.rar)
点击此处下载 ourdev_667933KZHSRD.rar(文件大小:554K) (原文件名:参数配置及串口调试软件.rar)

rfinchina2012 发表于 2011-10-31 19:41:53

点击此处下载 ourdev_667904GYB6T0.pdf(文件大小:1.02M) (原文件名:UTC4432B1.V1.2.pdf)

zplmcu 发表于 2011-11-8 01:22:59

正在使用MARK

gaocen100 发表于 2011-12-17 20:31:37

回复【4楼】windy__xp 龙笑
-----------------------------------------------------------------------

龙笑大哥 STANDBY 模式的功耗可以降到和掉电模式差不多吗

windy__xp 发表于 2011-12-18 20:07:49

回复【20楼】gaocen100
回复【4楼】windy__xp 龙笑
-----------------------------------------------------------------------
龙笑大哥 standby 模式的功耗可以降到和掉电模式差不多吗
-----------------------------------------------------------------------
standby 模式功耗非常低的啊,看手册应该是小于1uA,如果这个都还要抠,那么对比一下手册吧,肯定还是有点差距的。

windy__xp 发表于 2011-12-18 20:08:53

http://cache.amobbs.com/bbs_upload782111/files_30/ourdev_565055QX99P2.jpg
(原文件名:快照-1.jpg)

这里已经有了

gaocen100 发表于 2011-12-20 00:12:51

回复【22楼】windy__xp 龙笑
-----------------------------------------------------------------------
我想知道你在四楼所做的实验中standby模式下系统功耗应该不会超过10uA吧,我准备按照blueagle的方法再去试验一下。

windy__xp 发表于 2011-12-20 08:29:24

回复【23楼】gaocen100
回复【22楼】windy__xp 龙笑
-----------------------------------------------------------------------
我想知道你在四楼所做的实验中standby模式下系统功耗应该不会超过10ua吧,我准备按照blueagle的方法再去试验一下。
-----------------------------------------------------------------------
    参考我六楼的回复,带MCU一共7.5uA,射频部分没单独测。

    STM8S103K3 低功耗有些折腾人,就是HALT模式,不能关闭看门狗的问题,功耗一般吧,没有认真去抠,现在一个小模块,整体休眠电流做到7.5uA左右。SI4432我们折腾了有一段时间了,群脉冲、静电、工频磁场干扰、高温、低温、浪涌(这个主要考验电源,与模块自身关系不大),这些试验都做过,唯一有点担心的是高温(+85度),+70度,连续工作没有问题。另外,SI4432有些情况可能导致自己死机,这个就需要程序检测处理了。

    目前只是样品阶段,还没有批量生产。

gaocen100 发表于 2011-12-20 10:55:55

回复【24楼】windy__xp 龙笑
-----------------------------------------------------------------------

ok,知道了。我再试验下,多谢啊!

liuminds 发表于 2012-1-13 11:24:49

回复【楼主位】windy__xp 龙笑
-----------------------------------------------------------------------

ding

liuminds 发表于 2012-1-13 11:27:16

回复【6楼】windy__xp 龙笑
-----------------------------------------------------------------------

新人报道还是顶一哈
页: [1]
查看完整版本: SI4432 的低功耗模式,Standby 模式有人用过么?请问一下如何才能把功耗做到1uA以下?