Post Go back to editing

使用EVAL-ADPD4100-ARDZ 开发板 时隙A的所有寄存器配置写不进去

Contains AI Generated Content

Thread Summary

用户在使用nRF系列CPU通过SPI与EVAL-ADPD4100-ARDZ开发板通信时,发现timeslot A的寄存器无法正确写入和读回,而timeslot B的寄存器配置正常。建议单独使能timeslot A,检查是否能正常写入读出,并参考ADPD410x驱动代码进行调试。
AI Generated Content

我使用nrf系列的CPU通过SPI与EVAL-ADPD4100-ARDZ 开发板进行通信,IOVDD=3.3V,AVDD=DVDD1=DVDD2=1.8V

对ADPD4100寄存器进行了以下写入配置

0009 0080 # 32MHz trim - trim your own clock
000B 02B2 # 1MHz trim - trim your own clock
000C 0012 # 32kHz trim - trim your own clock
000D 2710 # 100 Hz
000F 0006 # enable 1MHz osc
0010 0000 # Three timeslots
0020 0004 # in1 connected to vc1 during sleep, everything else floating
0021 0000 # all inputs single ended, vc1 set to Vdd during sleep
0022 0003 # gpio0 is output, inverted
0023 0002 # intx to gpio0
0014 8000 # fifo thresh interrupt to intx

## timeslot A - continuous connect mode - green PPG

0100 0000 # Rin = 500, tsA offset = 0, skip subsample
0101 40DA # path = TIA + BPF + INT + ADC
0102 0001 # IN1 to channel 1, others disconnected
0103 5002 # precondition inputs to TIA_Vref, VC1 active state = V_delta
0104 03C0 # Rf = 200k Rint = 400k
0105 0707 # 11 mA on LED1A, 2A, 3A
0106 0007
0107 0140 # 64 pulses
0108 0000 # period set by automatic period of continuous connect mode
0109 0210 # led width= 2us led offset=16 us
010A 0003 # integrator width=3 us
010B 0210 # integrator offset=16.5 us - ADJUST FINE OFFSET
010C 0001 # no modulation
0110 0003 # signal size = 3 bytes
010D 0099 # -++- int pattern
010E 0000 # NO OFFSET - review if needed
010F 0000 # NO OFFSET - review if needed
0112 0000 # no decimation

芯片能够正常读回Chip ID和以下的寄存器配置

0009 0080 # 32MHz trim - trim your own clock
000B 02B2 # 1MHz trim - trim your own clock
000C 0012 # 32kHz trim - trim your own clock
000D 2710 # 100 Hz
000F 0006 # enable 1MHz osc
0010 0000 # Three timeslots
0020 0004 # in1 connected to vc1 during sleep, everything else floating
0021 0000 # all inputs single ended, vc1 set to Vdd during sleep
0022 0003 # gpio0 is output, inverted
0023 0002 # intx to gpio0
0014 8000 # fifo thresh interrupt to intx,

但是timeslot A的所有寄存器读回来的值都为0x0000,无法写入正确

我进行了额外尝试,使能AB两个时隙后,往各自寄存器写入配置,发现B时隙的寄存器配置都可以正常写入和读回