CN / EN
CN / EN

提问

设计支持

您的项目私密技术问题如需获得一对一支持,请点击下方联系我们。

gh3220软件43000版本,fifo每1.5s左右读取到640字节,但是通过打印,HR很久不出值,或者出一个37。通过打印只有几侦PPG,请问该如何排查? GH3220T

138***735

2026-03-27 11:51

初始化开始,到中断执行的日志如下:

0000019 03-27#11:29:25.619 087 00010 Gh3x2xDemoInit : Democode Version : GH(M)3X2X_DEMO_v1.6_AC_v0.5(build:Mar 27 2026_11:27:16)


0000020 03-27#11:29:25.619 088 00010 Gh3x2xDemoInit : DrvLib Version : v4.3.0.0 (build:Mar 26 2026_17:30:43)


0000021 03-27#11:29:25.619 089 00010 Gh3x2xDemoInit : Protocol Version : Health_Uprotocol_v0.4


0000022 03-27#11:29:25.619 090 00010 Gh3x2xDemoInit : Config Version : Gh3x2x_Vir~S: ! =app_ma

0000023 03-27#11:29:25.619 095 00020 Gh3x2xDemoInit : Algo Version : no_ver


0000024 03-27#11:29:25.619 096 00020 Gh3x2xDemoInit : Algo Version : GH_HR_bas_pv_v1.0.2.0_nc_fe7a5e84_baf7fe75

dsp_pv_v1.3.0_30234f22

dlCom_bas2med_pv_v1.0

0000025 03-27#11:29:25.619 097 00020 Gh3x2xDemoInit : Algo Version : no_ver


0000026 03-27#11:29:25.619 098 00020 Gh3x2xDemoInit : Algo Version : no_ver


0000027 03-27#11:29:25.619 099 00020 Gh3x2xDemoInit : Algo Version : no_ver


0000028 03-27#11:29:25.619 100 00020 Gh3x2xDemoInit : Algo Version : no_ver


0000029 03-27#11:29:25.619 101 00020 Gh3x2xDemoInit : Algo Version : no_ver


0000030 03-27#11:29:25.619 102 00020 Gh3x2xDemoInit : Algo Version : no_ver


0000031 03-27#11:29:25.619 103 00020 Gh3x2xDemoInit : Algo Version : no_ver


0000032 03-27#11:29:25.619 104 00020 Gh3x2xDemoInit : Algo Version : GH_NADT_pre_pv_v1.0.2.0_nc_548d894d

dsp_pv_v1.3.0_30234f22


0000033 03-27#11:29:25.619 105 00020 Gh3x2xDemoInit : Algo Version : no_ver


0000034 03-27#11:29:25.619 106 00020 Gh3x2xDemoInit : Algo Version : no_ver


0000035 03-27#11:29:25.619 107 00020 Gh3x2xDemoInit : Algo Version : no_ver


0000036 03-27#11:29:25.619 108 00020 Gh3x2xDemoInit : Algo Version : no_ver


0000037 03-27#11:29:25.619 109 00020 Gh3x2xDemoInit : Algo Version : no_ver


0000038 03-27#11:29:25.619 110 00020 Gh3x2xDemoInit : Algo Version : GH_NADT_pre_pv_v1.0.2.0_nc_548d894d

dsp_pv_v1.3.0_30234f22


0000039 03-27#11:29:25.619 111 00020 Gh3x2xDemoInit : Algo Version : no_ver


0000040 03-27#11:29:25.619 112 00020 Gh3x2xDemoInit : Algo Version : no_ver


0000041 03-27#11:29:25.619 113 00020 Gh3x2xDemoInit : Algo Version : no_ver


0000042 03-27#11:29:25.619 114 00020 Gh3x2xDemoInit : Algo Version : no_ver


0000043 03-27#11:29:25.619 115 00020 [LOG](104)[40013400]clk=7, miso=33, mosi=32,cs=34

0000044 03-27#11:29:25.619 116 00020 GH3X2X_RegisterSpiOperationFunc


0000045 03-27#11:29:25.619 117 00020 GH3X2X_RegisterHookFunc


0000046 03-27#11:29:25.619 118 00020 GH3X2X_RegisterDelayUsCallback


0000047 03-27#11:29:25.632 119 00020 GH3X2X_SoftReset


0000048 03-27#11:29:25.632 120 00020 GH3X2X_Init : Lib Version : v4.3.0.0 (build:Mar 26 2026_17:30:43)


