7i90 and SPI ???

More
04 Dec 2014 07:37 - 04 Dec 2014 07:40 #53665 by jCandlish
7i90 and SPI ??? was created by jCandlish
I am looking to add an I/O expander and motion control hardware to a Jetson K1.

At this planning stage the 7i90 FPGA card looks interesting, but digging deeper in the HM2_SPI manpage I see:

REALTIME PERFORMANCE OF LINUX SPIDEV DRIVERS

As of kernel 3.8, most or all kernel SPI drivers do not achieve the high realtime response rate required for a typical linuxcnc configuration.


What exactly does this mean?

It seems to be hinting at a latency problem. But what? The SPI driver implementation or the system processor speed?

Would I be wrong to think that this comment reflects as much on the processing throughput of the Pi (where SPI is prevalent) as it does the SPI driver?

On the same processor platform and with the same datarate does SPI have more latency (worse realtime performance) than RS-422?

Exactly what is the troublesome response rate that lead to the disparaging comment in the manpage?

I need to be able to synchronize events with the video blanking interval of frame rates upto 150 Hz. I can run the trigger in the FPGA, but I need to be able to pre-select the syncronizable events during the ~6.7ms frame. Can the HM2_SPI interface keep up?

On what platform was the experience made that "most or all SPI drivers do not acheive high realtime response"? Would RS-422 perform better, and if so by what margin?

How can I test the HM2_SPI latency before committing to the purchase of an 7i90?

Thanks
_jC
.
Last edit: 04 Dec 2014 07:40 by jCandlish.

Please Log in or Create an account to join the conversation.

More
04 Dec 2014 08:45 #53669 by PCW
Replied by PCW on topic 7i90 and SPI ???

I am looking to add an I/O expander and motion control hardware to a Jetson K1.

At this planning stage the 7i90 FPGA card looks interesting, but digging deeper in the HM2_SPI manpage I see:
REALTIME PERFORMANCE OF LINUX SPIDEV DRIVERS

As of kernel 3.8, most or all kernel SPI drivers do not achieve the high realtime response rate required for a typical linuxcnc configuration.

What exactly does this mean?


Jeff Epler tested the 7I90/SPI with a Odroid CPU and had trouble getting it to run reliably at 1 KHz

It seems to be hinting at a latency problem. But what? The SPI driver implementation or the system processor speed?

Would I be wrong to think that this comment reflects as much on the processing throughput of the Pi (where SPI is prevalent) as it does the SPI driver?

On the same processor platform and with the same datarate does SPI have more latency (worse realtime performance) than RS-422?


I think the driver implementation (apparently done with no regard to latency) is the chief issue

If you mean serial communication over RS-422, it depends on what the host hardware and driver are like (I suspect the in Kernel serial port driver would have similar issues)

Exactly what is the troublesome response rate that lead to the disparaging comment in the manpage?

I need to be able to synchronize events with the video blanking interval of frame rates upto 150 Hz. I can run the trigger in the FPGA, but I need to be able to pre-select the syncronizable events during the ~6.7ms frame. Can the HM2_SPI interface keep up?

On what platform was the experience made that "most or all SPI drivers do not acheive high realtime response"? Would RS-422 perform better, and if so by what margin?


I think all testing was done with a Odriod CPU

You might consider Ethernet as 4 KHz servo threads are possible with a relatively fast CPU

How can I test the HM2_SPI latency before committing to the purchase of an 7i90?

Thanks
_jC


You might check the latency on the Jetson first as that will establish the minimum possible latency (has anyone done this?)

Please Log in or Create an account to join the conversation.

More
05 Dec 2014 09:07 #53701 by jCandlish
Replied by jCandlish on topic 7i90 and SPI ???


You might consider Ethernet as 4 KHz servo threads are possible with a relatively fast CPU


Ok. I'm also considering the 7i80.

On what system and with what protocol was 4KHz achieved? Is real time ethernet supported yet with LinuxCNC?

Please Log in or Create an account to join the conversation.

More
05 Dec 2014 09:19 - 05 Dec 2014 09:22 #53703 by PCW
Replied by PCW on topic 7i90 and SPI ???

Ok. I'm also considering the 7i80.

On what system and with what protocol was 4KHz achieved? Is real time ethernet supported yet with LinuxCNC?



This is on a Gigabyte H81 motherboard with a G3258 CPU (bargain Haswell)

OS is the wheezy linuxcnc dist ISO with linuxcnc version 2.7 uspace running the stock debian preemt-rt kernel
protocol is simple UDP comms that hm2-ether boards use

(linuxcnc master-uspace is available as a package if you dont want to compile it)
Last edit: 05 Dec 2014 09:22 by PCW.

Please Log in or Create an account to join the conversation.

Moderators: PCWjmelson
Time to create page: 0.134 seconds
Powered by Kunena Forum