IP Library › Granted Patent US 12,216,536
Granted Patent B2
US 12,216,536 · App. 18/512,754 · Granted Feb 4, 2025

Low-overhead, bidirectional error checking for a serial peripheral interface

Inventors: Kaushik Kannan (Mountain View, CA); David Sobel (Los Altos, CA)
Assignee: Waymo LLC
G06F11/1004G06F11/0772G06F11/3031G06F13/4291
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,216,536
App. No.
18/512,754
Granted
Feb 4, 2025
Kind
B2
Abstract

Example embodiments relate to low-overhead, bidirectional error checking for a serial peripheral interface. An example device includes an integrated circuit. The device also includes a serial peripheral interface (SPI) with a Master In Slave Out (MISO) channel and a Master Out Slave In (MOSI) channel. The MOSI channel is configured to receive a write address, payload data, and a forward error-checking code usable to identify data corruption within the write address or the payload data. The integrated circuit is configured to calculate and provide a reverse error-checking code usable to identify data corruption within the write address or the payload data. Additionally, the integrated circuit is configured to compare the forward error-checking code to the reverse error-checking code. Further, the integrated circuit is configured to write, to the write address if the forward error-checking code matches the reverse error-checking code, the payload data.

Claims (51)

1. A device comprising:

an integrated circuit; and

a serial peripheral interface (SPI) communicatively coupled to the integrated circuit,

wherein the SPI comprises a Master In Slave Out (MISO) channel and a Master Out Slave In (MOSI) channel, and

wherein the integrated circuit is configured to:

provide, to the MOSI channel, a write address within a subcontroller to be written to;

provide, to the MOSI channel, payload data to be written;

provide, to the MOSI channel, a forward error-checking code usable to identify data corruption within the write address or the payload data;

receive, from the MISO channel, a reverse error-checking code calculated by the subcontroller based on the write address and the payload data, wherein the reverse error-checking code is usable to identify data corruption within the write address or the payload data;

compare the reverse error-checking code to the forward error-checking code to determine that a transmission error has occurred; and

initiate, in response to determining that the transmission error has occurred, appropriate remedial action.

2. The device of claim 1 , wherein the appropriate remedial action comprises again:

providing, to the MOSI channel, the write address to be written to; and

providing, to the MOSI channel, the payload data to be written.

3. The device of claim 1 , wherein the appropriate remedial action comprises providing, to the MOSI channel, only a portion of the payload data to be written.

4. The device of claim 1 , wherein initiating the appropriate remedial action comprises initiating a repair or replacement of the device.

5. The device of claim 1 , wherein initiating the appropriate remedial action comprises initiating a repair or replacement of the subcontroller.

6. The device of claim 1 , wherein the appropriate remedial action comprises setting a flag indicating that the device, the subcontroller, an associated lidar device, an associated firing circuit, or associated light emitters are functioning improperly or require repair.

7. The device of claim 1 , wherein the appropriate remedial action comprises decommissioning the device, the subcontroller, an associated lidar device, an associated firing circuit, or associated light emitters.

8. A method comprising:

providing, to a Master Out Slave In (MOSI) channel of a serial peripheral interface (SPI) of a controller, a write address within a subcontroller to be written to;

providing, to the MOSI channel, payload data to be written;

providing, to the MOSI channel, a forward error-checking code usable to identify data corruption within the write address or the payload data;

receiving, from a Master In Slave Out (MISO) channel of the SPI of the controller, a reverse error-checking code calculated by the subcontroller based on the write address and the payload data, wherein the reverse error-checking code is usable to identify data corruption within the write address or the payload data;

comparing the reverse error-checking code to the forward error-checking code to determine that a transmission error has occurred; and

initiating, in response to determining that the transmission error has occurred, appropriate remedial action.

9. The method of claim 8 , wherein the appropriate remedial action comprises again:

providing, to the MOSI channel, the write address to be written to; and

providing, to the MOSI channel, the payload data to be written.

10. The method of claim 8 , wherein the appropriate remedial action comprises providing, to the MOSI channel, only a portion of the payload data to be written.

11. The method of claim 8 , wherein initiating the appropriate remedial action comprises initiating a repair or replacement of the controller.

12. The method of claim 8 , wherein initiating the appropriate remedial action comprises initiating a repair or replacement of the subcontroller.

13. The method of claim 8 , wherein the appropriate remedial action comprises setting a flag indicating that the controller, the subcontroller, an associated lidar device, an associated firing circuit, or associated light emitters are functioning improperly or require repair.

