From 04:00 PM CDT – 08:00 PM CDT (09:00 PM UTC – 01:00 AM UTC) Tuesday, April 16, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

USB to i2c solutions

I would like to communicate to several i2c devices (AVR microprocessors, actually) from within a Labview VI. I've been thinking about purchasing a USB-i2c adapter for this purpose. I understand the NI-USB 8451 can do the i2c protocol, but only up to 250kHz, plus it's too expensive.

 

Instead, I was thinking about using the TotalPhase Aardvark I2C adapter, which comes with a free Labview Driver, or the Diolan U2C-12, which only comes with a DLL.

 

Does anyone have any strong opinions about either solution and ease of incorporating into Labview? The Aardvark comes with a LabView driver, so I'm hoping the work would be minimal; however, it's $250, versus the cheaper $100 Diolan. How complicated is interfacing Labview with a DLL? I've never done it before.

 

Thanks!

0 Kudos
Message 1 of 20
(9,175 Views)

We have both the Aardvark and Diolan units here at work. We have only 1 Aardvark, and 4 Diolan boards. The Diolan is designed to be incorporated into something, though it can be used for lab use, which is what we use it for. We designed a temperature scanner and put a Diolan board into it. The Aardrvark has more features than the Diolan, but it has less I/O. You'll need to weigh the feature set to determine which one you really need for what you're doing. For us, the I/O is the more important feature. Price, too.

 

As for programming the Diolan, it's not that difficult, but that depends on how much LabVIEW experience you have as well as how much general programming experience you have. To call the DLL you would use Call Library Function. There's an example that ships with LabVIEW that shows how to call DLLs. I actually wrote a driver set for the Diolan, but I'm not really allowed to distribute it since it was written on the job. You can see an example of initializing the Diolan here

Message 2 of 20
(9,167 Views)
I have used the 8451 pretty heavily over the last year.  The nice thing about it is that it always works.  I have tried to use others (not the ones you mentioned) -- but they have all had problems.  Not saying they won't work, just advocating caution.
-Matt Bradley

************ kudos always appreciated, but only when deserved **************************




0 Kudos
Message 3 of 20
(9,151 Views)
I have not run into these problems with either the Aardvark or the Diolan.
0 Kudos
Message 4 of 20
(9,144 Views)
That's good to know.  I think the one where I had the most problems was either a Joba or Jova.  Not sure.  When you put the signal on a scope, it was very noisy. 
-Matt Bradley

************ kudos always appreciated, but only when deserved **************************




0 Kudos
Message 5 of 20
(9,140 Views)

I use the Aardvark I2C interface and am happy with it; I've used the 8451, too.  The Aardvark has internal pull-up resistors and is cheaper than the 8451, and both were easy to program.  My UUTs can be bad in such a way as to put ~24V onto the data pins, so it's worthwhile to put some circuit protection in if there's a chance this could happen to you.  Neither device has this (although the 8451 does have protection on the SPI and DIO lines, I believe).

 

Jim 

Jim
You're entirely bonkers. But I'll tell you a secret. All the best people are. ~ Alice
For he does not know what will happen; So who can tell him when it will occur? Eccl. 8:7

0 Kudos
Message 6 of 20
(9,129 Views)

Thanks for all the quick advice!  Glad to hear that either option would work.

 

After looking at both solutions more in-depth, I think I'll be going with the Aardvark. I like the extra feature set and utilities that are included, and it's not yet worth my time to bother writing a Labview library, though I see that Call Library Function block makes it pretty simple - thanks for the tip. If I have need of future i2c Master devices, I'll probably go with the Diolan for cost reasons.

 

0 Kudos
Message 7 of 20
(9,119 Views)

 hi

I use it two years ago,do you means attached pic driver?

 

I also thinks it 's very expensive for our test system. If you only want to do simple thing through I2C port, I think you can use parallel port to simulate I2C.

I thinks it 's cheaper way to do it .

Sonic

Diffrent Strokes for Different Folks
0 Kudos
Message 8 of 20
(9,108 Views)
CalBay (www.calbay.com) makes a parallel port to I2C/SPI board with software -- it works fine, I've used it.
-Matt Bradley

************ kudos always appreciated, but only when deserved **************************




0 Kudos
Message 9 of 20
(9,100 Views)
We originally used the Cal-Bay devices, but found them to be "flaky", which is why we switched to USB-based products. Plus, the bit-banging approach that the Cal-Bay cards require does not lend itself to easy debugging with a scope because of the huge time intervals (since it's all software-controlled).
0 Kudos
Message 10 of 20
(9,070 Views)