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.

TSW14J56EVM: HSDCPRO not recognizing J56 board in "Select Board" screen

Part Number: TSW14J56EVM

Here’s what I’m seeing.

When I physically connect the Signal Hound (signal generator) USB and the TSW14J56 USB I can see them both under Device Manager.  At this point they are physically connected but no handle between the software and the physical devices has been established. If I then try to acquire a handle to the signal generator I can do so, but only if I do it first. But then the ‘Select Board” dialog box in HSDC Pro comes up empty.

With only the TI board physically  connected, through the TI HSDC Pro software I can select ‘Connect to Board’ and get a dialog box with the serial number of the board and successfully connect to it.

If I then physically connect the signal generator I can then open the Signal Hound VSG60 software and select ‘Connect’ and see its serial number and successfully connect to it also.

At this point I think all would be fine if I wasn’t trying to automate it.

 

The problem exists if both devices are physically connected at the same time.

Anytime the signal generator is physically connected, I can connect to it through the software if I do it first, but when I then try to connect to the TI board though it’s software, the ‘Connect to Board’ dialog box comes up empty, the hub’s connection LED for the signal generator flashes, and the signal generator disconnects (it still shows up in device manager though).

I see the LED flash and I get the disconnect sound even if the signal generator handle has not yet been established.

It’s almost like HSDC Pro is resetting the USB. I don’t think it’s a data throughput problem because at this point it is just attempting to make a connection.

 

And this is weird… As an experiment I tried the same thing using the Signal Hound Spectrum analyzer and its Spike software instead of the sig-gen to see if it acts the same way.

In this case it did not disconnect the spectrum analyzer, but when I try to connect the TI board, its serial number now shows up twice in the ‘Connect to Board’ dialog box in HSDC Pro. I can select either one and it will connect correctly.

 

The thought was it was probably a power issue with too high of a current draw on the USB hub, but I hooked up an externally powered USB hub (12V/4A) and it had no effect. I also tried using 2 separate powered USB hubs and a variety of configurations of connecting the USB devices through the hub, the PC docking station, and the PC ‘s own USB port. Nothing helped. I’ve separated them between the USB and USB3 ports so they are on different USB hubs, still no change.

 

While looking into this further I found that both devices appear to be using the same Cypress USB driver (version 1.2.3.10 dated 8/21/2014). I have a feeling that this is the root of the problem. Windows does not find an updated driver when I attempt to update it though.

 

