IP Library Granted Patent US 8,977,790
Granted Patent B2
US 8,977,790 · App. 12/032,286 · Granted Mar 10, 2015

Peripheral module register access methods and apparatus

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 8,977,790
App. No.
12/032,286
Granted
Mar 10, 2015
Kind
B2
Abstract

An embodiment of an electronic system includes a processing element, a bus controller, and a peripheral module. The processing element executes machine readable code for performing a data transfer of an x-bit wide data value between the processing element and the peripheral module. Performing the data transfer includes providing a processing element-provided address corresponding to a y-bit wide data register of the peripheral module, where y is less than x. The bus controller receives the processing element-provided address, and in response, performs a series of multiple data transfers with the peripheral module. This includes providing a first peripheral address for a first data transfer of the series, and providing at least one different peripheral address for at least one other data transfer of the series. The peripheral module maps the first peripheral address and the at least one different peripheral address to the y-bit wide data register.

Claims (44)

1. An electronic system comprising:

a processing element adapted to execute machine readable code that causes the processing element to perform a data transfer of an x-bit wide data value, wherein performing the data transfer includes providing a first read/write signal and a single processing element-provided address that corresponds to a y-bit wide data register of a peripheral module, and wherein y is less than x;

a bus controller adapted to receive the read/write signal and the single processing element-provided address, and in response, to perform a series of multiple data transfers with the peripheral module, wherein performing the series includes providing a second read/write signal and a first peripheral address for a first data transfer of the series, and providing different peripheral addresses for each other data transfer of the series, and wherein the series includes x/y sequential data transfers; and

the peripheral module configured to map the first peripheral address to the y-bit wide data register, and also to map the different peripheral addresses to the y-bit wide data register.

2. The electronic system of claim 1 , wherein the peripheral module comprises:

a y-bit wide, first data register, which is operably coupled to a data bus; and

address decode logic, operably coupled to an address bus, and configured to map a plurality of different address offsets to all or a same portion of the first data register.

3. The electronic system of claim 1 , further comprising:

a system bus; and

at least one memory block, wherein the at least one memory block and the processing element are operatively coupled together through the system bus, and wherein the processing element is further adapted to execute machine readable code to fetch data values from the memory block over the system bus.

4. The electronic system of claim 1 , wherein the data transfer includes a write data transfer to write the x-bit wide data value to the peripheral module, and wherein the processing element is further adapted to provide the x-bit wide data value to the bus controller.

5. The electronic system of claim 1 , wherein the data transfer includes a read data transfer to read the x-bit wide data value from the peripheral module, and wherein the bus controller is further adapted to read a plurality of y-bit wide data values from the peripheral module, to build the x-bit wide data value from the plurality of y-bit wide data values, and to provide the x-bit data value to the processing element.

6. The electronic system of claim 1 , further comprising:

a peripheral bus operatively coupled between the bus controller and the peripheral module, wherein the peripheral bus includes a z-bit wide data bus, and wherein z is less than or equal to y.

7. The electronic system of claim 1 , wherein the processing element is a processing element selected from a group that includes a processor core, a non-core processing element, and a Direct Memory Access unit.

8. An electronic system comprising:

a peripheral module having:

a y-bit wide, first data register, which is operably coupled to a data bus, and address decode logic, operably coupled to an address bus, and configured to map a plurality of different address offsets to the first data register, wherein the address decode logic is configured to:

map a first address offset of the plurality of different address offsets to the first data register for a y-bit wide data transfer, and

map x/y other address offsets of the plurality of different address offsets to the first data register for an x-bit wide data transfer that is performed as a series of x/y, y-bit wide data transfers to sequential addresses.

9. The electronic system of claim 8 , wherein each address of the sequential addresses is an address that corresponds to 8-bit byte data.

10. The electronic system of claim 8 , wherein the peripheral module further comprises:

one or more, y-bit wide additional data registers, which are operably coupled to the data bus.

11. The electronic system of claim 8 , wherein the peripheral module further comprises:

a read/write signal interface adapted to receive a read/write signal, wherein the peripheral module is adapted to transfer a y-bit wide data value from the first data register to a read data bus of the data bus when the read write signal is in a read state, and when the address decode logic has mapped an address offset for an address present on an address bus to the first data register.

12. The electronic system of claim 8 , wherein the peripheral module further comprises:

a read/write signal interface adapted to receive a read/write signal, wherein the peripheral module is adapted to transfer a y-bit wide data value from a write data bus of the data bus to the first data register when the read write signal is in a write state, and when the address decode logic has mapped an address offset for an address present on an address bus to the first data register.

13. The electronic system of claim 8 , wherein the peripheral module further comprises:

an interrupt request generator adapted to produce an interrupt signal.

14. The electronic system of claim 8 , wherein the peripheral module further comprises:

peripheral function circuitry, operably coupled to the first data register, wherein the peripheral function circuitry is adapted to perform a primary function of the peripheral module, and to write data to or read data from the first data register.

15. The electronic system of claim 14 , wherein the peripheral function circuitry is adapted to perform a cyclic redundancy check calculation.

