2024-09-05 07:02 AM
Hi everyone: I am working on a project with VL53L8CX Time-of-Flight sensor from Pololu. I integrated it with NUCLEO-H755ZI-Q board over SPI interface based on the example and driver provided in the STMicro en.STSW-IMG040 software package. I configured the SPI3 (MCLK, MISO, and MOSI) on the CN7 to communicate with the sensor. I also have PA4 for SPI3_NSS and PC7 for /PLn signal. The project compiled successfully. However, I believe I am not able to read the registers properly.
The firmware reads the "device_id" and "revision_id" from the sensor in the vl53l8cx_is_alive() to determine if the sensor exists. The return values different every time I tried to read. I was able to capture the protocols on the scope, and confirmed the reading values are match with the data shown on the scope. The following scope capture shows the communication:
1. Sending 0x00 to address 0x7fff. The yellow signal is for the MCLK, blue for MOSI, purple for MISO, and green for /CS.
2. Receiving 0x0 from address 1 for "revision_id".
3. Another reading 0x4 from address 1 for "revision_id".
I tried to pull up the MISO signal to 3.3V by 10K resister or pull-down to GND with 47K resister. They don't resolve the issue. Tried different communication baud rate and they don't help. I also tried different module and they seems to have the same issue. At this point, I am not sure if the issue I am facing is in the hardware or software. I am looking forward to hearing your opinion and suggestions. Thanks!
2024-09-05 07:41 AM
This happened to the ST VL53L8CX Satellite board as well.
Issue : SPI communication is not working when SATEL-VL53L8 (PCB4286A) is connected with flying wires to the NUCLEO-F401RE Root cause of defection : Supplier populated 2 Level Shifter references for all SATEL-VL53L8 - 1 level shifter reference is incorrect specification. Visual check of the boards is needed to identify Level Shifters references (U4 and U6 component)
Workaround : None possible – only a replacement of the level shifter will fix the issue. |
I don't know if it's your exact problem as I've yet to see the Pololu board, but it's a fair guess.
ST is trying to pull back the affected boards, but it's a real mess.
Level shifters are a pain on I2C. I hate those things. I hope this is not your problem; but do check it.
- john
2024-09-05 07:57 AM
This could be very possible. The VL53L8CX from Pololu using the same level shifter but 8 channels. Thanks your quick info.
2024-09-05 08:26 AM
A quick question; if I am buying SATEL-VL53L8 from ST e-store (https://estore.st.com/en/satel-vl53l8-cpn.html), do I need to have a specific part number to identify the device has the new level shifter? Thanks!
2024-09-05 08:53 AM
Alas, I do not know. It's a production issue. The plan is to recall all the parts and throw them away.
The trick is that the e-store is actually handled by our wonderful distributors. They are much better at shipping and inventory than ST is. And they are local to you.
So, we have to get those parts back from them and send out new ones.
I'd hope that if you tried to order, you'd get a message saying they were temporarily out of stock.
I will see if I can find a schedule.
2024-09-05 09:02 AM
John, thanks your reply! That's exactly the issue I concerned. We are trying to get evaluation board ASAP, However, I don't know where I can get the reliable board wit the new shifter. Please let me know when you have schedule and where should I get the board from. Thanks!
2024-09-05 09:03 AM
Hello,
Do a visual inspection of your pololu board and check the reference of the level shifter.
The BOM shared on st.com references the right LS Part Number. So if pololu took this BOM it should be OK.
Wrong boards manufactured by ST supplier will be reworked with the right LS.
At the end, reworked boards will be identified with a new part number.
Anyway, a replacement of the faulty board is planned in case of issue.
Regards