01-15-2013 02:13 PM
I have a hardware device using a TI C5515 DSP that communicates with the PC via the DSP USB port. The TI driver makes the USB emulate a UART (at least in theory). My PC software is trying to communcate with the DSB over the USB COM port using the NI-VISA libraries. This works great on almost every PC including VirtualBox test machines. However we have two PCs where the connection fails while setting the baud rate. I can reproduce the problem in NI Max which is where the attached trace came from.
In NI-MAX when I look at the port I see a little warning sign on the port icon. The error message is:
VISA returned this device when finding resources, and MAX was able to use VISA to parse the resource name. MAX was not able to successfully open a VISA session to the device.
On the port settings tab the verify button works unless I try to set the baud rate to anything but 9600. I then get an error message and the 0xBFFF001E error message in the trace log. Sometimes I also get a 0xBFFF0000 when reading the flow control settings but not every time.
Oddly on this SAME MACHINE I can talk to the device at any baud rate using a terminal emulator and some custom .NET code. I can also change the baud rate from the Windows COM port settings. It is only from VISA that I have the problem and only on two PC's. As luck would have it these are the PC's we are sending to customers so it is a bit of a problem. I can't find any information on these error codes and am running out if ideas to try. Has anyone else seen this before?
Thanks,
Nathan
01-16-2013 06:31 PM
Hi NathanV
In order to isolate the source of the problem I would like to ask you some questions:
Which are the specification of the computer that works and the computer where it does not work?
Are you able to see the serial device in MAX and the device manager?
Have you been able to communicate with the device using MAX test panel?
Regards
Esteban R.
01-18-2013 08:49 AM
Esteban,
Both computers are Windows 7. Hardware wise both PC's that have exhibited this problem are Dell Optiplex core i3 machines. I can see the serial device in both MAX and the device manager. From the Windows port settings I can set the baud rate and I can communicate with the DSP from both a terminial emulator and from .NET code via the .NET serialport class. In MAX I can see the port but I can only set it to 9600 baud and I get the errors like I described. I can connect using the test panel but only at 9600. Communication is tricky since the DSP is not communicating in ASCII so I can't verify a query and response from the test panel.
I tried an interesting test yesterday. I have a virtual machine running Windows XP on my development PC. I set up NI-VISA and my software on the VM, mapped the USB devices to the VM, and everything tested out OK. I then copied the working VM directly onto one of the problem PC's and ran it there. MAX and my software both acted exactly the same in the VM as they did on the physical hardware. I am not entirely sure what that means but I think it rules out an installation or configuration problem with VISA.
Thanks,
Nathan
01-21-2013 11:38 AM
Hi NathanV
What about the NI Visa version, LabVIEW version and MAX version which version of NI Visa has the computer with problems and which version has the version that does not work?
Are all the computer 32 bits?
Regards
Esteban R.
01-21-2013 03:36 PM
Also, Which chipset (diver) are you using for the VCP?
01-22-2013 11:44 AM
All computers are 32 bits and running the same software versions:
NI-Max 5.3.3f2
No LabView
NationalInstruments.VisaNS.dll version 9.0.40.156
The virtual COM port is using a driver provided by the vendor who supplied the hardware we are trying to control. It looks from the INF file to be a modified example driver from TI for the C5515 DSP. I have asked our vendor for more information and maybe another version of the driver to try.
Thanks,
Nathan
01-22-2013 01:03 PM
Some drivers/chips just work better than others do.
I've had good luck with SiLabs CP2102's (build those into my test equipment PCB's) and FTDI's are fairly reliable as well.
01-23-2013 03:04 PM
We are getting to that point as well. It seems that all the computers that fail are using the H61 chipset. Q67, H77, and HM65 chipsets all work extra special nice. It could be other things but I have tried on three different computers now and it seems consistent so far.
Nathan