IP Library Granted Patent US 7,975,094
Granted Patent B2
US 7,975,094 · App. 10/826,886 · Granted Jul 5, 2011

Programmable I/O interface

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 7,975,094
App. No.
10/826,886
Granted
Jul 5, 2011
Kind
B2
Abstract

The invention provides an architecture and method for implementing a programmable I/O interface. The primary function provides a generic reconfigurable interface for serial communications between a laser printer controller and the print mechanism. The design also supports vertical page synchronization (top of page detection).

Claims (18)

1. A programmable interface comprising:

a register file having a plurality of registers, each register having a type;

a run control register;

a microcontroller configured to bidirectionally communicate with the register file and the run control register;

a Code Store SRAM configured to bidirectionally communicate with the microcontroller; and

executable code including one or more instructions;

wherein the Code Store SRAM and the run control register are configured to bidirectionally communicate with a system processor that is external to the programmable interface; and

wherein the system processor is configured to load the executable code onto the Code Store SRAM and is further configured to signal the microcontroller, via the run control register, to begin execution of the one or more instructions included in the executable code; and

wherein the plurality of registers includes (i) a general-purpose microcontroller register, (ii) a timer register, (iii) an external input/output (I/O) interface register, (iv) an internal I/O register, (v) a shared register, (vi) an interrupt register, and (vii) a first-in, first-out (FIFO) register configured to communicate with a direct memory access (DMA) controller.

2. A programmable interface, as defined in claim 1 , wherein the external I/O interface register includes an edge detect logic.

3. A programmable interface, as defined in claim 1 , wherein the executable code implements a laser printer mechanism communications interface and a vertical top-of-page synchronization interface.

4. A programmable interface, as defined in claim 1 , wherein the executable code is selected from a group that includes serial interfaces, parallel interfaces, serial peripheral interface (SPI), Synchronous Serial Interface (SSI), MicroWire, Inter Integrated Circuit (I2C), control area network (CAN), UART, IEEE1284, LCD interface, front panel interface, and MODEM.

5. A programmable interface, as defined in claim 1 , wherein the system processor is configured to bidirectionally communicate with the register file.

6. A programmable interface, as defined in claim 1 , wherein the timer register is configured to (i) increment independently based on a selected system timebase, (ii) generate timing for protocols to be implemented, and (iii) detect protocol timeout errors.

7. A programmable interface, as defined in claim 1 , wherein the shared register is accessed by both the system processor and the microcontroller, and wherein the shared register is configured to emulate a peripheral status, wherein an access priority grants write access to either the system processor or the microcontroller for accessing the to the shared register.

8. A programmable interface, as defined in claim 1 , wherein the external I/O interface register is configured to (i) facilitate the microcontroller to observe and control actual external electrical signals associated with a protocol of communications of the programmable interface, and (ii) facilitate implementation of a control state machine in the microcontroller.

9. A programmable interface, as defined in claim 1 , wherein the internal I/O register is configured to (i) facilitate an I/O subsystem to communicate with internal dedicated function blocks of the programmable interface.

10. A programmable interface, as defined in claim 1 , wherein the interrupt register is configured to (i) facilitate an I/O subsystem to provide interrupt-driven status to the system processor.

Assignments (8)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2020
From: CAVIUM INTERNATIONAL
To: MARVELL ASIA PTE, LTD.
Reel/Frame 053475/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 20, 2020
From: MARVELL INTERNATIONAL LTD.
To: CAVIUM INTERNATIONAL
Reel/Frame 052918/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2020
From: MARVELL INTERNATIONAL TECHNOLOGY LTD.
To: MARVELL INTERNATIONAL LTD.
Reel/Frame 051735/0882 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED AT REEL: 017206 FRAME: 0666. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded May 6, 2016
From: AGILENT TECHNOLOGIES, INC.
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 038632/0662 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 18, 2007
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: MARVELL INTERNATIONAL TECHNOLOGY LTD.
Reel/Frame 020000/0001 →
SECURITY AGREEMENT Recorded Feb 24, 2006
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: CITICORP NORTH AMERICA, INC.
Reel/Frame 017207/0882 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 22, 2006
From: AGILENT TECHNOLOGIES, INC.
To: AVAGO TECHNOLOGIES GENERAL IP PTE. LTD.
Reel/Frame 017206/0666 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 12, 2004
From: TAYLOR, RICHARD DAVID; MONTIERTH, MARK DAVID; KEITHLEY, DOUGLAS GENE
To: AGILENT TECHNOLOGIES, INC.
Reel/Frame 015029/0646 →