0000049 CheckSum Error: 0x7e^0x23^0x79 != 0x7e

0000050 03-27#11:29:25.632 130 00030 GH3X2X_ExitLowPowerMode


0000051 03-27#11:29:25.632 131 00030 [GH3X2X_WakeUpConfirm] Chip wake up fail!!! Try wake up again.

~

0000052 03-27#11:29:25.632 133 00030 slot_time0 reg = 2048


0000053 03-27#11:29:25.632 134 00030 slot_time0 reg = 63487


0000054 03-27#11:29:25.632 135 00030 [LOG](538)----------GH3X2X_CommunicateConfirm test finished

0000055 03-27#11:29:25.632 136 00030 GH3X2X_LoadNewRegConfigArr


0000056 03-27#11:29:25.660 140 00040 [SetFunctionChnlNum] function id: 0x2, ChnlNum: 0


0000057 03-27#11:29:25.660 141 00040 [SetFunctionChnlNum] function id: 0x4, ChnlNum: 0


0000058 03-27#11:29:25.660 142 00040 [SetFunctionChnlNum] function id: 0x40, ChnlNum: 0


0000059 03-27#11:29:25.660 143 00040 [SetFunctionChnlNum] function id: 0x200, ChnlNum: 0


0000060 03-27#11:29:25.660 144 00040 [SetFunctionChnlNum] function id: 0x8000, ChnlNum: 0


0000061 03-27#11:29:25.660 145 00040 [SetFunctionChnlNum] function id: 0x1, ChnlNum: 0


0000062 03-27#11:29:25.660 146 00040 [SetFunctionChnlNum] function id: 0x1, ChnlNum: 1


0000063 03-27#11:29:25.660 147 00040 [GhGetFunctionIdViaVirReg]:Got valid function, ID = 0x1


0000064 03-27#11:29:25.660 148 00040 [SetFunctionChnlMap] function id: 0x1, SlotAdc: 0


0000065 03-27#11:29:25.660 149 00040 [SetFunctionChnlMap] function id: 0x1, SlotAdc: 20


0000066 03-27#11:29:25.660 150 00040 [SetFunctionChnlNum] function id: 0x2, ChnlNum: 4


0000067 03-27#11:29:25.660 151 00040 [GhGetFunctionIdViaVirReg]:Got valid function, ID = 0x2


0000068 03-27#11:29:25.660 152 00040 [SetFunctionChnlMap] function id: 0x2, SlotAdc: 1


0000069 03-27#11:29:25.660 153 00040 [SetFunctionChnlMap] function id: 0x2, SlotAdc: 0


0000070 03-27#11:29:25.660 154 00040 [SetFunctionChnlMap] function id: 0x2, SlotAdc: 3


0000071 03-27#11:29:25.660 155 00040 [SetFunctionChnlMap] function id: 0x2, SlotAdc: 2


0000072 03-27#11:29:25.660 156 00040 [SetFunctionChnlNum] function id: 0x40, ChnlNum: 2


0000073 03-27#11:29:25.660 157 00040 [GhGetFunctionIdViaVirReg]:Got valid function, ID = 0x40


0000074 03-27#11:29:25.660 164 00040 [SetFunctionChnlMap] function id: 0x40, SlotAdc: 8


0000075 03-27#11:29:25.660 165 00050 [SetFunctionChnlMap] function id: 0x40, SlotAdc: 4


0000076 03-27#11:29:25.660 166 00050 [SetFunctionChnlNum] function id: 0x200, ChnlNum: 3


0000077 03-27#11:29:25.660 167 00050 [GhGetFunctionIdViaVirReg]:Got valid function, ID = 0x200


0000078 03-27#11:29:25.660 168 00050 [SetFunctionChnlMap] function id: 0x200, SlotAdc: 12


0000079 03-27#11:29:25.660 169 00050 [SetFunctionChnlMap] function id: 0x200, SlotAdc: 0


0000080 03-27#11:29:25.660 170 00050 [SetFunctionChnlMap] function id: 0x200, SlotAdc: 0


0000081 03-27#11:29:25.660 171 00050 [SetFunctionChnlMap] function id: 0x200, SlotAdc: 16


0000082 03-27#11:29:25.660 172 00050 GH3X2X_WriteFunctionConfigWithVirtualReg


0000083 03-27#11:29:25.660 173 00050 GH3X2X_WriteFunctionConfigWithVirtualReg


0000084 03-27#11:29:25.660 174 00050 GH3X2X_WriteFunctionConfigWithVirtualReg


