EM78M611E
Universal Serial Bus Series Microcontroller
22 •
••
•
Product Specification (V1.1) 11.22.2006
(This specification is subject to change without further notice)
Counter Pointer
Data Byte Pointer of EP0
EP0's FIFO
0
1
2
3
4
5
6
7
Bi-directional Uni-directional
Data Byte Pointer of EP1
EP1's FIFO
Data Byte Pointer of EP2
Counter Pointer
0
1
2
3
4
5
6
7
Counter Pointer
0
1
2
3
4
5
6
7
EP1's FIFO
Address
(RD)
0X10
0X11
0X12
0X00
0X01
0X02
Bi-directional
8.5 USB Application
EM78M611E is designed specially for USB device application and has many powerful
functions that support the firmware to free itself from complex situation in various
aspects of USB application.
8.5.1 USB Device Controller
The EM78M611E built-in USB Device Controller (UDC) can interpret the USB Standard
Command and respond automatically without involving firmware. The embedded
Series Interface Engine (SIE) handles the serialization and de-serialization of actual
USB transmission. Thus, a developer can concentrate his efforts more in perfecting
the device actual functions and spend less energy in dealing with USB transaction.
The UDC handles and decodes most Standard USB commands defined in the USB
Specification Rev1.1. If the UDC receives an unsupported command, it will set a flag to
notify the MCU of the receipt of such command. The Standard Commands that the
EM78M611E supports includes; Clear Feature, Get Configuration, Get Interface,
Get Status, Set Address, Set Configuration, Set Feature, and Set Interface.
Each time the UDC receives a USB command, it writes the command into the EP0’s
FIFO. Only when it receives unsupported command will the UDC notify the MCU
through interrupt.
Hence, the EM78M611E is very flexible under USB application since the developer can
freely choose the method of decoding the USB command as dictated by different situation.