LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

FPGA Crio encoder SSI protocol

Solved!
Go to solution

Try Use FPGA Board to Implement Serial Synchronous Interface (SSI) with NI Products

-------------------------------------------------------
Applications Engineer | TME Systems
0 Kudos
Message 11 of 24
(403 Views)

Hello Zyong,

 

Thank you. I want to know if you've tried it on myRIO yet?

0 Kudos
Message 12 of 24
(396 Views)

@Michael_Smith wrote:

Hello Zyong,

 

Thank you. I want to know if you've tried it on myRIO yet?


No, I never tried the SSI example.

But based on my experience with other FPGA examples, most of them will work on all NI FPGA platforms.

-------------------------------------------------------
Applications Engineer | TME Systems
0 Kudos
Message 13 of 24
(385 Views)

Hello Zyong,

Can you please suggest me connector to acquire it on myRIO TTL Digital Inputs.

 

0 Kudos
Message 14 of 24
(380 Views)

The adapter mentioned in the example link is for FlexRIO. myRIO does not need an adapter.

 

The myRIO-1900 and myRIO-1950 have 5V-tolerant DIO; however, they output 3.3V, nominal. There is not a setting that allows the DIO to output at 5V. 

Reference: myrio 5v digital output

 

Check the datasheet of your encoder if it supports Low Voltage TTL. Most TTL is compatible with LVTTL. From Logic Levels - SparkFun Learn

ZYOng_0-1723312900363.png

\

-------------------------------------------------------
Applications Engineer | TME Systems
0 Kudos
Message 15 of 24
(373 Views)

This is the datasheet of my encoder HENGSTLER AC36 Series 0900766b814b3af5.pdf (rs-online.com)

I want to use it as an SSI Binary Mode. I don't understand how I should wire it with myRIO because I see some signals are differential and myRIO doesn't support differential Digital Inputs.


 
 

 

0 Kudos
Message 16 of 24
(365 Views)

Make a Differential TTL Quadrature Encoder Work on Single-Ended TTL Input

-------------------------------------------------------
Applications Engineer | TME Systems
0 Kudos
Message 17 of 24
(356 Views)

If you can build your own electronics you could use something like this as a converter. However you would have to make sure the slew rate of the circuit is sufficient for the speed of your counter pulses.

 

You can also buy ready made chips like the MAX485 that can do it for you. Again there are many variants and the MAX485 only will work for up to 2 MHz or so but that is often enough for most angular encoders unless it is a very high resolution high speed one.

 

You will need two such converters one for the CLK and one for the DATA lines.

If building your own electronics is not an option or to intimidating you can also buy modules such as this. It's just a random Google link, there are virtually zillion sites selling this and your local electronic distributor will almost certainly have something like that too.

Rolf Kalbermatter
My Blog
0 Kudos
Message 18 of 24
(339 Views)

The problem is not the voltage level. It's the differential line. I can generate a CLK on my myRIO but I need it to be differential. Positive on one line and negative on second line. I need to know if there is any converter that can help me with the generation of CLK- that is basically a negative reflection of CLK+.


0 Kudos
Message 19 of 24
(319 Views)

@Michael_Smith wrote:

The problem is not the voltage level. It's the differential line. I can generate a CLK on my myRIO but I need it to be differential. Positive on one line and negative on second line. I need to know if there is any converter that can help me with the generation of CLK- that is basically a negative reflection of CLK+.


As a understand it that would be simply a logic inverter. You could simply output your CLK signal on one digital output, run the same signal on the FPGA through a digital inverter and connect that as CLK- to a second digital output, et voila.  You will however have to investigate if the resulting delay of a few nanoseconds might be a problem for your encoder. It really shouldn't as it should have some tolerance for that but who knows. Or you could use the transmission direction of a second MAX485 or similar instead.

 

For some of the sbRIO boards such as the sbRIO-9651 it is possible to reconfigure the various pins through a so called CLIP file and that lets you actually configure a pin pair as a differential signal but not sure if the myRIO has also such a customization option as it is basically a ready made device and already comes with its preconfigured CLIP file.

 

If you go with direct implementation of the differential signals on the FPGA, you may however want to add some protection circuitry to those pins. If you use an external converter such as a MAX485 they usually contain quite a bit of extra protection circuitry at least at the bus (differential) side, since such lines can get exposed to quite a bit of noise and other nastiness. The myRIO ports are directly connected to the FPGA fabric and operate on 3.3V level although can endure 5V signals, but anything above that very quickly and very nastily can cause damage in that fabric. A simple breadboard connected to those pins is not that dangerous, but a cable going several meters or more to an encoder located somewhere else than your experimental setup on your desk is a potential hazard. The myRIO is a bit to expensive to carelessly risk it to be damaged.

Rolf Kalbermatter
My Blog
0 Kudos
Message 20 of 24
(315 Views)