0000085 03-27#11:29:25.660 175 00050 GH3X2X_WriteFunctionConfigWithVirtualReg


0000086 03-27#11:29:25.660 176 00050 [GH3X2X_WriteVirtualReg]: unGhFuncSupportedAtCurCfg = 0x243.


0000087 03-27#11:29:25.660 177 00050 [GH3x2xSlotTimeInfo]:CfgIndex[0]:Slot time = 370


0000088 03-27#11:29:25.660 178 00050 [GH3x2xSlotTimeInfo]:CfgIndex[1]:Slot time = 842


0000089 03-27#11:29:25.660 179 00050 [GH3x2xSlotTimeInfo]:CfgIndex[2]:Slot time = 842


0000090 03-27#11:29:25.660 180 00050 [GH3x2xSlotTimeInfo]:CfgIndex[3]:Slot time = 232


0000091 03-27#11:29:25.660 181 00050 [GH3x2xSlotTimeInfo]:CfgIndex[4]:Slot time = 106


0000092 03-27#11:29:25.660 182 00050 [GH3x2xSlotTimeInfo]:CfgIndex[5]:Slot time = 232


0000093 03-27#11:29:25.660 183 00050 [GH3X2X_AlgoDeinit]:Function(function id = 0) didn't init!


0000094 03-27#11:29:25.660 184 00050 [GH3X2X_AlgoDeinit]:Function(function id = 1) didn't init!


0000095 03-27#11:29:25.660 193 00060 [GH3X2X_AlgoDeinit]:Function(function id = 2) didn't init!


0000096 03-27#11:29:25.660 194 00060 [GH3X2X_AlgoDeinit]:Function(function id = 3) didn't init!


0000097 03-27#11:29:25.660 195 00060 [GH3X2X_AlgoDeinit]:Function(function id = 4) didn't init!


0000098 03-27#11:29:25.660 196 00060 [GH3X2X_AlgoDeinit]:Function(function id = 5) didn't init!


0000099 03-27#11:29:25.660 197 00060 [GH3X2X_AlgoDeinit]:Function(function id = 6) didn't init!


0000100 03-27#11:29:25.660 198 00060 [GH3X2X_AlgoDeinit]:Function(function id = 7) didn't init!


0000101 03-27#11:29:25.660 199 00060 [GH3X2X_AlgoDeinit]:Function(function id = 8) didn't init!


0000102 03-27#11:29:25.660 200 00060 [GH3X2X_AlgoDeinit]:Function(function id = 9) didn't init!


0000103 03-27#11:29:25.660 201 00060 [GH3X2X_AlgoDeinit]:Function(function id = 10) didn't init!


0000104 03-27#11:29:25.660 202 00060 [GH3X2X_AlgoDeinit]:Function(function id = 11) didn't init!


0000105 03-27#11:29:25.660 203 00060 [GH3X2X_AlgoDeinit]:Function(function id = 12) didn't init!


0000106 03-27#11:29:25.660 204 00060 [GH3X2X_AlgoDeinit]:Function(function id = 13) didn't init!


0000107 03-27#11:29:25.660 205 00060 [GH3X2X_AlgoDeinit]:Function(function id = 14) didn't init!


0000108 03-27#11:29:25.660 206 00060 [GH3X2X_AlgoDeinit]:Function(function id = 15) didn't init!


0000109 03-27#11:29:25.660 207 00060 [GH3X2X_AlgoDeinit]:Function(function id = 16) didn't init!


0000110 03-27#11:29:25.660 208 00060 [GH3X2X_AlgoDeinit]:Function(function id = 17) didn't init!


0000111 03-27#11:29:25.660 209 00060 [GH3X2X_AlgoDeinit]:Function(function id = 18) didn't init!


0000112 03-27#11:29:25.660 210 00060 [GH3X2X_AlgoDeinit]:Function(function id = 19) didn't init!


0000113 03-27#11:29:25.660 211 00060 Algorithm mem Config complete!Size:4080


0000114 03-27#11:29:25.660 212 00060 Algorithm mem init start...


0000115 03-27#11:29:25.660 213 00060 Algorithm mem init start...


0000116 03-27#11:29:25.660 214 00060 Algorithm mem init success.Addr:0x213380,Size:408~?

0000117 03-27#11:29:25.678 220 00070 Algorithm mem size = 4080


0000118 03-27#11:29:25.678 221 00070 [Gh3x2xDemoStopSampling] unFuncMode = 0xffffffff


