7i90 and SPI ???
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
.
Please Log in or Create an account to join the conversation.
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.
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.
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)
Please Log in or Create an account to join the conversation.