Tags: allin, application, attached, communication, file, interface, labview, pdf, programming, sensore, spi, usb
NI USB 8451
In one of the application ,i have to interface three sensore (ple
ase see attached .pdf file) with NI USB 8451 using SPI communication.
I donot know how to interface them ,
It is very urgent
Thanks and regards
Leave a comment...
- 6 Comments
What problems are you having? Are you receiving errors? Here are some resour
ces for the USB-8451.
F0044982B" target="_blank">NI-845x Software User Manual</a>
700545149" target="_blank">USB-8451 User Guide and Specifications</a>
5710f007003c5" target="_blank">Using the National Instruments USB-8451 I2C a
nd SPI Interface to Evaluate a Texas Instruments Analog-to-Digital Converter
Based on the data sheet you posted, the clock rate should be set t
o 1 MHz. Please let me know if you have any specific questions I can he
lp you with.
Regards,#1; Thu, 08 May 2008 00:47:00 GMT
Thanks for reply.
I am using SPI communication with ADNS-5020 not I2C. I have to interface 6 s
ensors with NI 8451 card.
Can I capture the data simultaneously from all the 6 sensors or there should
be some time delay between data acquisition from the any two sensors.
Please reply as soon as possible
R#2; Thu, 08 May 2008 00:48:00 GMT
- I don't think you can capture the motion data from all six sensors simultane
ously using the 8541 I2C channel. The I2C is a bus and you can only address
one slave device at a time with the 8451. To capture data from all six slave
devices you probably will
have to use the DIO port and bit-bang your own I2C. You'll use one of the I/
O as clock, which can be common to all six slaves. Then each of the SDIO is
connected to their own I/O. Since you want to address all six sensors at the
same time you can use one
remaining I/O line as a common slave select. Your routine will have to switc
h the I/O from output to input after setting up the addresses to read from e
ach of the sensor. You should use the Burst Mode as you can read continuousl
y without sending the regsi
ter address repeatedly, which will cause delay.
Depends on the motion, if the velocity and acceleration are high the 8451 ma
y not be able to keep up. Then you maybe better off by having six separate m
icrocontroller doing the I2C communications at the hardware level with the s
ensors and use the 8451 to
manage the captured data.
Hope this helps.
New LV User#3; Thu, 08 May 2008 00:49:00 GMT
Thanks for reply.
As i told earlier , i am not using I2C communication but I am using SPI comm
So Please reply considering SPI communication not I2C.
R#4; Thu, 08 May 2008 00:50:00 GMT
- Yes, R. I am sorry I kept thinking of I2C but the concept for SPI is the sam
e. It's a bus and you have six slave devices. You will not be able to get da
ta from all six slaves simultaneously using the 8451. You can have common SC
LK, MISO and MOSI for all t
he six slaves; but you'll have to use six separate Slave Selects (using the
DIO) to read motion data from each sensor; one at a time. Once motion s
tarts the sensors are going to accumulate delta x and Delta y counts. D
epends on how much motion y
ou are trying to record this process may or may not be able to complete
the six sensor reads before some of the the delta x and delta y accumu
lators overflow. At that point you begin to miss motion data. Obvi
ously depends on your appli
cation this may not be an issue.
New LV User#5; Thu, 08 May 2008 00:51:00 GMT
- Hello, R:
I did some additional thinking of your application with six 5020 m
otion senors. I thought of a way to read the six sensors simultaneously with
You would bus the SCLK, MOSI and Slave Select signals of the six sensor
s together. These three signals are then controlled by the 8451 SPI port and
one of the Slave Selects.
Each of the 5020 sensor will have a MISO left. You'll use six DIO lines
to receive from each of the MISO.
When you read the motion data, you'll be reading from the same register
s of the six sensors and so therfore you'll be able to send the register add
ress on the common MOSI and clock with SCLK.
Now, set up the DIO port as input and perform a port read. You'll be c
apturing the motion data from the six 5020 simultaneously. You'll have
to manage the accumulation of these bits, each DIO input associates with one
of the sensors.
Again, depends on the speed and acceleration of your motion you may hav
e to adjust the SCLK in order to capture all the motion data.
Hope this helps.
New LV User#6; Thu, 08 May 2008 00:52:00 GMT