USB OTG Function Controller is a highly integrated USB OTG solution for USB OTG applications. SI22USBOTG11 is a USB OTG Function Controller Core designed as per USB OTG specification, which is a supplement to USB 2.0 specification. It has the standard UTM+ Interface at Host end and a generic Microcontroller Interface at the Device end. It is a single core solution, incorporating USB OTG operating in Link Layer of Open System Interconnect (OSI) which significantly reduces the time and cost of implementing complex USB OTG target system designs.
The USB On-The-Go specification has been introduced to provide a Low-cost connectivity solution for consumer portable devices such as mobile phones, PDAs, digital still cameras and MP3 players. Devices that are solely peripherals initiate transfers through a Session Request Protocol (SRP) while Dual-Role Devices support both SRP and Host Negotiation Protocol (HNP).
SI22USBOTG11 is user-configurable and individually programmable for Bulk/Interrupt or Isochronous transfers. Access to the FIFOs associated with these endpoints and to the internal Control / Status Registers is either via an 8 bit micro-controller bus.
Following are the two modes of operation that SI22USBOTG11 supports,
1. Peripheral mode
2. Host mode
When acting as a Peripheral, SI22USBOTG11 provides all the encoding, decoding and checking needed in sending and receiving USB packets – interrupting the CPU only when endpoint data has been successfully transferred. When acting as a Host, SI22USBOTG11 additionally maintains a Frame Counter and automatically schedules SOF. It also includes support for the Session Request and Host Negotiation Protocols required for point-to-point communications, details of which are given in the USB On-The-Go supplement to the USB 2.0 specification. The initial operation of SI22USBOTG11 (Host mode or in Peripheral mode) depends on whether it is being used as an A-device or a B-device. When SI22USBOTG11 is operating as an A-device, it is configured to operate in Host mode in which it generates transactions. When operating as a B-device, SI22USBOTG11 is configured to operate in Peripheral mode, which is same as a normal USB 2.0 peripheral. The SI22USBOTG11 determines whether it is the ‘A’ device by monitoring the ID pin on the mini-AB receptacle. Using HNP, the roles (Host or Peripheral) can be changed in runtime without the knowledge of the user.