Digital I/O

cancel
Showing results for 
Search instead for 
Did you mean: 

USB 6501 to read & write on ADT7461. How to program it? Emulate a C programming

Hello!
 
 
The bit sequence  look like this:

1-     from A7 -à R/W   is THE DEVICE ADDRESS + R/W

(we have address plus a bit for write or write to the register that the  address is represented in  D7 -à D0)

2-     Each sequence is ACK acknowledged by the ADT(the element to write or read from) a Read bit  = 1/ Write bit = 0

============================================================

3-     Microprocessor  send A7 à R/W;//master

4-     ADT acknowledge by sending 0;//slave

5-     Microprocessor send the address of the register to R/Wwith;(1/0) then come the array reading.

 

 

**********************************************

*My question is how to do a reading and writing to register that have their addresses *as sequenced?

*********************************************************************

There is a Maxim device that has 15 bit and need to be read; totally different from the above ADT.

There is a start bit , and then a dummy bit and data and stop bit.

***********************************************

*How  data coming out the port?

*************************

I have atached the Max clock and data diagram

 

0 Kudos
Message 1 of 5
(4,152 Views)
 
 

Hello,

What is the programming enviroment that you are using?  Could you tell me a little bit more about your application?  For example, are you going to be using DAQmx functions to read and write to your device? Is the USB-6501 the only hardware that you are using in this application? How many channels are you going to be using on the USB-6501 and what are the inputs to each of those channels?

The USB-6501 digital channels will just recognize signals as high or low, and the same holds true for writing on the channels as well.  The device is capable of TTL logic.  This means that how the data is output on a port of the 6501 can be customized by you in the programming environment.  You can send a high or a low on every line of the port.  Something, that you should keep in mind is specifications of the USB-6501 such as pulse width, source frequency and other parameters and how these apply to your application.  You can find more information about the specifications of the USB-6501 here.

Regards,

 

Message Edited by Raajit L on 04-04-2007 01:05 PM

Raajit L
National Instruments
0 Kudos
Message 2 of 5
(4,131 Views)


Briefly here is Sequenses
*************************
Matser USB6501)initiate the communication by sending

 ------------>Start bit(SDA =0) + Device address(0x4c) + 0/1(w/r)

Device acknoledge by sening

 -----------> Ack = SDA = 0(all total = 9bits);

Master send the address wher to read/write

 ------->8bits

Device Ack by ringing down the SDA =0;

Device will accept DATA or out put it ;

I have all the sequences in C but I have problem to put them in Graphical LabView

 

Definitely I will use DAQmx to run the 12 channels all managed by USB6501:each channel has an ADT7461 connected to it and all doing the same.

ADT------------>USB6501---------------->PC

-initiate communication by sending start bit SDA = 0;

-initialize the registers in ADT7461 as follow;(hand shakings + messages) as the following program will explicite.

If you need more explaination I willing to do it. 

 

*******************************************************

0 Kudos
Message 3 of 5
(4,121 Views)

Raajit ,

 

I thank you for your time and effort  you put into this problem to get a solution.

I tried to upload the program that I wrote from C but the limit of the characters to be posted couldn' allow me.

I am aking if I can postlittle by little this way you can see what is my idea.

Let me know I constantly on the web.

 

nICKI

0 Kudos
Message 4 of 5
(4,122 Views)
 

Hi,

I think you might run into problems as far as I2C communications with this board is concerned, if that is indeed what you are trying to achieve.  You cannot do digital input and digital output on the board at the same time and it seems like that is what you are trying to do (correct me if I am wrong).  Another problem that you might run into is that this board is not capable of hardware timed DIO.  If you are trying to achieve I2C communications, it is not possible using the 6501.  We do have another board that is capable of doing I2C communications, such as the USB-8451.  You can also achieve this with our High-Speed Digital I/O boards, or even our M-Series multifunction DAQ boards as they have correlated Digital I/O.

Hope that helps.

Regards,

 
Raajit L
National Instruments
0 Kudos
Message 5 of 5
(4,094 Views)