0000119 03-27#11:29:25.678 222 00070 [Gh3x2xDemoSamplingControl]:config has no target function!!!config function = 0x00000243,unFuncMode = 0xffffffff


0000120 03-27#11:29:25.678 223 00070 [SlotEnRegSet] set slot en: 0x0


0000121 03-27#11:29:25.678 224 00070 Current uchSlotEn= 0x0


0000122 03-27#11:29:25.678 225 00070 Current g_unDemoFuncMode= 0x0


0000123 03-27#11:29:25.678 226 00070 [Gh3x2xDemoInterruptProcess]:gh3x2x is not init!!!


0000124 03-27#11:29:25.678 227 00070 enterLP=2852

0000125 03-27#11:29:25.678 228 00070 GH3X2X_EnterLowPowerMode


0000126 03-27#11:29:25.678 229 00070 save pmu fifo module status!


0000127 03-27#11:29:25.678 230 00070 GH3X2X_EnterLowPowerMode end


0000128 03-27#11:29:25.678 231 00070 [GH3X2X_AlgoDeinit]:Function(function id = 0) didn't init!


0000129 03-27#11:29:25.678 232 00070 [GH3X2X_AlgoDeinit]:Function(function id = 1) didn't init!


0000130 03-27#11:29:25.678 233 00070 [GH3X2X_AlgoDeinit]:Function(function id = 2) didn't init!


0000131 03-27#11:29:25.678 234 00070 [GH3X2X_AlgoDeinit]:Function(function id = 3) didn't init!


0000132 03-27#11:29:25.678 235 00070 [GH3X2X_AlgoDeinit]:Function(function id = 4) didn't init!


0000133 03-27#11:29:25.678 236 00070 [GH3X2X_AlgoDeinit]:Function(function id = 5) didn't init!


0000134 03-27#11:29:25.678 237 00070 [GH3X2X_AlgoDeinit]:Function(function id = 6) didn't init!


0000135 03-27#11:29:25.678 242 00080 [GH3X2X_AlgoDeinit]:Function(function id = 7) didn't init!


0000136 03-27#11:29:25.678 243 00080 [GH3X2X_AlgoDeinit]:Function(function id = 8) didn't init!


0000137 03-27#11:29:25.678 244 00080 [GH3X2X_AlgoDeinit]:Function(function id = 9) didn't init!


0000138 03-27#11:29:25.678 245 00080 [GH3X2X_AlgoDeinit]:Function(function id = 10) didn't init!


0000139 03-27#11:29:25.678 246 00080 [GH3X2X_AlgoDeinit]:Function(function id = 11) didn't init!


0000140 03-27#11:29:25.678 247 00080 [GH3X2X_AlgoDeinit]:Function(function id = 12) didn't init!


0000141 03-27#11:29:25.678 248 00080 [GH3X2X_AlgoDeinit]:Function(function id = 13) didn't init!


0000142 03-27#11:29:25.678 249 00080 [GH3X2X_AlgoDeinit]:Function(function id = 14) didn't init!


0000143 03-27#11:29:25.678 250 00080 [GH3X2X_AlgoDeinit]:Function(function id = 15) didn't init!


0000144 03-27#11:29:25.678 251 00080 [GH3X2X_AlgoDeinit]:Function(function id = 16) didn't init!


0000145 03-27#11:29:25.678 252 00080 [GH3X2X_AlgoDeinit]:Function(function id = 17) didn't init!


0000146 03-27#11:29:25.678 253 00080 [GH3X2X_AlgoDeinit]:Function(function id = 18) didn't init!


0000147 03-27#11:29:25.678 254 00080 [GH3X2X_AlgoDeinit]:Function(function id = 19) didn't init!


0000148 03-27#11:29:25.678 255 00080 Gh3x2xGetConfigVersion : Config Version : 2d04dea0


0000149 03-27#11:29:25.678 000 00080 Gh3x2xDemoInit:init success


0000150 03-27#11:29:25.678 001 00080 enterLP=1607

0000151 03-27#11:29:25.678 002 00080 GH3X2X_EnterLowPowerMode


0000152 03-27#11:29:25.678 003 00080 GH3X2X_EnterLowPowerMode end


0000153 03-27#11:29:25.678 004 00080 [LOG](181)[IRQ]init-Pin=35

0000154 03-27#11:29:25.678 005 00080 GH3X2X_UprotocolPacketMaxLenConfig


0000155 03-27#11:29:25.678 006 00080 GH3X2X_RegisterGetFirmwareVersionFunc