16. The electronic system of claim 8 , further comprising:

a processing element adapted to execute machine readable code that causes the processing element to perform a data transfer of an x-bit wide data value, wherein performing the data transfer includes providing a first read/write signal and a processing element-provided address that corresponds to the first data register of the peripheral module, and wherein y is less than x; and

a bus controller adapted to receive the read/write signal and the processing element-provided address, and in response, to perform a series of multiple data transfers with the peripheral module, wherein performing the series includes providing a second read/write signal and a first peripheral address for a first data transfer of the series, and providing at least one different peripheral address for at least one other data transfer of the series.

17. The electronic system of claim 8 , wherein the peripheral module is a module selected from a group that includes a cyclic redundancy check calculation module, a checksum calculation module, a serial peripheral interface, a universal asynchronous receiver/transmitter, a display controller, and a user interface controller.

18. A method for transferring data between a processing element and a peripheral module, the method comprising the steps of:

receiving, by the peripheral module, a first read/write signal and a plurality of different addresses from an address bus; and

mapping, by the peripheral module, a plurality of different address offsets corresponding to the plurality of different addresses to a single y-bit wide data register by mapping a first address offset of the plurality of different address offsets to the data register for a y-bit wide data transfer and mapping x/y other address offsets of the plurality of different address offsets to the data register for an x-bit wide data transfer, wherein y is less than x; and

transferring, by the peripheral module, a y-bit wide data value from the y-bit wide data register to a data bus when the first read/write signal is in a read state, and transferring the y-bit wide data value from the data bus into the y-bit wide data register when the first read/write signal is in a write state.

19. The method of claim 18 , further comprising the steps of:

executing, by the processing element, machine readable code that causes the processing element to perform a data transfer of an x-bit wide data value, wherein performing the data transfer includes providing a second read/write signal and a processing element-provided address that corresponds to the y-bit wide data register of the peripheral module, and wherein y is less than x;

receiving, by a bus controller, the second read/write signal and the processing element-provided address; and

performing, by the bus controller in response to receiving the second read/write signal, a series of multiple data transfers with the peripheral module, wherein performing the series includes providing the first read/write signal and an address of the plurality of different addresses for each data transfer in the series.

Assignments (31)
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040925 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Feb 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V. F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 052917/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040928 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Jan 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 052915/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 037486 FRAME 0517. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Dec 10, 2019
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 053547/0421 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042762 FRAME 0145. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051145/0184 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051030/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042985 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051029/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051029/0387 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050745/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050744/0097 →
CORRECTIVE ASSIGNMENT TO CORRECT THE TO CORRECT THE APPLICATION NO. FROM 13,883,290 TO 13,833,290 PREVIOUSLY RECORDED ON REEL 041703 FRAME 0536. ASSIGNOR(S) HEREBY CONFIRMS THE THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS.. Recorded Feb 20, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: SHENZHEN XINGUODU TECHNOLOGY CO., LTD.
Reel/Frame 048734/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded May 9, 2017
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 042985/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded May 9, 2017
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 042762/0145 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENTS 8108266 AND 8062324 AND REPLACE THEM WITH 6108266 AND 8060324 PREVIOUSLY RECORDED ON REEL 037518 FRAME 0292. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Feb 1, 2017
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 041703/0536 →
CORRECTIVE ASSIGNMENT TO CORRECT THE NATURE OF CONVEYANCE LISTED CHANGE OF NAME SHOULD BE MERGER AND CHANGE PREVIOUSLY RECORDED AT REEL: 040652 FRAME: 0180. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER AND CHANGE OF NAME. Recorded Jan 12, 2017
From: FREESCALE SEMICONDUCTOR INC.
To: NXP USA, INC.
Reel/Frame 041354/0148 →
CHANGE OF NAME Recorded Nov 8, 2016
From: FREESCALE SEMICONDUCTOR INC.
To: NXP USA, INC.
Reel/Frame 040652/0180 →
RELEASE OF SECURITY INTEREST Recorded Nov 7, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 040928/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 21, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V., F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 040925/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12092129 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Jul 14, 2016
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039361/0212 →
SUPPLEMENT TO THE SECURITY AGREEMENT Recorded Jun 16, 2016
From: FREESCALE SEMICONDUCTOR, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039138/0001 →
SECURITY AGREEMENT SUPPLEMENT Recorded Mar 7, 2016
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 038017/0058 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 13, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037518/0292 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 12, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037486/0517 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037354/0688 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037356/0553 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037356/0143 →
SECURITY AGREEMENT Recorded Nov 6, 2013
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 031591/0266 →
SECURITY AGREEMENT Recorded Jun 18, 2013
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 030633/0424 →
SECURITY AGREEMENT Recorded May 13, 2010
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 024397/0001 →
SECURITY AGREEMENT Recorded Mar 15, 2010
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A.
Reel/Frame 024085/0001 →
SECURITY AGREEMENT Recorded Jul 7, 2008
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A.
Reel/Frame 021194/0593 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 6, 2008
From: CIRCELLO, JOSEPH C.
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 020611/0524 →