Purposes
Development Tools
TUSB3410 Features
Board Description
Driver Installation
Schematic
Demo and Testing Program
How to Buy

Purposes
There are two purposes for this board:

Using RAM-based 8052-core USB peripheral chip for 8052 development is ignored. The biggest advantage is that you don't need to burn you code in flash or EPROM any more, code is in the RAM. You can download your code directly from PC through the USB port, so it is very fast and no any times limitation (AT89S can reflash about 1000 times).

16K code space and 2K data (XDATA) can meet most of 8052-based applications. I need to emphasis that the 16K code space is 'VERY' large in USB RAM based-8052 core. Because, most of applications can be divided into small tasks in sequence or independently. You can do one task first, then load new code to do next and so on. Remember, loading new code into the TUSB3410 is just in seconds. A good example is a MCU, EPROM programmer. In traditional way, a flash-based MCU is used. For each type IC, one piece of code is needed. When supported ICs increasing, the code space will increase too. By USB RAM-based MCU, however, everything is changed. The code space is no longer a problem. Writing your code independently for each supported IC and load it into RAM when you need to program this IC.

Besides the standard 8052 features, you can learn DMA, FIFO, I2C, vector interrupt and more.

Development tools

The board is based on TI TUSB3410 chip, which is a full speed USB peripheral controller with standard 8082 core, so any 8052 development tools can be used for it. Keil and IAR C compilers are popular and very reliable compilers. A wide range of options are available for software development, including free assembly language tools and SDCC free C compiler.


TUSB3410 Key Features

USB Features

Fully compliant with USB 2.0 full speed Specifications
Supports 12-Mbps USB data rate (full speed)
Supports USB suspend, resume, and remote wakeup operations
Supports two power source modes:
Bus-powered mode
Self-powered mode
Can support a total of 3-input and 3-output (interrupt, bulk) endpoints

General Features

Integrated 8052 microcontroller with

Built-in two-channel DMA controller for USB/UART bulk I/O
Operates from a 12-MHz crystal
Supports USB suspend and resume
Supports remote wake-up
3.3-V operation with 1.8-V core operating voltage provided by on-chip 1.8-V voltage regulator

Enhanced UART Features

Software/hardware flow control:

Automatic RS485-bus transceiver control, with and without echo
Selectable IrDA mode for up to 115.2 kbps transfer
Software selectable baud rate from 50 to 921.6 k baud
Programmable serial-interface characteristics

Line break generation and detection
Internal test and loop-back capabilities
Modem-control functions (CTS\, RTS\, DSR\, DTR\, RI\, and DCD\)
Internal diagnostics capability
Loopback control for communications link-fault isolation
Break, parity, overrun, framing-error simulation

The TUSB3410 provides bridging between a USB port and an enhanced UART serial port. The TUSB3410 contains all the necessary logic to communicate with the host computer using the USB bus. It contains an 8052 microcontroller unit (MCU) with 16K bytes of RAM that can be loaded from the host or from external on-board memory via an I2C bus. It also contains 10K bytes of ROM that allow the MCU to configure the USB port at boot time. The ROM code also contains an I2C boot loader. All the device functions such as the USB command decoding, UART setup, and error reporting are managed by the internal MCU firmware under the auspices of the PC host.
The TUSB3410 can be used to build an interface between a legacy serial peripheral device and a PC with USB ports, such as a legacy-free PC. Once configured, data flows from the host to the TUSB3410 via USB OUT commands and then out from the TUSB3410 on the SOUT line. Conversely, data flows into the TUSB3410 on the SIN line and then into the host via USB IN commands.

Board Description

What the difference between version A and version B

Resource

DIP Switch settings

DIP

ON

OFF

1

CTS connect to the transceiver CTS disconnect to the RS232 transceiver

2

RTS connect to the transceiver RTS disconnect to the transceiver

3

SIN connect to the transceiver SIN disconnect to the transceiver

4

SOUT connect to the transceiver SOUT disconnect to the transceiver

5

Led2 connect to the P3.3 Led2 disconnect from the P3.3

6

Led3 connect to the P3.4 Led3 disconnect from the P3.4

7

PB2 connect to the DCD PB2 disconnect from the DCD

8

PB3 connect to the DSR PB3 disconnect from the DSR

Jumper setting

Jumper

Close

Open

JP1

24LCXX writing is enabled 24LCXX write protection

Terminal Pads
These pads are used for connecting your prototype circuit to the core. You can use proper connector or direct solder wires to those pads.

Pin name

Function

3.3V

To power your circuit in prototype area. Max current should be less than 200mA

P3.0, P3.1, P3.3, P3.4

Four GPIO pins with special function, see 8052 datasheet. The P3.3 and P3.4 are connected to LED2 and LED3 when DIP5 and DIP6 are ON. If you want P3.3 or P3.4 as output, DIP5 or DIP6 can be ON or OFF. When you want P3.3 or P3.4 as an input, it is recommended to turn off the DIP5,6. There is a strong pull-up to those pins when the DIP5,6 are ON.

DTR

Output only. The Led1 is shared with this pin

DCD

Input only. When DIP7 is ON, the PB2 is connected to the DCD. Driving this pin is a little dangerous. Because the PB2 may be pressed at any time, it is possible short your circuit output.

DSR

Input only. When DIP8 is ON, the PB3 is connected to the DSR. Driving this pin is a little dangerous. Because the PB3 may be pressed at any time, it is possible short your circuit output.

CTS

Input only. See DIP1 setting

RTS

Output only. See DIP2 setting

SIN

Input only. See DIP3 setting

SOUT