0000156 03-27#11:29:25.678 007 00080 [LOG](132)Gh3x2xDemoInit=0

0000157 03-27#11:29:25.685 008 00080 GH3x2xHrAlgoInit


0000158 03-27#11:29:25.685 009 00080 hba algorithm version : GH_HR_bas_pv_v1.0.2.0_nc_fe7a5e84_baf7fe75

dsp_pv_v1.3.0_30234f22

dlCom_bas2med_pv_v1.0.0_cf960

0000159 03-27#11:29:25.685 010 00080 hba algorithm legal chnl num : 4


0000160 03-27#11:29:25.685 015 00080 [goodix_hba_init_func]:params = 0,25,4,9,20,202


0000161 03-27#11:29:25.685 016 00090 goodix_hba_config_get_version=pv_v1.1.0

0000162 03-27#11:29:25.685 017 00090 [goodix_hba_init_func]:cfg_instance = 0x2226f4, cfg_size:24, interface_ver:pv_v1.1.0


0000163 03-27#11:29:25.685 018 00090 [GH3x2xHrAlgoInit]GH3X2X_HbaInit success!!


0000164 03-27#11:29:25.685 019 00090 [GH3X2X_AlgoInit]:Function(function id = 1) init success!


0000165 03-27#11:29:25.685 020 00090 [Gh3x2xDemoStartSampling] unFuncMode = 0x2


0000166 03-27#11:29:25.685 021 00090 [GH3x2xCalFunctionSlotBit] function id: 0x1, slot bit: 0x20


0000167 03-27#11:29:25.685 022 00090 [GH3x2xCalFunctionSlotBit] function id: 0x2, slot bit: 0x1


0000168 03-27#11:29:25.685 023 00090 [GH3x2xCalFunctionSlotBit] function id: 0x4, slot bit: 0x0


0000169 03-27#11:29:25.685 024 00090 [GH3x2xCalFunctionSlotBit] function id: 0x8, slot bit: 0x0


0000170 03-27#11:29:25.685 025 00090 [GH3x2xCalFunctionSlotBit] function id: 0x40, slot bit: 0x6


0000171 03-27#11:29:25.724 026 00090 [GH3x2xCalFunctionSlotBit] function id: 0x200, slot bit: 0x19


0000172 03-27#11:29:25.724 027 00090 [GH3x2xCalFunctionSlotBit] function id: 0x400, slot bit: 0x0


0000173 03-27#11:29:25.724 028 00090 [GH3x2xCalFunctionSlotBit] function id: 0x800, slot bit: 0x0


0000174 03-27#11:29:25.724 029 00090 [GH3x2xCalFunctionSlotBit] function id: 0x1000, slot bit: 0x0


0000175 03-27#11:29:25.724 030 00090 [GH3x2xCalFunctionSlotBit] function id: 0x2000, slot bit: 0x0


0000176 03-27#11:29:25.724 031 00090 [GH3x2xCalFunctionSlotBit] function id: 0x4000, slot bit: 0x0


0000177 03-27#11:29:25.724 032 00090 [GH3x2xCalFunctionSlotBit] function id: 0x8000, slot bit: 0x0


0000178 03-27#11:29:25.724 033 00090 [GH3x2xCalFunctionSlotBit] function id: 0x2, slot bit: 0x1


0000179 03-27#11:29:25.724 034 00090 GH3X2X_StartSampling


0000180 03-27#11:29:25.724 035 00090 GH3X2X_ExitLowPowerMode


0000181 03-27#11:29:25.724 036 00090 recovery pmu fifo module status!


0000182 03-27#11:29:25.724 041 00100 [FunctionStart] function id: 0x2, start result: 0


0000183 03-27#11:29:25.724 042 00100 [SlotEnRegSet] set slot en: 0x1


0000184 03-27#11:29:25.724 043 00100 Current uchSlotEn= 0x1


0000185 03-27#11:29:25.724 044 00100 Current g_unDemoFuncMode= 0x2


0000186 03-27#11:29:25.724 045 00100 Step 1

0000187 03-27#11:29:25.724 046 00100 GH3X2X_GetIrqStatus


0000188 03-27#11:29:25.724 047 00100 Step 2

0000189 03-27#11:29:25.724 048 00100 Step 3

0000190 03-27#11:29:25.724 049 00100 usFifoByteNum = 0


0000191 03-27#11:29:25.724 050 00100 Step 3-2

0000192 03-27#11:29:25.724 051 00100 Step 3-3

