BGT60LTR11 SPI Mode

Announcements

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
edward1
Level 1
Level 1
5 sign-ins First reply posted First question asked

Hi,

I'm trying to use the BGT60LTR11 in SPI Mode in order to get the ADC Samplings and calculate the speed of the object in movement. I'm also planning to calculate the movement detection and direction from scratch. We have build our own board that mounts the sensor.

But I can't get any good ADC measurements, I get data that doesn't change whether there is movement or not.

So can I ask what is the precise and correct procedure to get the ADC Samplings and Initialize? Please don't tell me to read the user manual ecc., because I've already did.

My steps right now are the following for initialization:

  • Write start_pm,miso_drv,clk_ext_dis = 1 on reg15;
  • Write bandgap_en = 1 on reg34;
  • Wait for bg_up=1 on reg36(read);
  • Write adc_en,adc_clk_en = 1 on reg34;
  • Wait for adc_ready =1 on reg36(read);
  • Write channel_all = 1 on reg35;

While for the ADC Samplings I do this every 500us:

  • Write channel_all = 1 on reg35;
  • Wait 10us;
  • Read IFI on reg40;
  • Read IFQ on reg41;
  • Data processing;

Is there something wrong?

Thank you in advance,

Eduard

 

 

0 Likes
1 Solution
Montassar-BR
Employee
Employee
50 likes received 5 questions asked 250 sign-ins

Hi Eduard,

If you are in SPI pulsed mode, you do not need to do these steps:


  • Write start_pm,miso_drv,clk_ext_dis = 1 on reg15;
  • Write bandgap_en = 1 on reg34;
  • Wait for bg_up=1 on reg36(read);
  • Write adc_en,adc_clk_en = 1 on reg34;
  • Wait for adc_ready =1 on reg36(read);
  • Write channel_all = 1 on reg35;

While for the ADC Samplings I do this every 500us:

  • Write channel_all = 1 on reg35;
  • Wait 10us;
  • Read IFI on reg40;
  • Read IFQ on reg41;
  • Data processing;

In SPI pulsed mode, the ADC of I&Q is triggered by the device internal state machine, you do not have to do it manually.  Thus, the I&Q signals are sampled by the internal detector, so you just need to read the ADC registers Reg40 & Reg41 for I&Q signals respectively, then start your data processing.

Hope it helps.

BR,
Montassar.

View solution in original post

0 Likes
3 Replies
Yashraj_P
Moderator
Moderator
Moderator
10 likes given 250 sign-ins 25 likes received

Hi @edward1 ,

Are the ADC values similar or exactly equal every time, could you take multiple samples and verify it?

Also check whether TDet and PDet pins are giving proper output? If yes, that means the ADC values are good, and you can apply FFT on the ADC values to see shift in Intermediate frequency.

If above is not the case, then could you please check the hold_time (Reg 10) and detection_threshold (Reg 02) that you have set. You could try changing it to read the output on TDet and Pdet pins. 

Also, the BGT60LTR11AiP is for motion detection and its direction. This is not preferred for speed measurement of the target.

Thanks and regards,
Yashraj

0 Likes
edward1
Level 1
Level 1
5 sign-ins First reply posted First question asked

Hi Yashraj,

Thank you for your response.

Are the ADC values similar or exactly equal every time, could you take multiple samples and verify it?


No they change but not by much and there are typically 0 or 255, for example:"0,0,0,0,255,0,0,255,23,0,...". Moreover I get continuous samplings and I saw that they don't change much even if I have objects moving in front of the radar.


Also check whether TDet and PDet pins are giving proper output? If yes, that means the ADC values are good, and you can apply FFT on the ADC values to see shift in Intermediate frequency.

No they don't, PDet works correctly, while TDet never activates. This is part of the reason I wanted to directly develop my detection algorithm. I can make them work in Autonomous Mode, but not in SPI Mode.


If above is not the case, then could you please check the hold_time (Reg 10) and detection_threshold (Reg 02) that you have set. You could try changing it to read the output on TDet and Pdet pins.

I have actually already tried many values of hold_time and detection_threshold registers but I got no results. At most I could make Pdet work better (but not Tdet). Moreover, these registers shouldn't actually influence the ADC readings as they should be raw right?


Also, the BGT60LTR11AiP is for motion detection and its direction. This is not preferred for speed measurement of the target.

I've already done it in python with the development kit and it works perfectly, and to my knowledge Pdet should also be determined by the sign of the velocity.

 

Best regards,

Eduard

0 Likes
Montassar-BR
Employee
Employee
50 likes received 5 questions asked 250 sign-ins

Hi Eduard,

If you are in SPI pulsed mode, you do not need to do these steps:


  • Write start_pm,miso_drv,clk_ext_dis = 1 on reg15;
  • Write bandgap_en = 1 on reg34;
  • Wait for bg_up=1 on reg36(read);
  • Write adc_en,adc_clk_en = 1 on reg34;
  • Wait for adc_ready =1 on reg36(read);
  • Write channel_all = 1 on reg35;

While for the ADC Samplings I do this every 500us:

  • Write channel_all = 1 on reg35;
  • Wait 10us;
  • Read IFI on reg40;
  • Read IFQ on reg41;
  • Data processing;

In SPI pulsed mode, the ADC of I&Q is triggered by the device internal state machine, you do not have to do it manually.  Thus, the I&Q signals are sampled by the internal detector, so you just need to read the ADC registers Reg40 & Reg41 for I&Q signals respectively, then start your data processing.

Hope it helps.

BR,
Montassar.

0 Likes