02-19-2009 12:49 PM
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!
02-19-2009 01:12 PM
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.
02-19-2009 03:08 PM
02-19-2009 03:25 PM
02-19-2009 03:34 PM
02-19-2009 05:28 PM
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
02-19-2009 07:29 PM
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.
02-19-2009 08:59 PM
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 .
02-19-2009 10:15 PM
02-20-2009 09:07 AM