I hope this makes sense. Any help would be greatly appreciated

  • The HSDC Pro version is 5.00

    The TSW14J56 PCB is Rev E

  • Tony,

    By any chance, does the VSG60A use a USB3.0 peripheral? If so, does it use a Cypress FX3 device? The GUI may be having trouble with selecting which interface to connect to because it see's both USB devices but the VSG60A is not enumerated in a way it can be recognized.

    Regards,

    Jim 

  • Steve,

    We have faced a similar issue with regards to USBFX3 enumeration in the past and we fixed the same in a new version of HSDC Pro that will be released in the near future. This issue was caused because the HSDC Pro gets NULL as an output when trying to read the Serial Number of the Non-TSW FX3 devices.

     

    Please down load this soon to release version of HSDC Pro (v5.10) from the link below.

     

    Regards,

     

    Jim

    txn.box.com/.../pej8epidh3xyvb6vlyutqisjp0tsjm5d

  • Both of those cases are true. I will try downloading the new HSDC Pro and see if that resolves the problem

    Thank you

  • I tried HSDC Pro 5.1 and it made some improvement but did not completely resolve the issue.

    What I'm seeing is if the VSG60 is connected, if I then open HSDC Pro it will now correctly populate the Connect Board dialog box with the TSW serial number, but the VSG60 will still disconnect( I hear USB disconnect sound when the dialog box opens, and again when I click OK). Often if the VSG60 is physically connected and I try to 'Connect to the Board' in HSDC Pro, the Select Board dialog box will open and quickly close and be followed by this error message. (I did see this a few times in v5.0 also but seems more often now)

    It is interesting to note that I do not see the same disconnect issue with the Signal Hound BB60C spectrum analyzer which also uses the Cypress FX3 driver. Where I was seeing the TSW serial number show up twice in v5.0 when connecting the BB60C, it now correctly shows up once in v5.1 

  • Steve,

    We could not duplicate your problem. Please do the following to help us trouble-shoot this issue:

     

    1.       Make a local copy of “USBFX3.dll” available at the HSDC Pro installation Location.

    a.       Default HSDC Pro installation Location : C:\Program Files (x86)\Texas Instruments\High Speed Data Converter Pro

    2.       Replace the newly attached USBFX3.dll in the HSDC Pro install location.

    3.       Try to reproduce the issue mentioned earlier.

    4.       Share the log file that will be created in the following location: "C:\Users\Public\Documents\Texas Instruments\High Speed Data Converter Pro\HSDC_Pro_FX3_Issue_Log.txt"

    5.       After doing the above-mentioned steps, replace the older “USBFX3.dll”(from the local copy).

     

    Regards,

    Jim

    https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/73/USBFX3.dll

  • Here is the log file generated when using the new USBFX3.dll

    ********************Get_Device_List****************
    device_count = 2
    USBDevice->Close()
    *****Initialize_FX3*****
    dev_id = 0
    ELSE
    eptCnt = 4
    e = 1
    e = 2
    e = 3
    No Error Return 0
    Initialize_FX3(UCHAR(i)), i = 0
    ctrlendpt->XferData len = 0
    len == 0/Else dev_name = Unknown~D[MuuCuC, sl_no = xxxxxxxx
    Parsing Completed
    board_name = Unknown,
    board_sl_no = xxxxxxxx,
    extern C int Close_FX3()
    *****Initialize_FX3*****
    dev_id = 1
    INVALID_HANDLE
    Initialize_FX3(UCHAR(i)), i = 1
    ********************Get_Device_List****************
    device_count = 1
    USBDevice->Close()
    *****Initialize_FX3*****
    dev_id = 0
    ELSE
    eptCnt = 3
    e = 1
    e = 2
    No Error Return 0
    Initialize_FX3(UCHAR(i)), i = 0
    ctrlendpt->XferData len = 16
    len != 0 dev_name = TSW14J56revD
    len != 0 sl_no = T842JFJWrevD
    Parsing Completed
    board_name = TSW14J56revD,
    board_sl_no = T842JFJW,
    extern C int Close_FX3()
    ********************Get_Device_List****************
    device_count = 1
    USBDevice->Close()
    *****Initialize_FX3*****
    dev_id = 0
    ELSE
    eptCnt = 3
    e = 1
    e = 2
    No Error Return 0
    Initialize_FX3(UCHAR(i)), i = 0
    ctrlendpt->XferData len = 16
    len != 0 dev_name = TSW14J56revD
    len != 0 sl_no = T842JFJWrevD
    Parsing Completed
    board_name = TSW14J56revD,
    board_sl_no = T842JFJW,
    extern C int Close_FX3()
    extern C int Close_FX3()
    *****Initialize_FX3*****
    dev_id = 0
    ELSE
    eptCnt = 3
    e = 1
    e = 2
    No Error Return 0
    extern C int Close_FX3()
    extern C int Close_FX3()
    *****Initialize_FX3*****
    dev_id = 0
    ELSE
    eptCnt = 3
    e = 1
    e = 2
    No Error Return 0
    extern C int Close_FX3()
    ********************Get_Device_List****************
    device_count = 2
    USBDevice->Close()
    *****Initialize_FX3*****
    dev_id = 0
    ELSE
    eptCnt = 4
    e = 1
    e = 2
    e = 3
    No Error Return 0
    Initialize_FX3(UCHAR(i)), i = 0
    ctrlendpt->XferData len = 0
    len == 0/Else dev_name = Unknown~D[Mu
    
    , sl_no = xxxxxxxx�����'
    Parsing Completed
    board_name = Unknown,
    board_sl_no = xxxxxxxx,
    extern C int Close_FX3()
    *****Initialize_FX3*****
    dev_id = 1
    INVALID_HANDLE
    Initialize_FX3(UCHAR(i)), i = 1
    ********************Get_Device_List****************
    device_count = 2
    USBDevice->Close()
    *****Initialize_FX3*****
    dev_id = 0
    ELSE
    eptCnt = 4
    e = 1
    e = 2
    e = 3
    No Error Return 0
    Initialize_FX3(UCHAR(i)), i = 0
    ctrlendpt->XferData len = 0
    len == 0/Else dev_name = Unknown~D[Mu�N�N, sl_no = xxxxxxxx����-
    Parsing Completed
    board_name = Unknown,
    board_sl_no = xxxxxxxx,
    extern C int Close_FX3()
    *****Initialize_FX3*****
    dev_id = 1
    INVALID_HANDLE
    Initialize_FX3(UCHAR(i)), i = 1

  • Steve,

    We believe the issue is caused due to both TSW14J56RevD and Signal Hound shares the same VID and PID of the default FX3 device. Do not know if there is anything we can do to fix for this. We are still looking into it.

     

    Regards,

     

    Jim

  • Not sure I'm looking in the right place, but when I look in Device Manager I see the following Hardware IDs for these devices

    Signal Hound VSG60A

    VID 2817 & PID 0008

    Cypress FX3 USB StreamerExample Device

    VID 04B4 & PID 00F1

  • Steve,

    During the initialization process, HSDC Pro software tries to read the Device Name from the Non-TSW Board’s FX3 Firmware which is causing the “1097” Error mentioned by you. In order to avoid this error we should read the VID/PID values of the connected FX3 devices to differentiate the TSW  and Non-TSW boards, but we don’t have a setup to test and verify the same. In order to use the existing FX3 boards to test the above mentioned fix we have to enumerate them with different VID/PID which requires firmware changes. Building a new firmware for the same will take significant amount of time.

    Unfortunately, we currently do not have the manpower or budget to support building this new firmware.

    Regards,

    Jim