From 47f192f2df5c40a0cc0f063e8dc98b813174b8d3 Mon Sep 17 00:00:00 2001 From: chen <15335560115@163.com> Date: 星期五, 18 十月 2024 18:27:10 +0800 Subject: [PATCH] 手环低功耗优化版本,手环绑定报警下15分钟内平均功耗26MA左右,修改手环range循环接收逻辑,减少帧间隔为600,通过修改震动1s停2s优化功耗,对应URT帧间隔400,能实现稳定测距 --- keil/Objects/uwb_simple_example.htm | 29 ++++++++++++----------------- 1 files changed, 12 insertions(+), 17 deletions(-) diff --git a/keil/Objects/uwb_simple_example.htm b/keil/Objects/uwb_simple_example.htm index 4c75c24..baa0467 100644 --- a/keil/Objects/uwb_simple_example.htm +++ b/keil/Objects/uwb_simple_example.htm @@ -3,7 +3,7 @@ <title>Static Call Graph - [.\Objects\uwb_simple_example.axf]</title></head> <body><HR> <H1>Static Call Graph for image .\Objects\uwb_simple_example.axf</H1><HR> -<BR><P>#<CALLGRAPH># ARM Linker, 6140002: Last Updated: Thu Oct 17 15:37:26 2024 +<BR><P>#<CALLGRAPH># ARM Linker, 6140002: Last Updated: Fri Oct 18 17:57:35 2024 <BR><P> <H3>Maximum Stack Usage = 1580 bytes + Unknown(Cycles, Untraceable Function Pointers)</H3><H3> Call chain for Maximum Stack Depth:</H3> @@ -2361,7 +2361,7 @@ <BR>[Called By]<UL><LI><a href="#[28]">>></a> main </UL> -<P><STRONG><a name="[14e]"></a>TCPClient_Poll</STRONG> (Thumb, 168 bytes, Stack size 32 bytes, tcpclient.o(.text.TCPClient_Poll)) +<P><STRONG><a name="[14e]"></a>TCPClient_Poll</STRONG> (Thumb, 176 bytes, Stack size 32 bytes, tcpclient.o(.text.TCPClient_Poll)) <BR><BR>[Stack]<UL><LI>Max Depth = 444<LI>Call Chain = TCPClient_Poll ⇒ TCPHeartBeatUpload ⇒ Socket_Send ⇒ HIDO_VLQGetEnqueueMember ⇒ HIDO_BaseQueueGetContinuousSize ⇒ __aeabi_uidivmod </UL> <BR>[Calls]<UL><LI><a href="#[14f]">>></a> TCPHeartBeatUpload @@ -2452,13 +2452,12 @@ <LI><a href="#[10b]">>></a> IdleTask </UL> -<P><STRONG><a name="[162]"></a>UWBPoll</STRONG> (Thumb, 236 bytes, Stack size 16 bytes, uwb_app.o(.text.UWBPoll)) +<P><STRONG><a name="[162]"></a>UWBPoll</STRONG> (Thumb, 228 bytes, Stack size 16 bytes, uwb_app.o(.text.UWBPoll)) <BR><BR>[Stack]<UL><LI>Max Depth = 1036<LI>Call Chain = UWBPoll ⇒ UwbSearch ⇒ uwb_configure ⇒ phy_params_generate ⇒ trace_printf ⇒ trace_output ⇒ trace_printf (Cycle) </UL> <BR>[Calls]<UL><LI><a href="#[93]">>></a> trace_printf <LI><a href="#[163]">>></a> uwb_led_on <LI><a href="#[165]">>></a> uwb_led_off -<LI><a href="#[aa]">>></a> update_led_power_state <LI><a href="#[166]">>></a> UwbSearch <LI><a href="#[164]">>></a> UwbRange </UL> @@ -2558,7 +2557,7 @@ </UL> <BR>[Address Reference Count : 1]<UL><LI> main.o(.text.Program_Init) </UL> -<P><STRONG><a name="[164]"></a>UwbRange</STRONG> (Thumb, 600 bytes, Stack size 40 bytes, uwb_app.o(.text.UwbRange)) +<P><STRONG><a name="[164]"></a>UwbRange</STRONG> (Thumb, 604 bytes, Stack size 40 bytes, uwb_app.o(.text.UwbRange)) <BR><BR>[Stack]<UL><LI>Max Depth = 804<LI>Call Chain = UwbRange ⇒ uwb_open ⇒ trace_printf ⇒ trace_output ⇒ trace_printf (Cycle) </UL> <BR>[Calls]<UL><LI><a href="#[93]">>></a> trace_printf @@ -2633,11 +2632,7 @@ <BR>[Called By]<UL><LI><a href="#[133]">>></a> MotorPoll </UL> -<P><STRONG><a name="[43]"></a>_4gUsart_handler</STRONG> (Thumb, 40 bytes, Stack size 8 bytes, main.o(.text._4gUsart_handler)) -<BR><BR>[Stack]<UL><LI>Max Depth = 748<LI>Call Chain = _4gUsart_handler ⇒ trace_printf ⇒ trace_output ⇒ trace_printf (Cycle) -</UL> -<BR>[Calls]<UL><LI><a href="#[93]">>></a> trace_printf -</UL> +<P><STRONG><a name="[43]"></a>_4gUsart_handler</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, main.o(.text._4gUsart_handler)) <BR>[Address Reference Count : 1]<UL><LI> main.o(.text.main) </UL> <P><STRONG><a name="[17a]"></a>adc_code_to_mv</STRONG> (Thumb, 36 bytes, Stack size 0 bytes, mk_adc.o(.text.adc_code_to_mv)) @@ -2661,6 +2656,7 @@ <LI><a href="#[d9]">>></a> __aeabi_uidiv </UL> <BR>[Called By]<UL><LI><a href="#[28]">>></a> main +<LI><a href="#[195]">>></a> board_restore_from_power_down </UL> <P><STRONG><a name="[181]"></a>aes_open</STRONG> (Thumb, 160 bytes, Stack size 16 bytes, mk_aes.o(.text.aes_open)) @@ -2784,10 +2780,11 @@ <BR>[Called By]<UL><LI><a href="#[1bc]">>></a> power_enter_power_down_mode </UL> -<P><STRONG><a name="[195]"></a>board_restore_from_power_down</STRONG> (Thumb, 56 bytes, Stack size 16 bytes, board.o(.text.board_restore_from_power_down)) +<P><STRONG><a name="[195]"></a>board_restore_from_power_down</STRONG> (Thumb, 68 bytes, Stack size 16 bytes, board.o(.text.board_restore_from_power_down)) <BR><BR>[Stack]<UL><LI>Max Depth = 524<LI>Call Chain = board_restore_from_power_down ⇒ AIR780EUartInit ⇒ Uart_Init ⇒ uart_receive ⇒ dma_transfer ⇒ trace_assert_dump ⇒ trace_print_backtrace ⇒ mk_snprintf ⇒ trace_format ⇒ _PrintInt ⇒ _PrintUnsigned ⇒ __aeabi_uidiv </UL> -<BR>[Calls]<UL><LI><a href="#[104]">>></a> gpio_pin_set +<BR>[Calls]<UL><LI><a href="#[17e]">>></a> adc_open +<LI><a href="#[104]">>></a> gpio_pin_set <LI><a href="#[186]">>></a> gpio_enable_irq <LI><a href="#[191]">>></a> sys_timer_open <LI><a href="#[16c]">>></a> uart_open @@ -3424,7 +3421,7 @@ <BR><BR>[Called By]<UL><LI><a href="#[1bc]">>></a> power_enter_power_down_mode </UL> -<P><STRONG><a name="[28]"></a>main</STRONG> (Thumb, 812 bytes, Stack size 16 bytes, main.o(.text.main)) +<P><STRONG><a name="[28]"></a>main</STRONG> (Thumb, 728 bytes, Stack size 16 bytes, main.o(.text.main)) <BR><BR>[Stack]<UL><LI>Max Depth = 884<LI>Call Chain = main ⇒ power_enter_power_down_mode ⇒ phy_restore ⇒ phy_tx_regs_config ⇒ trace_printf ⇒ trace_output ⇒ trace_printf (Cycle) </UL> <BR>[Calls]<UL><LI><a href="#[93]">>></a> trace_printf @@ -4029,7 +4026,6 @@ <LI><a href="#[164]">>></a> UwbRange <LI><a href="#[35]">>></a> TCPClient_SocketEventProc <LI><a href="#[28]">>></a> main -<LI><a href="#[43]">>></a> _4gUsart_handler <LI><a href="#[162]">>></a> UWBPoll <LI><a href="#[13b]">>></a> Program_Init <LI><a href="#[34]">>></a> UsartParseDataHandler @@ -4147,8 +4143,7 @@ </UL> <BR>[Calls]<UL><LI><a href="#[108]">>></a> IO_LED_control_change </UL> -<BR>[Called By]<UL><LI><a href="#[162]">>></a> UWBPoll -<LI><a href="#[a9]">>></a> AIR780EDriver_PowerOff +<BR>[Called By]<UL><LI><a href="#[a9]">>></a> AIR780EDriver_PowerOff </UL> <P><STRONG><a name="[157]"></a>uwb_calibration_params_set</STRONG> (Thumb, 392 bytes, Stack size 48 bytes, mk_uwb.o(.text.uwb_calibration_params_set)) @@ -4451,7 +4446,7 @@ <P><STRONG><a name="[42]"></a>move_handler</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, main.o(.text.move_handler)) <BR>[Address Reference Count : 1]<UL><LI> main.o(.text.main) </UL> -<P><STRONG><a name="[41]"></a>sleep_timer_callback</STRONG> (Thumb, 92 bytes, Stack size 8 bytes, main.o(.text.sleep_timer_callback)) +<P><STRONG><a name="[41]"></a>sleep_timer_callback</STRONG> (Thumb, 120 bytes, Stack size 8 bytes, main.o(.text.sleep_timer_callback)) <BR><BR>[Stack]<UL><LI>Max Depth = 1044<LI>Call Chain = sleep_timer_callback ⇒ UWB_Tag_Poll ⇒ TagRange ⇒ uwb_configure ⇒ phy_params_generate ⇒ trace_printf ⇒ trace_output ⇒ trace_printf (Cycle) </UL> <BR>[Calls]<UL><LI><a href="#[167]">>></a> UWB_Tag_Poll -- Gitblit v1.9.3