新闻  |   论坛  |   博客  |   在线研讨会
Marvell8686 电源管理原理 (三.关于睡眠)
xiajiashan | 2012-08-28 16:31:03    阅读:1164   发布文章

 

 

 

作者:下家山(转载,请注明作者,请尊重原创)

三.关于睡眠

在marvell文档里面把睡眠与省电放在一起讲的(其实睡眠就是一种省电),我这里特意把他们挑出来,有便于更清晰的去理解。

在marvell8686(marvell其他芯片)中,我把其睡眠分成如下类:5.jpg

 

1 Host睡眠

这里的host有点不好理解,也可以理解成卡片里面的那个CPU(ARM9核),本人认为是说我们的驱动,host driver,host睡眠就是驱动可以不管marvell8686,去做其他的事情。

① 对应的命令

CMD_802_11_HOST_SLEEP_CFG(0x43)

在marvell 驱动中属于私有命令,例:

iwpriv ethX hscfg Condition [GPIO# [Gap]]

(也有这种形式 iwpriv ethX hostsleepcfg Condition [GPIO# [Gap]])

命令解析

●Condition必选,[]里的参数可选;

●如果只有Condition

bit 0 = 1 -- broadcast data

bit 1 = 1 -- unicast data

bit 2 = 1 -- mac event

bit 3 = 1 -- multicast packet

iwpriv eth1 hscfg 1 # broadcast data

iwpriv eth1 hscfg 2 # unicast data

iwpriv eth1 hscfg 3 # broadcast and unicast data

●如果带GPIO#

iwpriv eth1 hscfg 2 0x3 # unicast data

# use GPIO 3

注意:GPIO# 参数也可以为0xff,此时表示使用界面(如:SDIO谁能告诉我是什么意思)

iwpriv eth1 hscfg 2 0xff # unicast data

# use Interface (e.g. SDIO)

●如果带Gap(睡眠间隙)

iwpriv eth1 hscfg 2 1 0xa0 # unicast data

# use GPIO 1

# gap: 160 ms

注意:Gap 参数也可以为0xff,此时表示特定的host sleep mode,谁能告诉我是什么意思)

iwpriv eth1 hscfg 0x2 0x3 0xff # unicast data

# use GPIO 3

# special host sleep mode

 

iwpriv eth1 hscfg 0x2 0xff 0xff # unicast data

# use Interface (e.g. SDIO)

# special host sleep mode

iwpriv eth1 hscfg -1 # cancel host sleep mode(删除host sleep配置,或者说disable host sleep)

(也有这种形式iwpriv eth1 hscfg 0xffffff)

本命令主义点:

  • 此命令仅在STA连上AP才有效。
  • Gap是指唤醒信号到来到唤醒事件触发的时间,如果配置成GPIO唤醒方式,则表示该引脚置低的时间。iwpriv eth1 hscfg 2 5 0xa0

6.jpg

GPIO[5]置低160ms

  • 当host醒来时记得删除host sleep 配置参数。
  • 如果此命令被执行,firmware讲不会接受任何其他命令。
②.如何醒来

假设我们执行iwpriv eth1 hscfg 2 5 0xa0

当firmware从其他PC处接收到一个ping包,则GPIO[5]将会有一个160ms的低跳变。Host将会根据这个跳变得到唤醒。

问题:如果只有一个参数是如何唤醒iwpriv eth1 hscfg 2 **?

③.如何激活

此命令仅仅是配置,他还需要激活。那么如何激活呢?

Firmware在任何时候接收到CMD_802_11WAKEUP_CONFIRM或CMD_802_11_DEEP_SLEEP时将激活hostsleep 配置命令。

2.Firmware睡眠 ①.Firmware连上AP状态下睡眠

参见上面。

②.Firmware没有连上AP状态下的睡眠

参见上面。

结束

 

转载:请注明,作者,下家山 请尊重原创!

 

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
02年接触ARM和ucos,开发过有线和无线图像报警器,IPCamera,人脸识别系统,OCR识别系统,指纹识别系统,05年开始从事Linux及Rtems下WiFi,camera,Ethernet等驱动开发工作,专做嵌入式linux培训,致力于把我十年来的研发经验传授给每一个学员,招人的可以找我,ximenpiaoxue4016@sina.com
推荐文章
最近访客