Universal Serial Bus general-purpose device controller

rsdio writes:  Depending upon the quality of open-source 8051 compiler tools, this might be a good chip (one of many like the EzUSB) for open hardware development without being stuck with Microchip’s partially open tool chain.

The TUSB3210 is a USB-based controller targeted as a general-purpose MCU with GPIO. The TUSB3210 has 8K × 8 RAM space for application development. In addition, the programmability of the TUSB3210 makes it flexible enough to use for various other general USB I/O applications. Unique vendor identification and product identification (VID/PID) can be selected without the use of an external EEPROM. Using a 12-MHz crystal, the onboard oscillator generates the internal system clocks. The device can be programmed via an inter-IC (I2C) serial interface at power on from an EEPROM, or optionally, the application firmware can be downloaded from a host PC via USB. The popular 8052-based microprocessor allows several third-party standard tools to be used for application development.

Join the Conversation

2 Comments

  1. the device withc is similar to this is the TUSB3410 (nokia designations anyone)
    its a USB-uart device, it also has an onboard MC 8052, and there is a TI virtual com driver for it, here are the licenses.

    The Windows and Mac versions are available under TI’s no-cost
    license agreement. In addition, a Linux version is available under GNU General Public License for the
    following kernels:
    • Linux kernel 2.4
    • Linux kernel 2.6.

    here is the site of the driver
    http://www.ti.com/tool/tusbwinvcp
    there it states
    The source code is not downloadable, but rather, all requests for the source code must be reviewed prior to the code being supplied. To submit a request for the source code please send an e-mail to usb@ti.com and the product team will follow-up with the requestor.

    anyone know what is this no cost licence?

  2. I did some investigation into the TUSB3210 some years ago. It works very nicely with the Keil PK51 toolchain, but I suppose that SDCC could be coaxed into use, instead. The 8KB RAM for application space is loaded at power-on from either an external I2C EEPROM, or via USB from the host (TI supplies a driver and I recall that this was a pretty easy way to go). Debugging support is nonexistent, so you’re pretty much stuck with UART and printf() if you want to know what’s going on in there.

    It’s a 12-clock-per-cycle core, so don’t expect miracles in terms of throughput – which is a bit ironic given that it’s a full speed USB device. The 8KB of RAM relocates to CODE space (read only) after boot, so the only r/w RAM on-chip during normal operation is the usual 256B in DATA space and 512B of RAM in XRAM space for USB endpoint and buffers.

    The I/O is classic 8051 quasi-bidirectional style, as is are the on-chip peripherals: UART, two timers. Nothing remarkable there.

    All in all, I think it’s not a bad chip, certainly suitable for very simple control or HID-type devices. The 8K of code space, scant data space, and lack of on-chip debugging pose some real limitations in terms of application complexity. At the time I was looking at the TUSB3210, the USB support from MCHP was not anywhere near what it is today – so it was a pretty attractive solution then.

Leave a comment

Your email address will not be published. Required fields are marked *

Notify me of followup comments via e-mail. You can also subscribe without commenting.