This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

USB 1.0/ USB 1.1 Protocol implementation in any MCU supported by MSP 430 Launchpad

Other Parts Discussed in Thread: MSP430G2403, MSP430F5500, TUSB3410UARTPDK, TUSB3410, MSP430USBDEVPACK

Hi,

I want to know if any MSP430 supported by launchpad has the capability to interface with USB of PC by a Protocol implemented on it.As far as I know MSP430G2403 is the only mcu with highest ram (516 bytes) supported by launchpad.

For what I have seen few of these MCUs support USART so I am wondering if USB 1.0 or USB 1.1 protocol should be implemented on these.

 

So please any one tell me if any such MCU exists which can be burned by MSP430 Launchpad and USB 1.1 Protocol be implementable on it.

 

Also tell me how to start coding for a USB 1.0 protocol implementation. How to start and where to look etc.

 

 

  • Hi,

    Let me reframe my question, i have just now checked

    http://www.obdev.at/products/vusb/index.html

    its an opensource code for implementing USB1.1 protocol on any AVR microcontroller, can the c code be modified to work for MSP430 aswell.

    I am very much specific on implementing my project on MSP430 series., PLZ help

  • Please throw some light over my problem.. Please tell me how to start up with drivers at Host end and device end.

  • Bit-bang USB code is hard to port to other MCU architecture, because the code deeply depends on clock cycles of core instruction. You have to study on low-level USB protocols so much, which is usually supported by USB hardware and you don't need to know. It's just waste of your valuable time.

    Not just this difficulty. There are many other reasons.

    1) Incomplete implementation of USB spec
    Bit-bang USB sacrifices USB reliability to make things simple.
    - Differential buffer on D+/D- line
    - DPLL at each edge of NRZI

    2) Tight timing on firmware
    On bit-bang USB implementation, your firmware tasks are disturbed by USB support so long, while a USB transaction continues. And device can't predict the timing when host starts a transaction. Your firmware tasks can't guarantee response deadline less than the longest USB transaction.

    3) No future
    Within four or five years, advanced silicon process, currently applied to PC MPUs, becomes available for micro-controllers, too. And then, most of MCU should integrate USB peripheral, like I2C, SPI, UART. In those days, no one would consider on bit-bang USB at all, like we don't apply bit-bang I2C, bit-bang SPI and bit-bang UART for usual application now.


    There are so many low-cost USB MCUs on the market.
    Atmel - AT90USB
    NXP - LPC13xx, LPC11U00
    Microchip - PIC18F14K50, 18F2455
    SiLabs - C8051F327
    Renesas - uPD780730
    etc.
    Why do you stick to bit-bang USB on MSP430?

    Tsuneo

  • Hi Tsuneo,


    Thanks a lot. Your information is very helpful.

    Tsuneo Chinzei said:
    Why do you stick to bit-bang USB on MSP430?

    I thought of using bit-bang usb on MSP430 just for the reason to make hardware simple and cost efficient.  I do agree with your points, So considering that in mind.. I think i have the following options

    1. To use MSP430F5500 ( TIs latest USB + MSP430)

    2. To use MSP430x2xx +any of the following low cost MCU have listed.

    Tsuneo Chinzei said:

    There are so many low-cost USB MCUs on the market.
    Atmel - AT90USB
    NXP - LPC13xx, LPC11U00
    Microchip - PIC18F14K50, 18F2455
    SiLabs - C8051F327
    Renesas - uPD780730

    On my second choice i may also have to include TUSB3410, its as you must be aware TIs chip, I want to know one thing about this chip, is it preprogrammed for usb transmission or should we program it using  'TUSB3410UARTPDK Evaluation Module' , in the specification it seems to have only ROM and no FLASH memory meaning its preprogrammed however if that is the case what is the use of TUSB3410UARTPDK Evaluation Module ?

    I am bit novice to this field thats why i am skeptical on ordering boards at my private cost before gaining some confidence infact that is the reason why i stuck to using MSP430 with its low cost launchpad.  Thanks to TI for free samples. However I hope to make something big. at this point i may want to ask you another question, now consider my option 1 for which i have to program on MSP430F5500, suppose i have my code ( other than USB stuff)  so far written on MSP430x2xx will it be easily transformable on to MSP430F5500 so that later on i can configure USB interface also?

     

    I have few questions on what you have said also

    Tsuneo Chinzei said:
    2) Tight timing on firmware
    On bit-bang USB implementation, your firmware tasks are disturbed by USB support so long, while a USB transaction continues. And device can't predict the timing when host starts a transaction. Your firmware tasks can't guarantee response deadline less than the longest USB transaction.

    Say I want to transfer 2KBytes of data, it shouldn't take a fraction of second even at 8 MHz rate or am i wrong? Please tell me for low data transfers close to 2-4 KB what will be maximum delay i can see.?

     

    Also I want to know how to write code at the PC end? what language to use and etc. Please throw some input.

    Looks like you have enough knowledge on bit-bang usb, may i have any useful information you have?

    Thanks again

    Srihari Marni

     

     

  • OK, you are a faithful customer of TI :-)

    For small-lot production, MSP430x2xx + USB-UART chip pair is better.
    USB-UART chips
    - FTDI FT232R
    - SiLabs CP2102
    etc.
    I don't recommend you TUSB3410 for new design. It's an old generation chip, which requires an external crystal.

    In small lot production, development cost weighs more than chip cost. Using USB-UART chip, you don't need to touch to USB at all, and quickly finish your project.

    For mass production, MSP430 with on-chip USB peripheral, like MSP430F55xx gets advantage. Chip cost is much lower than above pair. But you have to take time to learn TI USB stack. USB stack hides complicate USB details from your code.

    MSP430 USB Developers Package
    http://focus.ti.com/docs/toolsw/folders/print/msp430usbdevpack.html

    > Please tell me for low data transfers close to 2-4 KB what will be maximum delay i can see.?

    Around 100ms for USB-UART chips. Less than 10ms for MSP430F55xx.

    > Also I want to know how to write code at the PC end?

    For USB-UART, chip manufacturers provide PC device drivers.
    You have two options, virtual COM port (VCP) or "direct" driver.
    - Using VCP driver, the chip appears as a COM port on your PC.
    - Direct driver doesn't expose any COM port. Instead, it is accessed over dedicated DLL. This DLL provides APIs like COM port.

    For MSP430F55xx, CDC (Communication Device Class) or HID (Human Interface Device) is popular. Above TI USB stack also provides examples of these USB classes, both for firmware and PC code.

    Tsuneo

  • Hi Tsuneo,

    I just have two more question. For MSP430F55xx if i choose not to get MSP-FET430UIF is there any why i can make my own custom board for burning code into FLASH memory? Where can i get any documentation for the same?


    Thanks

    Srihari


  • > is there any why i can make my own custom board for burning code into FLASH memory? Where can i get any documentation for the same?

    BSL (MSP430)
    http://processors.wiki.ti.com/index.php/BSL_(MSP430)

    MSP-FET430UIF works not just as a programmer but as a debug pod.
    It'll help you on your development phase so much.

    Tsuneo

**Attention** This is a public forum