04-05-2015 03:28 AM
Hello,
I have to read temperature from an IC which communicates using I2C protocol. After reading couple of forum discussions I realize that in order to implement I2C protocol one should have a board with:
1) hardware timed digital IO
2) per cycle tristate capability
Since in I2C protocol both master and slave share the SDA (serial data line), both the above conditions must be met. This protocol demands that we should be able to write data to slave at first clock edge and be able to read data from slave on the very next clock edge. Is it possible to do with NI USB 6343? I mean can we transfer control of SDA from master to slave and vice virsa in one clock cycle? (which I believe is necessary condition for per cycle tristating)
From specifications of NI USB 6343 card I know 32 DIOs are harware timed. But I dont know if the IOs support per cycle tristating.
Here is the discussion I read which informs that although the card is not ideal for this communication, we still can send and receive data using this protocolhttp://forums.ni.com/t5/Digital-I-O/I2C-Emulation-
Can anyone answer to these question:
Can we use NI USB 6343 card for I2C communication?
Does NI USB 6343 card's IO lines support tristate functionality?
Can I use the code wirtten on this link by NI guys for 6343 card? http://www.ni.com/example/31080/en/
04-09-2015 08:27 AM
Hello Arthur,
So first question:
No, you can't use the USB 6343 card for I2C communication.