Interface and microcontroller
AssigneeRaspberry Pi Ltd
InventorsLuke Michael WREN, Terence Leslie MACKOWN, Nicholas James FRANCIS
Life of this patent
Estimating the term…
Loading patent…
AssigneeRaspberry Pi Ltd
InventorsLuke Michael WREN, Terence Leslie MACKOWN, Nicholas James FRANCIS
Estimating the term…
An I/O circuit block comprising: a register unit; an input/output unit connected to a plurality of terminals; an instruction memory; and a state machine configured to execute a program stored in the instruction memory to transfer data between the register unit and the input/output unit. The state machine is configured to execute instructions of an instruction set, the instruction set consisting of: an IN instruction to transfer a specified number of bits into the register unit; and an OUT instruction to transfer a specified number of bits from the register unit; a JMP instruction; a WAIT instruction; a PUSH instruction; a PULL instruction; a MOV instruction; an IRQ instruction; and a SET instruction.
An I/O circuit block comprising:
An I/O circuit block according to any one of the preceding claims wherein instructions executed by the state machine include an operation to set a value to at least one of the plurality of terminals concurrently with execution of another operation defined by the instruction.
An I/O circuit block according to any one of the preceding claims wherein the register unit comprises an input FIFO register and an output FIFO register, the input FIFO register and the output FIFO register being configurable as a single, double length FIFO register for input or output.
An I/O circuit block according to any one of the preceding claims wherein the state machine comprises an input shift register and an output shift register and is operable in an auto pull mode wherein a first predetermined number of bits are transferred from the register unit to the output shift register when the content of the output shift register is less than a first threshold and/or in an auto push mode wherein a second predetermined number of bits are transferred to the register unit from the input shift register when the content of the input shift register is greater than a second threshold.
An I/O circuit block according to any one of the preceding claims wherein the state machine is configured to also execute instructions from one or more of:
An I/O circuit block according to any one of the preceding claims wherein the state machine comprises a wrap control field specifying a sequence of instructions which are executed repeatedly.
An I/O circuit block according to any one of the preceding claims wherein the state machine comprises a configurable clock divider to enable the state machine to operate at a lower clock rate than an external clock.
An I/O circuit block according to any one of the preceding claims having a plurality of state machines and a corresponding plurality of register units.
An integrated circuit comprising at least one I/O circuit block according to any one of the preceding claims.
An assembler for a state machine having an instruction set consisting of:
A program executable by a state machine having an instruction set consisting of:
Dependencies are inferred from the claim text.