0000193 03-27#11:29:25.724 052 00100 Step 5

0000194 03-27#11:29:25.724 053 00100 Step 6

0000195 03-27#11:29:25.724 054 00100 enterLP=2107

0000196 03-27#11:29:25.724 055 00100 GH3X2X_EnterLowPowerMode


0000197 03-27#11:29:25.724 056 00100 GH3X2X_EnterLowPowerMode end


0000198 03-27#11:29:25.724 057 00100 Step 7

0000199 03-27#11:29:25.724 058 00100 Step 8

0000200 03-27#11:29:25.724 059 00100 [GetFrameNum]FunctionID: 2 FrameNum: 0, GsensorStep: 0.000


0000201 03-27#11:29:25.724 060 00100 Step 9

0000202 03-27#11:29:25.724 061 00100 Gh3x2xDemoInterruptProcess end

0000203 03-27#11:29:25.724 062 00100 enterLP=2852

0000204 03-27#11:29:25.724 063 00100 GH3X2X_EnterLowPowerMode


0000205 03-27#11:29:25.724 064 00100 GH3X2X_EnterLowPowerMode end


0000206 03-27#11:29:25.724 065 00100 [LOG](146)MSG_TYPE_ECG_IRQ_EVENT

0000207 03-27#11:29:25.724 066 00100 InterruptProcess: plese check hal_gh3x2x_int_handler_call_back is called or not !!!


0000208 03-27#11:29:25.724 067 00100 InterruptProcess:invalid call, do not process.


0000209 03-27#11:29:25.724 068 00100 [LOG](148)MSG_TYPE_ECG_IRQ_EVENT_end

0000210 03-27#11:29:27.323 121 01730 [LOG](145)GPIO31_Handler

0000211 03-27#11:29:27.359 122 01730 [LOG](146)MSG_TYPE_ECG_IRQ_EVENT

0000212 03-27#11:29:27.359 123 01730 Step 1

0000213 03-27#11:29:27.359 124 01730 GH3X2X_GetIrqStatus


0000214 03-27#11:29:27.359 125 01730 GH3X2X_ExitLowPowerMode


0000215 03-27#11:29:27.359 126 01730 [LOG](145)GPIO31_Handler

0000216 03-27#11:29:27.359 127 01730 Step 2

0000217 03-27#11:29:27.359 128 01730 Step 3

0000218 03-27#11:29:27.359 129 01730 usFifoByteNum = 640


0000219 03-27#11:29:27.359 130 01730 Step 3-2

0000220 03-27#11:29:27.359 131 01730 Step 3-3

0000221 03-27#11:29:27.359 132 01730 Step 3-3 usFifoByteNum=640

0000222 03-27#11:29:27.359 133 01730 Step 3-3 readRet=0, [0020dbbc]len=640

0000223 03-27#11:29:27.359 134 01730 Step 3-4

0000224 03-27#11:29:27.359 135 01730 Step 5

0000225 03-27#11:29:27.359 136 01740 Step 6

0000226 03-27#11:29:27.359 137 01740 enterLP=2107

0000227 03-27#11:29:27.359 138 01740 GH3X2X_EnterLowPowerMode


0000228 03-27#11:29:27.359 139 01740 GH3X2X_EnterLowPowerMode end


0000229 03-27#11:29:27.359 140 01740 Step 7

0000230 03-27#11:29:27.359 141 01740 Step 8

0000231 03-27#11:29:27.359 142 01740 [GetFrameNum]FunctionID: 2 FrameNum: 2, GsensorStep: 0.000


0000232 03-27#11:29:27.359 143 01740 [GH3x2xHandleFrameData]got one frame,funcID = 2


0000233 03-27#11:29:27.359 144 01740 [GetFrameData] function id: 0x2, rawdata0 = 9509520, rawdata1 = 9594892


0000234 03-27#11:29:27.359 145 01740 [GetFrameData] TimeStamp = 0


0000235 03-27#11:29:27.359 146 01740 [GH3x2xHrAlgoExe]ppg_rawdata = 9509520, enable_flg[0] = 0x80, [1] = 0x0


0000236 03-27#11:29:27.359 147 01740 [GH3x2xHrAlgoExe]ppg_rawdata = 9594892, enable_flg[0] = 0xc0, [1] = 0x0


0000237 03-27#11:29:27.359 148 01740 [GH3x2xHrAlgoExe]ppg_rawdata = 9498310, enable_flg[0] = 0xe0, [1] = 0x0


