IP Library Granted Patent US 10,372,646
Granted Patent B2
US 10,372,646 · App. 15/639,832 · Granted Aug 6, 2019

Programmable adapter between slow peripherals and network on-chip interfaces

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,372,646
App. No.
15/639,832
Granted
Aug 6, 2019
Kind
B2
Abstract

A method and system for adapting communication between a low-speed interface and a high-speed interface is disclosed. The method includes retrieving configuration instructions in response to a power-up of a microcontroller, where the configuration instructions associated with a low-speed communication protocol. The method includes sending the configuration instructions to a low-speed interface module causing the low-speed interface module to configure an interface of the low-speed interface module based on the configuration instructions. The method includes receiving, by the interface of the low-speed interface module, data associated with the low-speed communication protocol. The method includes retrieving, by the microcontroller, mapping instructions associated with a high-speed communication protocol. The method also includes sending, by the microcontroller, the mapping instructions to the low-speed interface module, causing the low-speed interface module to convert the data associated with the low-speed communication protocol to data associated with the high-speed communication protocol.

Claims (71)

1. A method for adapting communication between a low-speed interface and a high-speed interface, the method comprising:

retrieving, by a microcontroller and via a memory bus, configuration instructions in response to a power-up of the microcontroller, the configuration instructions associated with a low-speed communication protocol;

sending, by the microcontroller and via an address/data bus, the configuration instructions to a low-speed interface module causing the low-speed interface module to configure an interface of the low-speed interface module based on the configuration instructions;

entering, by the microcontroller, a low-power mode;

receiving, by the interface of the low-speed interface module, data associated with the low-speed communication protocol;

changing, by the low-speed interface module and in response to receiving the data, a state of an interrupt signal causing the microcontroller to wake from the low-power mode;

retrieving, by the microcontroller via an instruction bus, mapping instructions associated with a high-speed communication protocol; and

sending, by the microcontroller and via the address/data bus, the mapping instructions to the low-speed interface module, causing the low-speed interface module to convert the data associated with the low-speed communication protocol to data associated with the high-speed communication protocol.

2. The method of claim 1 , wherein retrieving configuration instructions comprises:

receiving, by the microcontroller and via the address/data bus, a request for the configuration instructions from the low-speed interface module, the request comprising the low-speed communication protocol.

3. The method of claim 1 , wherein retrieving configuration instructions comprises:

executing, by the microcontroller and via the instruction bus, instructions stored at an initial address of an instruction memory, the instruction memory separate from the microcontroller and dedicated to the microcontroller.

4. The method of claim 1 , wherein the address/data bus is separate from the instruction bus, the address/data bus is separate from the memory bus, and the memory bus is separate from the instruction bus.

5. The method of claim 1 , wherein entering the low-power mode comprises:

executing, by the microcontroller and via the instruction bus, a wait for interrupt (WFI) instruction stored at a first address of an instruction memory, the instruction memory separate from the microcontroller and dedicated to the microcontroller.

6. The method of claim 5 , wherein retrieving mapping instructions associated with the high-speed communication protocol comprises:

executing, by the microcontroller and via the instruction bus, a jump to subroutine (JSR) instruction stored at a second address of the instruction memory, causing the microcontroller to execute a subroutine stored at a third address of the instruction memory, the third address stored after the second address.

7. The method of claim 1 , the method further comprising:

receiving, by the microcontroller and via the address/data bus, a request for new configuration instructions from the low-speed interface module, the request for new configuration instructions comprising a new low-speed communication protocol, the low-speed communication protocol different than the new low-speed communication protocol.

8. The method of claim 1 , the method further comprising:

sending, by the microcontroller and via the address/data bus, new mapping instructions to the low-speed interface module causing the low-speed interface module to convert the data associated with the low-speed communication protocol to data associated with a new high-speed communication protocol, the high-speed communication protocol different than the new high-speed communication protocol.

9. The method of claim 1 , the method further comprising:

receiving, by an interface of a high-speed interface module, data associated with the high-speed communication protocol; and