14. The method of claim 8 , wherein the appropriate remedial action comprises decommissioning the controller, the subcontroller, an associated lidar device, an associated firing circuit, or associated light emitters.

15. A system comprising:

a subcontroller;

a controller comprising an integrated circuit, wherein the controller and the subcontroller are communicatively coupled over a serial peripheral interface (SPI) comprising a Master In Slave Out (MISO) channel and a Master Out Slave In (MOSI) channel, and

wherein the integrated circuit is configured to:

provide, to the MOSI channel, a write address within the subcontroller to be written to;

provide, to the MOSI channel, payload data to be written;

provide, to the MOSI channel, a forward error-checking code usable to identify data corruption within the write address or the payload data;

receive, from the MISO channel, a reverse error-checking code calculated by the subcontroller based on the write address and the payload data, wherein the reverse error-checking code is usable to identify data corruption within the write address or the payload data;

compare the reverse error-checking code to the forward error-checking code to determine that a transmission error has occurred; and

initiate, in response to determining that the transmission error has occurred, appropriate remedial action.

16. The system of claim 15 , wherein the appropriate remedial action comprises again:

providing, to the MOSI channel, the write address to be written to; and

providing, to the MOSI channel, the payload data to be written.

17. The system of claim 15 , wherein the appropriate remedial action comprises providing, to the MOSI channel, only a portion of the payload data to be written.

18. The system of claim 15 , wherein initiating the appropriate remedial action comprises initiating a repair or replacement of the controller.

19. The system of claim 15 , wherein initiating the appropriate remedial action comprises initiating a repair or replacement of the subcontroller.

20. The system of claim 15 , wherein the appropriate remedial action comprises setting a flag indicating that the controller, the subcontroller, an associated lidar device, an associated firing circuit, or associated light emitters are functioning improperly or require repair.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 17, 2023
From: KANNAN, KAUSHIK; SOBEL, DAVID
To: WAYMO LLC
Reel/Frame 065603/0521 →
Continuity (2)
Continuation 17542906 · Dec 6, 2021
Related Publication 20240086278A1 · Mar 14, 2024
References Cited (29)
US 8516174B2 · Goerlich et al. · 2013 [cited by applicant]
US 9172565B2 · Cadugan et al. · 2015 [cited by applicant]
US 9378076B2 · Park et al. · 2016 [cited by applicant]
US 10649945B1 · Geerling et al. · 2020 [cited by applicant]
US 10797698B1 · Droz et al. · 2020 [cited by applicant]
US 10884972B2 · Kessler et al. · 2021 [cited by applicant]
US 10929333B2 · Zander et al. · 2021 [cited by applicant]
US 20190258539A1 · Zhu et al. · 2019 [cited by applicant]
US 20200356521A1 · Kessler · 2020 [cited by examiner]
US 20200371977A1 · Sangolli et al. · 2020 [cited by applicant]
US 20210279125A1 · Leisenheimer et al. · 2021 [cited by applicant]
US 20210296783A1 · Rostomyan · 2021 [cited by applicant]
CN 100490002C · 2009 [cited by applicant]
CN 202022205U · 2011 [cited by applicant]
CN 102768650A · 2012 [cited by applicant]
CN 102928846A · 2013 [cited by applicant]
CN 102928846B · 2014 [cited by applicant]
CN 103902485A · 2014 [cited by applicant]
CN 102768650B · 2015 [cited by applicant]
CN 212847008U · 2021 [cited by applicant]
CN 112904353A · 2021 [cited by applicant]
DE 102013112989A1 · 2014 [cited by examiner]
DE 102007028767B4 · 2016 [cited by examiner]
JP 2019016909A · 2019 [cited by applicant]
KR 101637998B1 · 2016 [cited by applicant]
WO 2020148746A1 · 2020 [cited by applicant]
“Automotive LiDAR Collision-Avoidance System”; Megha Agarwal; Honors College Thesis; University of Arizona (May 2017). [cited by applicant]
“Implementation of Low Complex and High Secured SPI Communication System for Multipurpose Applications”; M. Jyothi, et al.; International Journal of Computer Science and Information Technologies, vol. 3 (1), pp. 3214-32… [cited by applicant]
“Common CRC parameters”—(pycrc.org)—(Aug. 18, 2015). (Year: 2015). [cited by applicant]