0000238 03-27#11:29:27.359 149 01740 [GH3x2xHrAlgoExe]ppg_rawdata = 9674454, enable_flg[0] = 0xf0, [1] = 0x0


0000239 03-27#11:29:27.359 150 01740 [GH3x2xHandleFrameData]got one frame,funcID = 2


0000240 03-27#11:29:27.359 151 01740 [GetFrameData] function id: 0x2, rawdata0 = 9494668, rawdata1 = 9580586


0000241 03-27#11:29:27.359 152 01740 [GetFrameData] TimeStamp = 1


0000242 03-27#11:29:27.359 153 01740 [GH3x2xHrAlgoExe]ppg_rawdata = 9494668, enable_flg[0] = 0x80, [1] = 0x0


0000243 03-27#11:29:27.359 154 01740 [GH3x2xHrAlgoExe]ppg_rawdata = 9580586, enable_flg[0] = 0xc0, [1] = 0x0


0000244 03-27#11:29:27.359 155 01740 [GH3x2xHrAlgoExe]ppg_rawdata = 9483534, enable_flg[0] = 0xe0, [1] = 0x0


0000245 03-27#11:29:27.359 156 01740 [GH3x2xHrAlgoExe]ppg_rawdata = 9662034, enable_flg[0] = 0xf0, [1] = 0x0


0000246 03-27#11:29:27.359 157 01740 Step 9

0000247 03-27#11:29:27.359 158 01740 Gh3x2xDemoInterruptProcess end

0000248 03-27#11:29:27.359 159 01740 [LOG](148)MSG_TYPE_ECG_IRQ_EVENT_end

0000249 03-27#11:29:27.359 160 01750 [LOG](146)MSG_TYPE_ECG_IRQ_EVENT

0000250 03-27#11:29:27.359 161 01750 Step 1

0000251 03-27#11:29:27.359 162 01750 GH3X2X_GetIrqStatus


0000252 03-27#11:29:27.359 163 01750 GH3X2X_ExitLowPowerMode


0000253 03-27#11:29:27.359 164 01750 Step 2

0000254 03-27#11:29:27.359 165 01750 Step 3

0000255 03-27#11:29:27.359 166 01750 Step 5

0000256 03-27#11:29:27.359 167 01750 Step 6

0000257 03-27#11:29:27.359 168 01750 enterLP=2107

0000258 03-27#11:29:27.359 169 01750 GH3X2X_EnterLowPowerMode


0000259 03-27#11:29:27.359 170 01750 GH3X2X_EnterLowPowerMode end


0000260 03-27#11:29:27.359 171 01750 Step 7

0000261 03-27#11:29:27.359 172 01750 Step 9

0000262 03-27#11:29:27.359 173 01750 Gh3x2xDemoInterruptProcess end

0000263 03-27#11:29:27.359 174 01750 [LOG](148)MSG_TYPE_ECG_IRQ_EVENT_end

0000264 03-27#11:29:28.948 175 03320 [LOG](145)GPIO31_Handler

0000265 03-27#11:29:28.948 176 03320 [LOG](146)MSG_TYPE_ECG_IRQ_EVENT

0000266 03-27#11:29:28.948 177 03320 Step 1

0000267 03-27#11:29:28.948 178 03320 GH3X2X_GetIrqStatus


0000268 03-27#11:29:28.948 179 03320 GH3X2X_ExitLowPowerMode


0000269 03-27#11:29:28.948 180 03320 [LOG](145)GPIO31_Handler

0000270 03-27#11:29:28.948 181 03320 Step 2

0000271 03-27#11:29:28.948 182 03320 Step 3

0000272 03-27#11:29:28.948 183 03320 usFifoByteNum = 640


0000273 03-27#11:29:28.948 184 03320 Step 3-2

0000274 03-27#11:29:28.948 185 03320 Step 3-3

0000275 03-27#11:29:28.948 186 03320 Step 3-3 usFifoByteNum=640

0000276 03-27#11:29:28.948 187 03320 Step 3-3 readRet=0, [0020dbbc]len=640

0000277 03-27#11:29:28.948 188 03320 Step 3-4

0000278 03-27#11:29:28.948 189 03320 Step 5

0000279 03-27#11:29:28.948 190 03320 Step 6

0000280 03-27#11:29:28.948 191 03320 enterLP=2107

0000281 03-27#11:29:28.948 192 03320 GH3X2X_EnterLowPowerMode


