完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我正在努力设计一个HID设备的省电方法。
省电应用说明指出,在保持连接的同时,可以进入低功耗模式。它没有解释如何做到这一点。 理想情况下,该设备将希望具有活动模式、慢速轮询模式、空闲模式和停止模式。 HID鼠标RDK示例确实具有这些状态,因此看起来是理想的模型。这个例子的第一个问题是,在主代码体中根本没有注释,所以很难找出到底发生了什么。 除了停止以外的所有状态,CPU睡眠是相同的IE: 如果(CyBythGETBLISSTATE())= CyByLyBelsStaseE.OCOON on CyByLyGETBLESSTATE()= CyByLyBelsStisteOxDeLoSe] {CysSpMyStudiSeLeP(); 但这是(我认为)每10MsScink间隔唤醒CPU,所以在所有3个状态之间似乎没有太大的差别。 我的问题是: 是否有另一个可用的模式来维持连接但消耗较少的功率(较长的连接间隔)? 当连接被维护时CPU是否必须定期唤醒(假设没有用户任务悬而未决)? 在代码BeFeYySypMyDeStudio()中,有一个ACEGULLIN。如果中断被禁用,CPU怎么会完全醒来呢?当然是这样。这是否意味着即使中断被禁用,BLE也会在连接间隔唤醒它? 我在所有模式中获得大约4mA电流,但这可能是因为我只使用标准万用表,也许这只是读取峰值。 谢谢 |
|
相关推荐
15个回答
|
|
实验更令人恼火的是,IOS与其他主机有不同的限制,特别是最大从属延迟4。它允许很长的连接间隔。
相反,Windows主机允许更高的从延迟值,但对连接间隔的相对较低的限制。 因此,为了最大限度地节省电力,需要使用两套参数,这取决于它连接到哪个主机。 |
|
|
|
当你想要更好地观察功耗时,我建议使用示波器。增加一个并联电阻(也许10欧姆,所以你得到4mV的4mA)到你的电源线,并跟踪它的范围。这样你就能更好地了解发生了什么事。
|
|
|
|
这些可能会有帮助(AN92584-)
HTTP://wwwyCypC./DooptTys/Appult- NoSe/AN8623 3-PSOC-4低功耗模式和功率还原技术AN8623 3PSOC®4低功耗模式和功率降低技术 HTTP://wwwyCypC./DooptTys/Appult- NoSe/AN90114-PSOC-400家庭低功耗系统设计技术AN90114-PSoC®4000系列低功耗系统设计技术 HTTP//wwwyCypC./DooptTys/Appult- NoSe/AN92584设计低功耗和可估计的电池寿命AN92584-低功耗设计和估计BLE应用的电池寿命 http://Visual.CyPress .com /视频库/搜索/PSoC + 4 +低+电源/ 问候,Dana |
|
|
|
谢谢Dana,我以前读过所有这些,但又重读了92584。它没有明确地说,但意味着CPU将永远被唤醒的祝福在连接间隔,即使当祝福是在睡眠模式。所以也许没有保存的可能。
在这个应用笔记中引用了一个项目,它应该演示低功耗模式,但是在项目或代码中没有关于如何实际运行和更改模式的指令。所以那里没什么帮助。似乎有些数据需要从主机发送给它,但它并没有说。 我会回到鼠标RDK并尝试解开它做什么,并得到一个合适的电流测量方法。 |
|
|
|
安迪,
如您所知,BLE规范定义了在连接设置期间主从双方接受的连接间隔。这个间隔(总是)首先由主机设置,并且可以在完成初始连接之后请求由奴隶来更新。 因此,作为被接受的间隔的一部分,因为主从双方都使用高精度时钟,所以知道它们应该启动数据传输(或空包)的时间来维持连接。所有其他时间,主从双方都关闭他们的收音机,并把CPU放在低功耗模式。这样就可以实现低功耗。 系统保持唤醒连接的唤醒源是在BLE块中运行的内部LL定时器。它运行在WCO上,并计算由BLE堆栈设置的时间。这次是在主动传输之前设置无线电所需的连接间隔时间。一旦到达时间,LL计时器启动对系统的中断,导致系统唤醒并将被设置为即将到来的连接事件。因此,当您的系统在每10毫秒后醒来,这是因为这个LL计时器运行10毫秒计数。 是的,CPU必须被唤醒以通过启动BLE无线电和链路层(LL)来维持连接。但是一旦连接事件完成,CPU就可以再次进入深度休眠状态,并且可以保存电源。这就是为什么在将系统置于睡眠或深度睡眠之前,要检查CysBygGETBLISSTATE()的原因。 |
|
|
|
嗨,安迪,
是否还有另一个可用的模式来维持连接但消耗较少的功率(较长的连接间隔)? 响应:鼠标RDK BLE连接间隔设置为7.5毫秒,从等待时间设置为80。 这意味着如果没有活性,BLE活性每600毫秒(7.5×80)出现一次。7.5毫秒的连接间隔是强制性的,因为HID鼠标应该满足至少125赫兹的报告速率,从延迟可以改变以节省功率。 是否需要在连接被维护时定期唤醒CPU(假设没有用户任务悬而未决)? 响应:CPU可以处于深度睡眠状态直到下一个BLE事件(在这种情况下600毫秒),BLE将触发NEXTANCHOR点之前的中断。 我在所有模式中获得大约4mA电流,但这可能是因为我只使用标准万用表,也许这只是读取峰值。 答:您应该使用6位1/2位万用表 参考“http://www. Copy.com/文件/ 140991/下载”3.3节的平均电流测量,关于BLE应用程序的平均电流测量设置。 谢谢,Santhosh。 |
|
|
|
|
|
|
|
这些低功率国家正在发生一些奇怪的事情。
最后我买了一辆安捷伦3401仪表。我尝试使用两种方法进行测量,首先将分辨率设置为6位,缓慢,这给出了大约3秒的积分时间,并且还通过使用数学模式并将分辨率设置为4位的快速,这给出了大约每秒10次读数,并且平均读取5000次读数。 我使用了实际的触摸鼠标RDK,并将仪表连接到电流测量跳线上,该跳线只对BLE,而不是光传感器等进行功率测量。 如果我从头开始,鼠标没有配对到Windows主机,而不存在于设备管理器,然后配对设备,一切似乎都很好。我得到合理的当前读数是: 活性:4.5毫安 闲置:0.7毫安 睡眠:0.08毫安 但是如果鼠标断电并与主机重新配对(启用了绑定),那么当前的读数是: 活性:5.7Ma 闲置:2.2毫安 睡眠:1.7毫安 因此,测量方法是可行的。我在自己的应用程序中获得了同样高的读数,这并不奇怪,因为它基于与RDK相同的功率状态逻辑。 我将为此提出一个案子。 |
|
|
|
我发现权力国家出了什么问题。我作为一个测试主机非常流行的基于CSR的USB软件包和CSR和谐Windows堆栈。
鼠标RDK在改变电源状态时更新连接参数,但在所有状态下,连接间隔设置为6,等于7.5MS。 主机正在返回关于此请求的“无效参数”的状态。在这样做之后,主机似乎使用任意一组参数,从而导致高功耗。 唯一的工作间隔是10(12.5毫秒)。这会带来良好的效果。从属延迟可以变化而没有任何问题。 这里的问题是,其他主机可能有其他连接间隔要求,并且我假设它不可能仅改变从属延迟,而不发送包含连接间隔的整个结构。我认为读取当前连接间隔是不可能的。事实上,在发送参数更新之前,当设备首次连接时,正在使用什么连接间隔? |
|
|
|
“事实上,当设备首次连接时,在发送参数更新之前,使用什么连接间隔?”
-当第一次设置连接时使用的连接间隔由中央设备决定。这可能是iOS、Android、CySalm PC工具或任何其他软件狗。因此,实际的连接间隔设置从设备到设备各不相同。 对于IOS,连接间隔设置为30毫秒。 对于Android,连接间隔集是50毫秒(除了Android内核上的另一个包装来修改这个值) 对于CySMART PC工具,它是大约8.5毫秒。 您需要检查设备信息以找出它将设置的连接间隔。此外,正如您注意到的,这些中央设备中的一些对连接间隔/从等待时间有其自身的限制,并且可能不接受来自连接的从设备的所有连接参数更新请求。 这里有一个讨论: HTTP://StAccOfFult.COM/Quass/2251433/BuLooSt-低能量连接参数-FAN-RODID-IOS-和WI8 |
|
|
|
谢谢你。我一直在进行实验,CSR栈可以接受12.5毫秒以上的值,而Android在值上看起来非常灵活。但我不能得到任何价值与iOS的所有工作。我已经尝试了Apple指定的值,再加上其他变量和所有值都会导致EnviCyByEvtL2CasyCalnPARAMU-UpDATEYRSP返回“无效参数”。
因此,无论是苹果堆栈不是按规格工作,或CyPress堆栈有一个bug iCyByLyL2CAPLECONNECTION PARAMUPATEDREST。 我有一个预感,后者发送相同的值为Min和Max,这在Android上是可以接受的,但是苹果希望它们能被分离20Ms。 现在创建一个案例。 |
|
|
|
安迪,
如果你没有,你能给出iOS的连接间隔的要求吗?(3.6节) HTTPS://RealSeri.Apple 我已经尝试了很少的价值我自己和那些似乎工作。CY8CITK-042-BLE工具包外围示例项目还使用了一个通用连接参数更新值,它可以沿着所有IOS、Android和CySalm PC工具工作。 |
|
|
|
这是我正在使用的文件。所以这很奇怪。你能给我一个iOS上一些工作价值的例子吗?
使用您的工作值,EndoCyByEvtL2CAPCANIONPARAMPEUPDATEYRSP返回零吗?这是唯一的方法来判断更新是否在连接中仍然保持非工作值。 |
|
|
|
cmh25 发表于 2019-9-19 18:52 以下是CY8CKIT-042-BLE先锋套件示例项目关于CasSooSuffice的值: /*最小连接间隔=CONNE-PARAMOPUPDATEYMIN CONLY间隔* 1.25 ms */*定义CONNE-PARAMOPUPDATEYMIN CONNURA区间40 /*最大连接间隔=CONNEPARAMUPUPDATEYMAX CONGAL间隔* 1.25 ms */*定义CONNE-PARAMOPUPDATEY Max SCONLYA区间42 /*从等待时间=连接事件数*/y*定义康纳PARAMOPUPDATEY SLAVEEL潜伏期4 /*监督超时= CONNEPARAMUPUPDATEYOPEVVTIMOUT ****/**定义CONNYPARAMUPUPDATEYOPEVVTIMOUT 200 |
|
|
|
这些价值要么不起作用,要么不幸。
|
|
|
|
只有小组成员才能发言,加入小组>>
752个成员聚集在这个小组
加入小组2069 浏览 1 评论
1824 浏览 1 评论
3633 浏览 1 评论
请问可以直接使用来自FX2LP固件的端点向主机FIFO写入数据吗?
1760 浏览 6 评论
1509 浏览 1 评论
CY8C4025LQI在程序中调用函数,通过示波器观察SCL引脚波形,无法将pin0.4(SCL)下拉是什么原因导致?
507浏览 2评论
CYUSB3065焊接到USB3.0 TYPE-B口的焊接触点就无法使用是什么原因导致的?
357浏览 2评论
CX3连接Camera修改分辨率之后,播放器无法播出camera的画面怎么解决?
410浏览 2评论
357浏览 2评论
使用stm32+cyw43438 wifi驱动whd,WHD驱动固件加载失败的原因?
854浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 12:27 , Processed in 0.999265 second(s), Total 75, Slave 68 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号