Dynamically allocating space in RAM shared between multiple USB endpoints and USB host
AssigneeStandard Microsystems Corporation
InventorJeffrey Clay Dunnihoo
Life of this patent
Estimating the term…
Loading patent…
AssigneeStandard Microsystems Corporation
InventorJeffrey Clay Dunnihoo
Estimating the term…
The present invention relates to a peripheral microcontroller for providing a high performance USB (Universal Serial Bus) connection to existing peripheral architectures (such as printers and disk drives with existing microcontrollers) and to new peripheral architectures (such as a 4-port USB-to-Ethernet Bridge). The USB peripheral microcontroller includes three units. A Serial Interface Engine (SIE) connects to a USB host or USB hub. A Microcontroller (MCU) Interface Unit connects to one or more peripheral devices such as ISA-like peripherals. A Memory Management Unit (MMU) provides a buffering mechanism between the SIE and MCU Interface Unit. The MMU utilizes a unique data packet buffering architecture. Packets received at the MMU from a peripheral for transmission to the USB host and packets received at the MMU from the USB host for transmission to a peripheral are buffered in a RAM. The capacity of the RAM is dynamically allocatable among various USB endpoints and the USB host so that the size of the RAM is minimized. The data path of the inventive USB peripheral controller is also highly advantageous. The SIE accesses the packet buffer RAM via a DMA controller in the MMU. The MCU Interface Unit accesses the packet buffer RAM via a microcontroller or a DMA controller. An arbiter in the MMU enables these multiple masters to access the packet buffer RAM.
A USB microcontroller comprising:
A USB microcontroller comprising:
A USB microcontroller comprising:
A memory management unit for a USB peripheral controller comprising a single RAM whose address space is dynamically allocatable between packets directly received from a plurality of USB endpoints and a USB host, a receive queue for queuing identifiers of said packets associated with said USB host, a transmit queue associated with each of said USB endpoints for queuing identifiers of said packets associated with the corresponding USB endpoint.
A USB peripheral microcontroller comprising:
A USB microcontroller comprising:
Dependencies are inferred from the claim text.