9.2.2.2 UTMI+ (USB 2.0 Transceiver Macrocell Interface+) Interface

This is the external interface connecting the SmartFusion 2 USB OTG controller to an off-chip UTMI PHY device. For UTMI interface, all the interface signals are routed through the FPGA fabric on to the MSIOs.

Table 9-3. UTMI+Interface Signals at Fabric Interface in SmartFusion 2 Device
Signal NameDirectionDescription
UTMI_SUSPENDMOutIndicates asynchronous Suspend mode (derived from signals from both CLK and XCLK flip-flops). When enabled through bit 0 of the Power register, goes low when the device is in Suspend mode. Otherwise high (intended to drive a UTMI PHY).
UTMI_LINESTATE[1:0]InShows the current state of single-ended receivers. LINESTATE[0] reflects the state of D+; LINESTATE[1] reflects state of D-.

00: SE0
01: J State
10: K State
11: SE1

UTMI_OPMODE[1:0]OutSelects Operating mode

00: Normal operation
01: Non-driving
10: Bit stuffing and NRZI encoding disabled
11: Reserved

UTMI_XDATAIN[7:0]InReceived data
UTMI_XDATAOUT[7:0]OutData to be transmitted
UTMI_TXVALIDOutTransmit data valid. Indicates that valid data has been transmitted.
UTMI_TXREADYInTransmit data ready. Indicates that the transmitter requires data.
UTMI_RXVALIDInReceive data valid. Indicates that valid data has been received.
UTMI_RXACTIVEInIndicates that a valid packet is being received.
UTMI_RXERRORInIndicates that the received packet is about to be aborted due to an error.
UTMI_XCVRSEL[1:0]OutTransceiver select

  • 00: HS transceiver

  • 01: FS transceiver

  • 10: LS transceiver

  • 11: FS transceiver, LS packet
UTMI_TERMSELOutTermination select.
  • When 0, high speed termination is enabled
  • when 1, full speed termination is enabled

May be used to switch the pull-up resistor on D+

UTMI_VBUSVALIDInCompares VBus to selected VBus valid threshold (required to be between 4.4V and 4.75V)
  • 1: Above the VBus valid threshold
  • 0: Below the VBus valid threshold
UTMI_AVALIDInCompares VBus to session valid threshold for a B device (required to be between 0.8V and 2V)
  • 1: Above the session valid threshold
  • 0: Below the session valid threshold
UTMI_SESSENDInCompares VBus to session end threshold (required to be between 0.2 V and 0.8 V)

  • 0: Above the session end threshold
  • 1: Below the session end threshold
UTMI_SESSENDInCompares VBus to session end threshold (required to be between 0.2V and 0.8V)

  • 0: Above the session end threshold
  • 1: Below the session end threshold
UTMI_DRVVBUSOutEnables VBus power (used when the USB controller operates as an A device)
UTMI_CHRGVBUSOutCharges VBus (used during session request when the USB controller operates as a B device)
UTMI_DISCHRGVBUSOutDischarges VBus (used by B devices to ensure that the VBus is low enough before starting a session request protocol (SRP))
UTMI_HOSTDISCONInHost mode only; must be asserted when a high speed disconnect occurs (in accordance with the UTMI+ specification).

Full/low speed connections are monitored through the LINESTATE signal.

UTMI_DPPULLDOWNOutEnables a pull-down resistor within the transceiver on the D+ line
  • Low when the USB controller is operating as a peripheral
  • High when USB controller is operating as a host
UTMI_DMPULLDOWNOutEnables a pull-down resistor within the transceiver on the D– line. Needs to be high, when the USB controller is used for point-to-point communications.
UTMI_IDDIGInIndicates USB controller connector type. High = B-type, Low = A-type.
UTMI_IDPULLUPOutEnables for IDDIG signal generation
UTMI_VSTATUS[7:0]InPHY status data; 8-bit wide as per UTMI+ specifications
UTMI_VCONTROL[3:0]OutPHY control data; 8-bit wide as per UTMI+ specifications
UTMI_VCONTROLLOADMOutActive-low signal; asserted when new control information is required to be read – if implemented
UTMI_RXVALIDHInTied permanently low at the fabric interface

UTMI+Level3 signals are routed through the FPGA fabric onto MSIOs.

Figure 9-4. Block Diagram for Connections Between USB Controller and UTMI PHY through FPGA Fabric
Important: The FPGA fabric design must implement a 'AND' logic between UTMI_TXVALID and UTMI_TXREADY for proper data transmission.

For more information on USB 2.0 PHY interfaces refer to the following links: