Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

Reading SSI from a Linear encoder with USB-6341

I need an example for reading an SSI (synchronous serial interface) encoder value with a USB-6341 and labview 8.5.

0 Kudos
Message 1 of 10
(6,727 Views)

What is your application?  We are going to need a little bit more information.

 

Regards,

 

Alexander M

National Instruments

0 Kudos
Message 2 of 10
(6,703 Views)
I have a linear 25 bit ssi encoder. I want to be able to read the position from the encoder. It is a temposonics RH series. I have the USB-6341 that has 4 counters. It looks like I need to set one counter up to generate a pulse train and another to grab every 25 bits for the measurement. SSI absolute encoders are pretty common now a days. I am surprised there is not just an avalible VI to communicate to them.
0 Kudos
Message 3 of 10
(6,697 Views)

Thanks for the details, the links below should get you started.

 

Connect an absolute SSI encoder to a DAQ card

 

Reading SSI absolute encoder with USB-6008 DAQ

 

At this time it doesn't look like anything official from NI exists.  However, it has been noted as a product suggestion in both the hardware & software realm.

 

Regards,

 

Alexander M

National Instruments

0 Kudos
Message 4 of 10
(6,688 Views)
I read those. Not much help other than explaining the basics. I tried writing a vi from scratch but there is something about the timing of ssi that labveiw seems unable to achieve. It looks like I will need to get a converter.
0 Kudos
Message 5 of 10
(6,683 Views)

It looks like SSI code implementation in LabVIEW is mostly done on FPGAs, which would explain why timing in windows would present an issue.

 

LV FPGA SSI (Synchronous Serial Interface) Protocol

 

Regards,

 

Alexander M

National Instruments

0 Kudos
Message 6 of 10
(6,677 Views)
Basically what needs to happen that does not look possible with current setup is there needs to be a continuous 90khz signal generated. 25 bits needs to be loaded from the sensor into a counter at is rate. When the counter gets 25 bits it needs to clear and start counting the next 25 bits without missing a cycle from the 90khz pulse train. The 90 kHz is the sensors registers increment. If this stops for any time the sensor starts a setup procedure to determine the incoming pulse trains timing before reading measurements again. This is pretty standard with all SSI devices.
0 Kudos
Message 7 of 10
(6,675 Views)

Bkaspar,

Without having a data sheet for a particular SSI Encoder to look at, it seems like this should be possible with your USB-6341.  However, I think it you'll need to use a combination of counter output and digital input to do what you want.  What sensor are you trying to interface with?

 

In general, it seems like a procedure like the following would work:

1) Create a counter output task with the following settings:

   - Rate = 90,000

   - Duty Cycle = 50%

   - Idle State = start state of active edge of SSI clock (ie.. If active high, idle state should be low)

   - Continuous Samples

2) Commit this task - this will set the output line to it's initial state

3) Create timed digital input task with following settings:

   - Line (pick a port 0 line)

   - Sample Clock Source - Counter task's output

   - Sample Clock Active Edge - idle edge of SSI clock

   - Continuous Samples

   - Start Trigger - Digital Edge sourced by counter output task, active edge idle edge of SSI clock

4) Start digital task

5) Start Counter Task

6) Read Data in multiples of 25

7) Process each chunk of 25 samples into a single encoder reading.

 

In general, I think that it would look something like the VI I have attached (assuming that you're using port0/line0 as a digital line, and the SSI clock is rising edge active.  I don't have anything to test this with so I wouldn't necessarily expect it to work, but hopefully it'll lead you in the right direction.

 

Dan

0 Kudos
Message 8 of 10
(6,653 Views)

I have  a  question to ask you .

I have a linear 24 bit ssi encoder,it is a  temposonics RH series(MTS),and the signal is differential,and  I have the USB-6343 that has 4 counters,I use counter(CO) to generate the signal ,and use DI to get the DATA.but now I have the question below:

1、The CO ("clock") task should probably include two lines, since the encoder is expecting a differential clock signal,and how should I to connect the lines between the USB-6343 and 24 bit ssi encoder,and the same as the data I get.

2、should I care about the  voltage when I connect the ware between  the USB-6343 and 24 bit ssi encoder,as it is said the ssi interface is RS-422 type differential signal pairs.

 

Best Regards,

fei

0 Kudos
Message 9 of 10
(5,757 Views)

Hello yf49782341,

 

This forum post is from 2011 and it is unlikely that original participants are still monitoring it. In order to maximize the potential for help from the forums it would be best to create a new forum post with the relevant details about your application and detailed questions. This will give your post much better visibility and a better chance of being answered.

 

Jonathan L.
Technical Support Senior Group Manager
National Instruments
0 Kudos
Message 10 of 10
(5,740 Views)