
EM78M612
Universal Serial Bus Microcontroller Series
This specification may change without further notice
.
2004/4/28 V1.1
27
8.4.2 USB Device Controller
The USB Device Controller (UDC) built-in in the EM78M612 can interpret the USB Standard
Command and response automatically without involving firmware. The embedded Series
Interface Engine (SIE) handles the serialization and deserialization 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 UDC receives an unsupported command, it will set a flag to notify
MCU the receipt of such command. The Standard Commands that EM78M612 supports
includes;
Clear Feature
,
Get Configuration
,
Get Interface
,
Get Status
,
Set Address
,
Set
Configuration
,
Set Feature, and
Set Interface
.
Each time UDC receives a USB command, it writes the command into EP0’s FIFO. Only
when it receives unsupported command that the UDC will notify the MCU through interrupt.
Therefore, EM78M612 is very flexible under USB application because the developer can
freely choose the method of decoding the USB command as dictated by different situation.
8.4.3 Device Address and Endpoints
EM78M612 supports one device address, two endpoints, EP0 for control endpoint, and EP1
for interrupt endpoint. Sending data to USB host in EM78M612 is very easy. Just write data
into EP’s FIFO, then set flag, and the UDC will handle the rest. It will then confirm that the
USB host has received the correct data from EM78M612.
8.5 Reset
The EM78M612 provides three types of reset
:
(1) Power-on Reset, (2) WatchDog Reset,
and (3) USB Reset.
8.5.1 Power-On Reset
Power-on Reset occurs when the device is attached to power and a reset signal is initiated.
The signal will last until the MCU becomes stable. After a Power-on Reset, the MCU enters
into following predetermined states (see below), and then, it is ready to execute the program.
a. The program counter is cleared.
b. The TCC timer and WatchDog timer are cleared.
c. Special registers and Special Control registers are all set to initial value.
The MCU also has a low voltage detector that detects low output power condition.
Whenever the output voltage of the 3.3V regulator decreases to below 2.2V, a reset signal is
set off.