LabVIEW Robotics Documents

cancel
Showing results for 
Search instead for 
Did you mean: 

LV FPGA SSI (Synchronous Serial Interface) Protocol

The attached example is an implementation of the SSI (Synchronous Serial Interface) protocol in LabVIEW FPGA. It is used to read data from sensors and other devices that communicate using SSI. Synchronous Serial Interface is different from the Simple Sensor Interface protocol which uses the same acronym.

The attached example is an implementation of the SSI protocol in LabVIEW FPGA on a PCI/PXCI-7811 card. The same code will port directly to any R series card or most other LabVIEW FPGA targets including CompactRIO. The example includes code for generating and reading the SSI protocol. In a typical system the SSI data is sent by a sensor and will be read by the FPGA device for use in the application. The signal connections are given in the LabVIEW project.Many sensors convert their data value to Gray Code before transmitting on SSI to improve communication reliability. This example does not perform any Gray Code encoding or decoding. If your sensor sends data as a Gray Code you need to add the conversion of Gray Code back to the sensor value.SSI is described in more detail in this DevZone article

Comments
Member Argonne_National_Lab
Member

A couple of issues in the sample code. 1. The Boolean Array to Number conversion converts the first element of the array to the least significant bit in the number. While the SSI sepcifys the 1st bit as the most significant bit. So a Reverse ID Array is needed to reverse the array before conversion. 2. In real world, the SSI interface uses RS-485 physical layer protocol. Therefore, you need to program the data inverse channel as well. Otherwise it will not work. I have a working version for reading the Fagor SA ablolute encoder that has an SSI interface. Took me two days to learn the lesson in a hard way . Email me if you are interested.

Member Argonne_National_Lab
Member

Forgot to post my email address: a@anl.gov

Member jzxu
Member

I have been receiving so many requests. Please send email to x@anl.gov

Member ZarArt
Member

Thanks for the post, very useful

Contributors