EMC EM78612 Computer Hardware User Manual


 
EM78612
Universal Serial Bus Microcontroller
24
Product Specification(V1.0) 03.22.2006
(This specification is subject to change without further notice)
7.4.2 USB Device Controller
The USB Device Controller (UDC) built-in in the EM78612 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 EM78612
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, EM78612 is very flexible under USB application because the developer can
freely choose the method of decoding the USB command as dictated by different
situation.
7.4.3 Device Address and Endpoints
EM78612 supports one device address, two endpoints, EP0 for control endpoint, and
EP1 for interrupt endpoint. Sending data to USB host in EM78612 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 EM78612.
7.5 Reset
The EM78612 provides three types of reset: (1) Power-on Reset, (2) WatchDog Reset,
and (3) USB Reset.
7.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.