
2–5
2.2.2.3.1 Application Code
Application firmware is stored as a binary image of the code. The binary image is mapped to the MCU program
memory space starting at address zero and is stored in the EEPROM as a continuous linear block starting after the
header information. A utility program is available that converts a file in Intel hexidecimal format to a binary image data
file and appends it to the header.
2.2.2.3.2 USB Device Information
The USB device information is comprised of the vendor ID and product ID. Optionally, a manufacturer string and
product string can be included. The boot loader uses this information during enumeration to identify the USB
peripheral device. Table 2-2 shows the format and information contained in the
USB Device Information Section
.
Table 2–2. USB Device Information
OFFSET TYPE SIZE CONTENTS REMARK
H+1 Vendor ID 2 Vendor ID code
H+3 Product ID 2 Product ID code
H+5 M Offset 1 Pointer to manufacture string String is optional
H+6 P Offset 1 Pointer to product string String is optional
H+M Offset Manufacture string - Null terminated
H+P Offset Product string - Null terminated
2.2.2.4 EEPROM Device Type
The TUSB3200 boot loader program supports several different types of serial EEPROM devices. The boot loader
program will automatically identify the EEPROM type from the header information and use the correct serial interface
protocol accordingly. The boot loader program uses an I
2
C slave device address of A0h for the serial EEPROM
device.
These EEPPROM devices require an I
2
C device address in addition to a two byte data word address. These devices
require the full 7-bit I
2
C device address. Depending on the memory size of the EEPROM device being used, the most
significant three or four bits of the two byte data word address are don’t care bits. The EEPROM types supported are:
24C32 and 24C64
All of these EEPROM devices can be used for storing and loading application code. However most applications will
use devices which are capable of storing up to 8K bytes of program code.
2.2.3 USB Enumeration
USB enumeration is accomplished by interaction between the host PC software and the TUSB3200 code. After
power-on reset the boot loader code first reads the information from the EEPROM, then runs the application code.
The application code connects the TUSB3200 to the USB. During the enumeration, the application code identifies
the device as an application specific device and the host loads the appropriate host driver(s). The boot loader and
application code both use the CONT, SDW and FRSTE bits to control the enumeration process. The function connect
(CONT) bit is set to a 1 by the MCU to connect the TUSB3200 device to the USB. When this bit is set to a 1, the USB
data plus pullup resistor (PUR) output signal is enabled, which will connect the pullup on the PCB to the TUSB3200
3.3-V digital supply voltage. When this bit is cleared to a 0, the PUR output is in the 3-state mode. This bit is not
affected by a USB reset. The shadow the boot ROM (SDW) bit is set to a 1 by the MCU to switch the MCU memory
configuration from boot loader mode to normal operating mode. The function reset enable (FRSTE) bit is set to a 1
by the MCU to enable the USB reset to reset all internal logic including the MCU. However, the shadow the ROM
(SDW) and the USB function connect (CONT) bits will not be reset. When this bit is set, the reset output (RSTO
) signal
from the TUSB3200 device will also be active when a USB reset occurs. This bit is not affected by USB reset.
2.2.4 USB Reset
The TUSB3200 can detect a USB reset condition. When the reset occurs, the TUSB3200 responds by setting the
function reset (RSTR) bit in the USB status register (USBSTA). If the corresponding function reset bit in the USB