MCF548x Reference Manual, Rev. 3
Freescale Semiconductor 29-1

Chapter 29

USB 2.0 Device Controller

29.1 Introduction

This chapter provides an overview of the USB 2.0 device controller module of the xMCF548x. Connection
examples and circuit board layout considerations are also provided.
The USB Specification, Revision 2.0 is a recommended supplement to this chapter. It can be downloaded
from http://www.usb.org. Chapter 2 of this specification, Terms and Abbreviations, provides definitions of
many of the terms found here.

29.1.1 Overview

The Universal Serial Bus specification describes three types of devices that can connect to the bus. The
USB host is the bus master, and periodically polls peripherals to initiate data transfers. There is only one
host on the bus. The USB function (or USB device) is a bus slave. It can communicate only with a USB
host. It does not generate bus traffic and only responds to requests from the host. A USB hub is a special
class of USB function that adds additional connection points to the bus for more USB devices.
The integrated USB 2.0 device controller of the xMCF548x implements most of the USB protocol in
hardware, hiding all direct interaction with the USB. The memory mapped registers allow the user to
enable or disable the USB module, control characteristics of the individual endpoints, and monitor traffic
flow through the module without having to manage the low-level details of the USB protocol. A set of
intelligent FIFOs are implemented that allow for easy data management via the ColdFire core or the
multichannel DMA.
While this module hides all direct interaction with the protocol, knowledge of the USB is required in order
to properly configure the device for operation on the bus. Programming requirements are covered in this
chapter, with additional information in the USB Specification, Revision 2.0.

29.1.2 Features

The xMCF548x USB 2.0 device controller provides the following features:
Compliant with the USB Specification, Revision 2.0
Supports high-speed (480 Mbps) and full-speed (12 Mbps) devices
One control endpoint and 6 endpoints programmable as interrupt, bulk, or isochronous
Fully automatic processing of the SET_FEATURE, CLEAR_FEATURE,
GET_CONFIGURATION, GET_INTERFACE, GET_STATUS, and SET_ADDRESS USB
standard device requests
Processing with application intervention of the SET_CONFIGURATION, SET_INTERFACE,
SET_DESCRIPTOR, GET_DESCRIPTOR, and non-standard USB device requests
Administration for up to 7 endpoints, 32 configurations, 32 interfaces, and 32 alternate settings
Support for remote wakeup
ColdFire core and multichannel DMA access to the intelligent FIFOs that handle all packet retries
and data framing
Internal USB 2.0 physical layer transceiver
4 KByte of FIFO RAM and 1 KByte of descriptor RAM