sending, by the microcontroller and via the address/data bus, new mapping instructions to the high-speed interface module causing the high-speed interface module to convert the data associated with the high-speed communication protocol to data associated with the low-speed communication protocol.

10. The method of claim 1 :

wherein the low-speed communication protocol comprises at least one of Advanced Microcontroller Bus Architecture (AMBA) Advanced System Bus (ASB), AMBA Advanced Peripheral Bus (APB), AMBA High-Performance Bus (HPB), and AMBA AXI industry standard interfaces;

wherein the high-speed communication protocol comprises at least one of AMBA ASB, AMBA APB, AMBA HPB, and AMBA AXI industry standard interfaces; and

wherein a data rate of the low-speed communication protocol is lower than a data rate of the high-speed communication protocol.

11. An interface adapter for adapting communication between a low-speed interface and a high- speed interface, the interface adapter comprising:

a microcontroller comprising a first input terminal, a second input terminal, a first bidirectional terminal, a second bidirectional terminal, and a third bidirectional terminal;

a high-speed interface module comprising an output terminal, a first bidirectional terminal, a second bidirectional terminal, and a third bidirectional terminal, wherein the output terminal couples to the second input terminal of the microcontroller;

a low-speed interface module comprising an output terminal coupled to the first input terminal of the microcontroller, a first bi-directional terminal, a second bidirectional terminal coupled to the third bidirectional terminal of the microcontroller and the second bidirectional terminal of the high-speed interface module, and a third bidirectional terminal coupled to the third bidirectional terminal of the high-speed interface module; and

an instruction memory comprising a bidirectional output terminal coupled to the second bidirectional terminal of the microcontroller.

12. The interface adapter of claim 11 , further comprising a memory comprising a bidirectional terminal coupled to the first bidirectional terminal of the microcontroller.

13. The interface adapter of claim 11 , wherein the microcontroller is adapted to send, via the third bidirectional terminal of the microcontroller, configuration instructions associated with a low-speed communication protocol to the low-speed interface module causing the low-speed interface module to configure an interface associated with the first bidirectional terminal of the low-speed interface module based on the configuration instructions.

14. The interface adapter of claim 13 , wherein the low-speed interface module is adapted to change, in response to receiving data on the interface that is associated with a low-speed communication protocol, a state of an interrupt signal causing the microcontroller to wake from a low-power mode.

15. The interface adapter of claim 14 , wherein the microcontroller is further adapted to:

retrieve, via the first bidirectional terminal of the microcontroller, mapping instructions associated with a high-speed communication protocol; and

send, via the third bidirectional terminal of the microcontroller, the mapping instructions to the low-speed interface module, causing the low-speed interface module to convert the data associated with the low-speed communication protocol to data associated with the high-speed communication protocol.

16. The interface adapter of claim 15 , wherein the microcontroller is further adapted to:

execute, via the second bidirectional terminal of the microcontroller, a jump to subroutine (JSR) instruction stored at a first address of the instruction memory, causing the microcontroller to execute a subroutine stored at a second address of the instruction memory, wherein the second address stored after the first address, wherein the subroutine causes the microcontroller to retrieve mapping instructions associated with the high-speed communication protocol.

17. The interface adapter of claim 15 , wherein the high-speed interface module is adapted to receive data associated with the high-speed communication protocol.

18. The interface adapter of claim 17 , wherein the microcontroller is further adapted to:

send, via the third bidirectional terminal of the microcontroller, new mapping instructions to the high-speed interface module causing the high-speed interface module to convert the data associated with the high-speed communication protocol to data associated with the low-speed communication protocol.

19. The interface adapter of claim 17 :

wherein the low-speed communication protocol comprises at least one of Advanced Microcontroller Bus Architecture (AMBA) Advanced System Bus (ASB), AMBA Advanced Peripheral Bus (APB), AMBA High-Performance Bus (HPB), and AMBA AXI industry standard interfaces;

wherein the high-speed communication protocol comprises at least one of AMBA ASB, AMBA APB, AMBA HPB, and AMBA AXI industry standard interfaces; and

wherein a data rate of the low-speed communication protocol is lower than a data rate of the high-speed communication protocol.

20. The interface adapter of claim 17 , wherein the microcontroller is further adapted to:

enter the low-power mode by executing, via the second bidirectional terminal of the microcontroller, a wait for interrupt (WFI) instruction stored at a first address of the instruction memory, the instruction memory separate from the microcontroller and dedicated to the microcontroller.

21. A non-transitory computer readable storage medium to store a computer program configured to execute a method for adapting communication between a low-speed interface and a high-speed interface, the method comprising:

retrieving, by a microcontroller and via a memory bus, configuration instructions in response to a power-up of the microcontroller, the configuration instructions associated with a low-speed communication protocol;

sending, by the microcontroller and via an address/data bus, the configuration instructions to a low-speed interface module causing the low-speed interface module to configure an interface of the low-speed interface module based on the configuration instructions;

entering, by the microcontroller, a low-power mode;

receiving, by the interface of the low-speed interface module, data associated with the low-speed communication protocol;

changing, by the low-speed interface module and in response to receiving the data, a state of an interrupt signal causing the microcontroller to wake from the low-power mode;

retrieving, by the microcontroller via an instruction bus, mapping instructions associated with a high-speed communication protocol; and

sending, by the microcontroller and via the address/data bus, the mapping instructions to the low-speed interface module, causing the low-speed interface module to convert the data associated with the low-speed communication protocol to data associated with the high-speed communication protocol.

22. The non-transitory computer readable storage medium of claim 21 , the method further comprising:

receiving, by an interface of a high-speed interface module, data associated with the high-speed communication protocol; and

sending, by the microcontroller and via the address/data bus, new mapping instructions to the high-speed interface module causing the high-speed interface module to convert the data associated with the high-speed communication protocol to data associated with the low-speed communication protocol.

23. An interface adapter for adapting communication between two interfaces, the interface adapter comprising:

a microcontroller comprising a first input terminal, a second input terminal, a first bidirectional terminal, a second bidirectional terminal, and a third bidirectional terminal;

a transmitting interface module comprising an output terminal, a first bidirectional terminal, a second bidirectional terminal, and a third bidirectional terminal, wherein the output terminal couples to the second input terminal of the microcontroller;

a receiving interface module comprising an output terminal coupled to the first input terminal of the microcontroller, a first bi-directional terminal, a second bidirectional terminal coupled to the third bidirectional terminal of the microcontroller and the second bidirectional terminal of the transmitting interface module, and a third bidirectional terminal coupled to the third bidirectional terminal of the transmitting interface module; and

an instruction memory comprising a bidirectional output terminal coupled to the second bidirectional terminal of the microcontroller.

24. The interface adapter of claim 23 :

wherein the transmitting interface module is associated with a low-speed communication protocol and the receiving interface module is associated with a high-speed communication protocol;

wherein the low-speed communication protocol comprises at least one of Advanced Microcontroller Bus Architecture (AMBA) Advanced System Bus (ASB), AMBA Advanced Peripheral Bus (APB), AMBA High-Performance Bus (HPB), and AMBA AXI industry standard interfaces;

wherein the high-speed communication protocol comprises at least one of AMBA ASB, AMBA APB, AMBA HPB, and AMBA AXI industry standard interfaces; and

wherein a data rate of the low-speed communication protocol is lower than a data rate of the high-speed communication protocol.

Assignments (10)
PARTIAL RELEASE OF SECURITY INTERESTS Recorded Apr 25, 2025
From: JPMORGAN CHASE BANK, N.A., AS AGENT
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 071382/0001 →
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/0001 →
PATENT COLLATERAL AGREEMENT Recorded Aug 23, 2024
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS THE AGENT
Reel/Frame 068762/0494 →
CHANGE OF NAME Recorded Jun 27, 2024
From: SANDISK TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067982/0032 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067567/0682 →
PATENT COLLATERAL AGREEMENT - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
PATENT COLLATERAL AGREEMENT - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
RELEASE OF SECURITY INTEREST AT REEL 052915 FRAME 0566 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 059127/0001 →
SECURITY INTEREST Recorded Feb 6, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 052915/0566 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 10, 2017
From: HENSON, JAMES V.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 043827/0561 →