Output only. See DIP4 setting

CLKOUT

This is a programmable clock output pin. It can be configured to 3.556MHz or the UART baudrate. You can disable the clock as well.

5V

This power is directly connected to the USB 5V without any protection. If you do need to use it, make sure no short circuit and the max current should be less than 300mA.. Adding a current limit is highly recommended, such as TPS2054 or similar ICs. Any short or heavy load may damage you PC.

RS232 communication
RS232 DB-9S connector and ICL3232E chip (with ±15KV ESD protection)
It supports hardware handshake(RTS/CTS), Xon/Xoff and NONE handshaking. A standard female-female 9 pin cable (DTE to DTE RS232 null modem cable) is used to communicate with PC and a female-male DTC to DEC cable to communicate with other devices . The typical connection is shown as follows:



Driver installation

TI AppLoader Driver

In general, the TI AppLoader Driver is needed to load your 8052 code from host PC through the USB port to this board. The exception is that you only want your code downloaded from serial EEPROM through I2C.

The TI AppLoader Driver is a Windows USB device driver that enables firmware for TI's TUSB3410 device to be kept on the PC rather than in the USB device's EEPROM. When a USB system using this device is inserted onto the bus, Windows associates it with this driver, which downloads the firmware to the device.

The install should be run before the device (board) is initially plugged into the system. If it has already been plugged into that PC, and Windows enumerated it as an "Unknown/Other" device, the device should be kept plugged in during the driver installation.

CONFIGURATION OF THE FIRMWARE FILE:
The name of the firmware file that will get downloaded to the USB system is specified in the INF file for the driver. The INF file can be found in the \WINDOWS\INF directory. On Windows98SE, it is named "TIUpDatr.inf". On Windows2000, WindowsME and WindowsXP, it is named "OEMxxx.INF", where the "xxx" is a system-generated incrementing number based on how many third party drivers have been installed on that system.

The header at the top of the INF reads:
;
; TI Application Firmware Loader Driver INF
;

The name of the firmware file to be downloaded is listed under [SourceDisksFiles] and [DriverCopyFiles] AND referenced under the [DriverHwAddReg] section. (These values MUST match).

By default, the INF is configured to look for a particular *.bin file in the \WINDOWS\SYSTEM32\DRIVERS directory. This needs to be an absolute binary file. If using an IAR compiler, this is the *.i51 output file. (Either change the name to the one specified in the INF, or change the INF as described below.) If using a Keil compiler to produce your own firmware file, it is necessary to process the *.hex output file with Keil's "hex2bin.exe" utility. (This utility can be downloaded from the support page on Keil's website at http://www.keil.com.) After processing the *.hex file with the utility, the resulting *.bin file should be placed in the directory. Again, make sure the name matches the names in the INF file. The default name is TSB3410.bin.

If you would like to use a name other than the one specified, simply replace all the instances of that name in the INF with the filename of choice. The current installation of this driver should then be uninstalled and an "Update Driver" operation should be performed in order to cause windows to reprocess the INF and update the firmware filename in the registry.

When using AppLoader, it is best to not use an EEPROM on the I2C bus. First, it isn't necessary, since there is no need to keep custom device/string descriptors on the USB device, as there is for a production system. Further, an EEPROM may interfere with AppLoader operation if the VID/PID in the EEPROM's device descriptor don't match the ones in the AppLoader INF, or if there is firmware in the EEPROM.

By default, the AppLoader INF recognizes the default VID/PID pairs present within the bootcode of the TUSB3210 device. Therefore, the easiest way to ensure download is to make sure there is no EEPROM on the I2C interface.

Virtual COM port device driver

The installation program for the TUSB3410 UART PDK simply copies the required driver and INF files to a directory of the users choosing. By default, this directory is:

<Drive>:\Program Files\Texas Instruments\TI TUSB3410 <Win2K or Win9x> Driver Installation Files Setup

It is best to run the install first to create this directory of files, and then plug the device. When Windows detects the device it will prompt the user for a driver (via the "Found New Hardware Wizard"). When prompted for a driver, point the wizard to this directory of driver files (by selecting the option in the wizard that allows you to specify a location of the driver files and then browse to that directory). Then say "OK" and all the files should load without issue.

NOTE: The wizard will actually prompt for files twice. Point it to this same directory both times. This is the expected behavior.

If you have already plugged in your device and Windows has determined it to be an "Unknown/Other" device, you must select the device in the Windows Device Manager (Under the Unknown/Other Device Class), display the properties for the device (by double-clicking it), and then clicking the "Update Driver" button on the "Driver" properties tab. This will then bring up a wizard that you need to point to the directory of driver files created by the install as described above.

Driver Uninstallation

The driver may be uninstalled by going to "Add/Remove Programs" in the Windows Control Panel, or by running the install again after it has been previously installed.

Download your firmware to the board
After built your code by any compiler and the binary code has been copied to the default path, just press the RESET button on the board, the code will be downloaded into the board automatically.

CAUTION:
During the soldering, you must disconnect the USB cable. Your body and soldering iron should ground properly. Otherwise, the board may be damaged.
Connect to 5V logic
The board works with 3.3V logic. If you do need to connect this board to 5V logic, keep in mind:
Normally, no problem to drive a 5V logic input. But it's possible there is problem to drive multiple hysteresis inputs.
The board cannot accept 5V input. The simplest way is using two resistors or a transistor to handle it.

Schematic

The schematic is in PDF format.

How to buy?

The price of the board is US$44.95. You may try my ebay auction to get a better deal.

I accept PayPal and money order. If you need one, please let me know at: xo_chen@yahoo.com