0000282 03-27#11:29:28.948 193 03320 GH3X2X_EnterLowPowerMode end


0000283 03-27#11:29:28.948 194 03330 Step 7

0000284 03-27#11:29:28.948 195 03330 Step 8

0000285 03-27#11:29:28.948 196 03330 [GetFrameNum]FunctionID: 2 FrameNum: 2, GsensorStep: 0.000


0000286 03-27#11:29:28.948 197 03330 [GH3x2xHandleFrameData]got one frame,funcID = 2


0000287 03-27#11:29:28.948 198 03330 [GetFrameData] function id: 0x2, rawdata0 = 15493297, rawdata1 = 11984693


0000288 03-27#11:29:28.948 199 03330 [GetFrameData] TimeStamp = 2


0000289 03-27#11:29:28.948 200 03330 [GH3x2xHrAlgoExe]ppg_rawdata = 15493297, enable_flg[0] = 0x80, [1] = 0x0


0000290 03-27#11:29:28.948 201 03330 [GH3x2xHrAlgoExe]ppg_rawdata = 11984693, enable_flg[0] = 0xc0, [1] = 0x0


0000291 03-27#11:29:28.948 202 03330 [GH3x2xHrAlgoExe]ppg_rawdata = 11707981, enable_flg[0] = 0xe0, [1] = 0x0


0000292 03-27#11:29:28.948 203 03330 [GH3x2xHrAlgoExe]ppg_rawdata = 12243811, enable_flg[0] = 0xf0, [1] = 0x0


0000293 03-27#11:29:28.948 204 03330 [GH3x2xHandleFrameData]got one frame,funcID = 2


0000294 03-27#11:29:28.948 205 03330 [GetFrameData] function id: 0x2, rawdata0 = 15511665, rawdata1 = 11987344


0000295 03-27#11:29:28.948 206 03330 [GetFrameData] TimeStamp = 3


0000296 03-27#11:29:28.948 207 03330 [GH3x2xHrAlgoExe]ppg_rawdata = 15511665, enable_flg[0] = 0x80, [1] = 0x0


0000297 03-27#11:29:28.948 208 03330 [GH3x2xHrAlgoExe]ppg_rawdata = 11987344, enable_flg[0] = 0xc0, [1] = 0x0


0000298 03-27#11:29:28.948 209 03330 [GH3x2xHrAlgoExe]ppg_rawdata = 11710011, enable_flg[0] = 0xe0, [1] = 0x0


0000299 03-27#11:29:28.948 210 03330 [GH3x2xHrAlgoExe]ppg_rawdata = 12246934, enable_flg[0] = 0xf0, [1] = 0x0


0000300 03-27#11:29:28.948 211 03330 Step 9

0000301 03-27#11:29:28.948 212 03330 Gh3x2xDemoInterruptProcess end

0000302 03-27#11:29:28.948 213 03330 [LOG](148)MSG_TYPE_ECG_IRQ_EVENT_end

0收藏

0赞成

che****com

汇顶员工
2026-03-30 09:41

Hi,

从这段日志看,问题不在“FIFO 没有数据”,也不在“HR 算法没初始化”,而在“FIFO 数据没有被正确组帧成 HR frame”。你的现象里最关键的一点是:

HR 算法已经初始化成功,参数是 fs=25、valid_ch_num=4、earliest_output_time=9、latest_output_time=20,可见算法侧是正常启动的。对应代码在 gh3x2x_demo_algo_call_hr.c 和 goodix_hba_config.c

  1. 每次 FIFO 读到 640 字节,换算后是 160 组 4 字节 raw sample。若当前 HR 是 4 通道,那么理论上应当约等于 40 帧 HR 数据,因为 160 ÷ 4 = 40。

但实际驱动在组帧时只算出了 日志里的 FrameNum: 2 正是由 gh_drv_control.c 这段逻辑算出来的,并在 gh_drv_control.c打印。

4.这意味着 640 字节的数据量本身是正常的,但其中绝大多数 tag 没有被当前 HR 通道映射识别成“完整的一帧”。于是算法虽然被调用了,但每 1.5 秒只真正吃进去 2 帧,等效输入速率大约只有 1.25Hz,远低于配置的 25Hz,所以就会表现为“很久不出值”或者偶发吐一个 37。

建议看下你的配置参数是否HR的通道映射不对?

0条评论

0赞成

0收藏

您的评论

登录后可回答问题,请 注册

我们时刻倾听您的声音
联系销售

扫描关注公众号

打开微信,使用“扫一扫”即可关注