IP Library Granted Patent US 10,282,269
Granted Patent B2
US 10,282,269 · App. 14/659,328 · Granted May 7, 2019

Read technique for a bus interface system

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 10,282,269
App. No.
14/659,328
Granted
May 7, 2019
Kind
B2
Abstract

Embodiments of a bus interface system are disclosed. The bus interface system includes a master bus controller and a slave bus controller coupled to a bus line. The master bus controller and the slave bus controller are configured to perform read operations using error codes and error checks. For example, the error codes may be cyclic redundancy codes (CRC). In this manner, accuracy is ensured during communications between the slave bus controller and the master bus controller.

Claims (121)

1. A bus interface system comprising:

a bus line;

a master bus controller coupled to the bus line, wherein the master bus controller is configured to:

store a read command;

generate a first set of data pulses along the bus line representing the read command;

generate a first error code based on the read command; and

generate a second set of data pulses along the bus line representing the first error code; and

a slave bus controller coupled to the bus line, wherein no other bus line connects the master bus controller and the slave bus controller, and wherein the slave bus controller is configured to:

decode the first set of data pulses representing the read command into a decoded read command;

generate a second error code based on the decoded read command;

decode the second set of data pulses representing the first error code into a decoded error code; and

perform a first error check on the decoded read command by comparing the decoded error code and the second error code.

2. The bus interface system of claim 1 wherein the master bus controller is further configured to:

transfer control of the bus line to the slave bus controller after transmitting the first set of data pulses and the second set of data pulses;

monitor the bus line to detect whether the slave bus controller is responsive during an error tolerance window; and

abort the read command when the slave bus controller is unresponsive during the error tolerance window.

3. The bus interface system of claim 1 wherein the master bus controller is configured to:

generate the first set of data pulses along the bus line representing the read command in accordance with a pulse width modulation (PWM) bus protocol; and

generate the second set of data pulses along the bus line representing the first error code in accordance with the PWM bus protocol.

4. The bus interface system of claim 3 wherein the slave bus controller is configured to:

decode the first set of data pulses in accordance with the PWM bus protocol; and

decode the second set of data pulses in accordance with the PWM bus protocol.

5. The bus interface system of claim 1 wherein:

the master bus controller is configured to generate the first error code based on the read command by being configured to implement a first cyclic redundancy code (CRC) algorithm on the read command so as to generate the first error code.

6. The bus interface system of claim 5 wherein the slave bus controller is configured to generate the second error code based on the decoded read command by being configured to implement a second CRC algorithm on the decoded read command so as to generate the second error code.

7. The bus interface system of claim 6 wherein the first CRC algorithm is the same as the second CRC algorithm.

8. The bus interface system of claim 6 wherein the slave bus controller is configured to perform the first error check on the decoded read command by being configured to compare the decoded error code and the second error code to detect whether the second error code and the decoded error code match.

9. The bus interface system of claim 8 wherein the slave bus controller comprises a first memory device configured to:

store slave data that includes data segments; and

assign first memory addresses to the data segments within the slave data.

10. The bus interface system of claim 9 wherein the read command identifies a first memory address of the first memory addresses and wherein the slave bus controller is further configured to generate a third set of data pulses along the bus line representing a data segment of the data segments at the first memory address when the decoded read command passes the first error check.

11. The bus interface system of claim 10 wherein the slave bus controller is further configured to abort the read command when the decoded read command fails the first error check.

12. The bus interface system of claim 10 wherein the slave bus controller is further configured to:

generate a third error code based on the data segment stored at the first memory address; and

transmit a fourth set of data pulses along the bus line representing the third error code.

13. The bus interface system of claim 12 wherein the master bus controller is further configured to:

decode the third set of data pulses into a decoded data segment;

decode the fourth set of data pulses into a second decoded error code;

generate a fourth error code based on the decoded data segment; and

perform a second error check on the decoded data segment by comparing the second decoded error code and the fourth error code.

14. The bus interface system of claim 13 wherein the master bus controller further comprises a second memory device configured to:

store a slave data image;

assign second memory addresses to the slave data image so that the second memory addresses each correspond to the first memory addresses; and

store the decoded data segment at a second memory address of the second memory addresses corresponding to the first memory address of the slave data when the decoded data segment passes the second error check.

15. The bus interface system of claim 1 , wherein the bus interface system is a one wire bus interface system.

16. A method of operating a bus interface system that includes a master bus controller and a slave bus controller coupled to a single bus line, wherein no other bus line connects the master bus controller and the slave bus controller, the method comprising:

generating a first set of data pulses along the single bus line representing a read command with the master bus controller;

generating a first error code based on the read command;

generating a second set of data pulses along the single bus line representing the first error code with the master bus controller;

decoding the first set of data pulses representing the read command into a decoded read command with the slave bus controller;

generating a second error code based on the decoded read command with the slave bus controller;

decoding the second set of data pulses representing the first error code into a decoded error code with the slave bus controller; and

performing a first error check on the decoded read command by comparing the decoded error code and the second error code.

17. The method of claim 16 wherein:

generating the first set of data pulses along the bus line is in accordance with a pulse width modulation (PWM) bus protocol; and

generating the second set of data pulses along the bus line is in accordance with the PWM bus protocol.

18. The method of claim 17 wherein:

decoding the first set of data pulses is in accordance with the PWM bus protocol; and

decoding the second set of data pulses is in accordance with the PWM bus protocol.

19. The method of claim 16 , wherein the bus interface system is a one wire bus interface system.

20. A bus interface system comprising:

a bus line;

a slave bus controller coupled to the bus line, wherein the slave bus controller comprises a first memory device configured to store slave data having data segments assigned to first memory addresses, the slave bus controller is configured to:

generate a first set of data pulses along the bus line representing a data segment within the slave data at a first memory address of the first memory addresses;

generate a first error code based on the data segment; and

generate a second set of data pulses along the bus line representing the first error code; and

a master bus controller coupled to the bus line, wherein no other bus line connects the master bus controller and the slave bus controller, and wherein the master bus controller comprises a second memory device configured to store a slave data image assigned with second memory addresses corresponding to the first memory addresses of the slave data, wherein the master bus controller is configured to:

decode the first set of data pulses representing the data segment into a decoded data segment;

generate a second error code based on the decoded data segment;

decode the second set of data pulses representing the first error code into a decoded error code;

perform an error check on the decoded data segment by comparing the decoded error code and the second error code; and

store the decoded data segment at a second memory address of the second memory addresses corresponding to the first memory address when the decoded data segment passes the error check.

21. The bus interface system of claim 20 wherein the slave bus controller is configured to:

generate the first set of data pulses along the bus line representing the data segment within the slave data in accordance with a pulse width modulation (PWM) bus protocol; and

generate the second set of data pulses along the bus line representing the first error code in accordance with the PWM bus protocol; and

the master bus controller is configured to:

decode the first set of data pulses in accordance with the PWM bus protocol; and

decode the second set of data pulses in accordance with the PWM bus protocol.

22. The bus interface system of claim 20 , wherein the bus interface system is a one wire bus interface system.

23. A bus interface system comprising:

a first bus line;

a second bus line;

a slave bus controller coupled to the first bus line, wherein the slave bus controller comprises a first memory device configured to store slave data having data segments assigned to first memory addresses, the slave bus controller is configured to:

generate a first set of data pulses along the first bus line representing a data segment within the slave data at a first memory address of the first memory addresses;

generate a first error code based on the data segment; and

generate a second set of data pulses along the first bus line representing the first error code; and

a master bus controller coupled to the first bus line, wherein the master bus controller comprises a second memory device configured to store a slave data image assigned with second memory addresses corresponding to the first memory addresses of the slave data, wherein the master bus controller is configured to:

decode the first set of data pulses representing the data segment into a decoded data segment;

generate a second error code based on the decoded data segment;

decode the second set of data pulses representing the first error code into a decoded error code;

perform an error check on the decoded data segment by comparing the decoded error code and the second error code; and

store the decoded data segment at a second memory address of the second memory addresses corresponding to the first memory address when the decoded data segment passes the error check;

wherein the master bus controller is coupled to the second bus line and is further configured to:

decode an input data signal representing a read command in accordance with a second bus protocol along the second bus line into a decoded read command, wherein the decoded read command identifies the slave bus controller and the first memory address of the first memory addresses; and

obtain the decoded data segment at the second memory address of the slave data image in response to the decoded read command.

24. The bus interface system of claim 23 wherein the master bus controller is further configured to transmit a second input data signal along the second bus line representing the decoded data segment in accordance with the second bus protocol.

25. A master bus controller comprising:

a first memory device configured to store a slave data image assigned to first memory addresses that includes a first memory address that corresponds to a second memory address for a data segment stored by a slave bus controller configured to be coupled to a single bus line, wherein the master bus controller is configured to be coupled to the single bus line, and no other bus line connects the master bus controller and the slave bus controller;

a data modulator configured to generate a first set of data pulses representing a read command that identifies the slave bus controller and identifies the second memory address; and

a data demodulator configured to:

decode a second set of data pulses representing the data segment into a decoded data segment; and

perform a first error check on the decoded data segment;

wherein the first memory device is further configured to store the decoded data segment at the first memory address of the slave data image in response to the decoded data segment passing the first error check.

26. The master bus controller of claim 25 wherein:

the data modulator is configured to generate the first set of data pulses in accordance with a pulse width modulation (PWM) bus protocol; and

the data demodulator is configured to decode the second set of data pulses in accordance with the PWM bus protocol.

27. The master bus controller of claim 25 wherein the data demodulator is further configured to:

decode a third set of data pulses representing a first error code into a decoded error code;

generate a second error code based on the decoded data segment; and

perform the first error check on the decoded data segment by comparing the decoded error code and the second error code.

28. A slave bus controller comprising:

a memory device configured to store a data segment assigned to a first memory address; and

a data demodulator configured to:

decode a first set of data pulses representing a read command that identifies the first memory address into a decoded read command, wherein the read command is received from a master bus controller coupled to a single bus line, wherein the slave bus controller is configured to be coupled to the single bus line, and no other bus line connects the master bus controller and the slave bus controller;

generate a first error code based on the decoded read command;

decode a second set of data pulses representing a second error code into a decoded error code; and

perform a first error check on the decoded read command by comparing the decoded error code and the first error code.

29. The slave bus controller of claim 28 wherein the data demodulator is further configured to pass the decoded read command to the memory device in response to the decoded read command passing the first error check.

30. The slave bus controller of claim 29 further comprising a data modulator configured to receive the data segment from the memory device and generate a third set of data pulses representing the data segment.

31. The slave bus controller of claim 30 wherein the data modulator is further configured to generate a third error code based on the data segment and generate a fourth set of data pulses representing the third error code.

32. The slave bus controller of claim 28 wherein the data demodulator is configured to decode the first set of data pulses and the second set of data pulses in accordance with a pulse width modulation (PWM) bus protocol.

Assignments (2)
MERGER Recorded Jun 16, 2016
From: RF MICRO DEVICES, INC.
To: QORVO US, INC.
Reel/Frame 039196/0941 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 10, 2016
From: NGO, CHRISTOPHER TRUONG; HIETALA, ALEXANDER WAYNE
To: RF MICRO DEVICES, INC.
Reel/Frame 038879/0624 →