03-28-2010 12:32 AM
Hello, I am having trouble with a USB-485/2 interface. I have been using a USB-485 single port interface without trouble to talk to a device using the 2-wire setup. The other signals are set to loop back. The communication protocol typicalls sends and receives a couple dozen bytes with each transaction, and they don't repeat too quickly when running in the app (10 transactions per second or so) @ 115200 baud. Also, I am running all VIs synchronously. I have not yet even initialized the second channel while doing this (although I tried it on both, and I see the same errors).
Everything works perfectly well with the single interface. When I swap the cable to either port on the dual interface, and then change the VISA port to the associated port, I immediately see problems. I see extra bytes inserted randomly (typically xFF), I get buffer full errors, etc. I opened a test panel that runs a single transaction, and I see this problem even when I run it slowly. I'd say one in every 5 transactions works, but it's random.
Is there any reason the USB-485/2 interface would act differently than the single interface? Am I skipping some settin?
Thank you!
03-29-2010 11:50 AM
Hi jed,
Do you know if you've enabled the bias resistors in the USB-485/2?
In the NI-Serial for USB installation guide at the location below, it identifies the need for the USB-485/2 and USB-485/4 to have different bias resistor values to the 1 port USB-485. Can you confirm if you've done this?
http://www.ni.com/pdf/manuals/323365b.pdf
Raj
03-29-2010 12:50 PM
Thank you for that info (I was wondering about that). Does the USB-485/2 unit have programmably controlled bias resisitors? Are they automatically controlled under the 2-Wire Auto mode?
The manual you referenced told me to check the "Serial Hardware and Software for Windows User Manual", which didn't really have the info. All these documents talk about "USB-485 hardware" but I cannot ascertain if that means specifically the USB-485 unit or all USB RS485 hardware.
I tested at 9600 and there was no problem, so it may be some kind of echo on the lines.
Where can I find the info on this? the Serial .CHM help file has info for using the C .header file, but I am using labVIEW, and I don't see those settings under the VISA properties.
Also, the CHM file has this little line:
"USB-485 Programmatically Controlled Bias Resistors
![]() |
Note Using custom bias resistors on the USB-485 two port may violate the USB suspend current specification. |
03-30-2010 09:29 AM
USB-485 Programmatically Controlled Bias Resistors
Jed,
What you read in the manual is correct for the USB-485 unit, not the instrument connected to it.
As the manual states,
On the USB-485 hardware, there are programmatically controlled onboard bias resistors. In addition, the USB-485 two and four-port hardware has user-configurable socketed bias resistors. By default, the USB-485 hardware uses the programmatically controlled bias resistors, which are connected to the receive signals of each port to maintain a known state when the bus is idle. The connections are made as follows:
You say you tested at 9600 and had no issues. Is this true for both the single port and 2-port units?
The termination and bias resistors are not automatically controlled by the two-wire mode. You would need to put in 620 ohm resistors as mentioned in the knowledgebase article below.
http://www.ni.com/support/serial/resinfo.htm
03-30-2010 10:01 AM
I discovered some new info yesterday and I have redirected this discussion here:
http://forums.ni.com/ni/board/message?board.id=140&thread.id=41284