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 Communication

Other Parts Discussed in Thread: MSP430F5635

Hi,

I am working on the project, in which, four MSP430F5635 boards are connected with PC through USB HUB. In software, CDC USB communication class will be used for all MSP430F5635.

By taking reference from TI's USB examples and USB Descriptor Tool, one board can talk with PC. But how can I use these examples & tool for Four Boards?

Thanks in advance.

Regards,

Khyati

  • There is no limitation for number of devices that can talk with PC in TI USB stack. Your PC side can talk will all of them, because each CDC device will be enumerated as different COM port. 4 devices, 4 ports.
  • Thanks zrno for reply.

    As I am using TI's USB Descriptor Tool, they have mentioned that Max. number of devices, can attach on USB are three. So, I am not able to add 4th device. Is it any way to add the 4th port?

    I also want to know, Is there any special considerations or registration required for USB Hub or it will work like a normal USB?

    Thanks.

    Regards,
    Khyati
  • I am not using TI USB Descriptor Tool, so I can be wrong, but I guess that limitation for max 3 CDC devices is related to composite interface (one MSP device with up to 3 communication / port lines with PC). It is not related to number of MSP devices.
  • Ok. Thanks zrno.
  • Hi Khyati,
    Zrno is correct. TI USB Descriptor tool is limited to 3 CDC devices because the USB hardware is capable of only handling 8 IN endpoints and 8 OUT endpoints. Endpoint 0 for both IN and OUT are used as control endpoints. Since CDC devices require two IN Enpoints per device only three CDC composite devices can be configured. However you can configure four individual CDC devices.

    Regards,
    Arthi
  • Hi Arthi,

    Thanks for descriptive reply. 

    Yes you right, the MSP430 USB module has seven non-EP0 IN endpoints available so only 3 devices can be connected with USB Descriptive Tool.

    But in my case, I also feel only one CDC device will be used with MSP430.

    Can you tell me, Is there any special considerations or registration required for USB Hub or it will work like a normal USB?

    And also which .dll can be used for CDC Communication while creating GUI in Host side?

    Thanks with Regards,

    Khyati

  • You don't need any dll. CDC working as standard serial port, with open / read / write / close file functions on Win / Linux / OS X.
  • Khyati, are you trying to create a HUB device from the USB stack? The stack only supports CDC, HID and MSC type devices. It does not have support for HUB devices. You can, of course, connect the CDC device to a HUB and it will work like a normal USB CDC device.

    The first time you connect the MSP430 CDC device to your computer, you will need to install the .inf file. This file is part of the example folder. Other than that you will not need any other .dll file.

    Regards,
    Arthi
  • "zrno soli

    Sep 14, 2016 9:58 PM

    In reply to Khyati Raval:

    You don't need any dll. CDC working as standard serial port, with open / read / write / close file functions on Win / Linux / OS X."

    and

    "

    In reply to Khyati Raval:

    Khyati, are you trying to create a HUB device from the USB stack? The stack only supports CDC, HID and MSC type devices. It does not have support for HUB devices. You can, of course, connect the CDC device to a HUB and it will work like a normal USB CDC device.

    The first time you connect the MSP430 CDC device to your computer, you will need to install the .inf file. This file is part of the example folder. Other than that you will not need any other .dll file.

    Regards,
    Arthi"

    Hi Zrno & Arthi,

    Thanks for your reply.

    Actually, I was finding the solution for host code.

    As I am new at USB Communication, I am not able to understand how to add .inf file or initialization for CDC USB at host side. I am aware of .inf file installation through device manager, but I don't know how to call .inf file in host software(VB/VB.NET).

    Can you provide me details for coding in VB/VB.NET? Is there any example available for CDC communication in VB/VB.NET which can talk with micro controller?


    Thanks with Regards,

    Khyati

  • Well, if you want to create your own INF file, then the Descriptor Tool that comes with the USB Developers Package can be used to create it. You can find out more about the Descriptor Tool and the INF file in the documents included with the Developers Package.

    Regards,
    Arthi
  • Arthi,

    Yes, we can create .INF file and I have already created it from Descriptor Tool.
    But now I want to know is, how can I use it in host side software?
    There are examples for controller software, but I am not able to find out any CDC example for host application in TI's USB package.
    Can you give me details for host side software (I require in VB/VB.NET)?
    Now Controller code is written already, only thing remaining at controller side is, it should be checked practically. And it will check in some next upcoming days.
    So meanwhile, I require some guidance for host software.

    Thanks with Regards,
    Khyati
  • Khyati Raval said:
    Arthi,

    Yes, we can create .INF file and I have already created it from Descriptor Tool.
    But now I want to know is, how can I use it in host side software?
    There are examples for controller software, but I am not able to find out any CDC example for host application in TI's USB package.
    Can you give me details for host side software (I require in VB/VB.NET)?

    Name of the INF file is irrelevant, and your host side application will not use INF file. CDC enumeration is automatically done by OS, not by your host side VB application. CDC is virtual serial port, and your host application communicate with CDC device like with any serial port device. And I believe that you can find open source VB serial port examples without me/us.
  • Hi Zrno,

    Thanks a lot for INF file information.

    I am aware of serial communication, but new at USB communication. That's why, these all confusions are created.

    Can you tell me, if I can connect host application just like a serial port, then how it will take VID/PID of USB port? Means is it necessary to mention in host software or automatically taken from device manager/.INF file?

    Thanks with Regards,

    Khyati

  • No, your host application will not use INF file.

    Your device on Win should be enumerated as COMxx, and than your host application need to open that COM port for communication.

    If you want to your application know if on that COM port is your device (search VID/PID by COM number or port name on non-Win OS) or not, this is not so simple,and it is different foreach OS. You can ask Google for this examples (maybe open source for VB already exists). Or you can find this inside TI Debug Stack coded in C++.

  • Thanks Zrno.
    I will try and let you inform in this post.

    Again Thanks all for a good support.

    Regards,
    Khyati

**Attention** This is a public forum