MESA 5i25 for slave control via SPI, ...

More
24 Jun 2015 23:45 #60111 by xdimkx
Hello, CNC wizards

I'm nearly a complete novice in this, and I would like to ask for your advice.

I'm looking for a solution to control an external board (DDS boards AD9958/59) via SPI interface. These boards require 4 byte "tuning word" supplied via SPI port. I'm looking at these MESA Anything I/O cards as a potential solution, since it appears to be able to provide a direct bridge between PCI interface in a host computer and an external card without any additional intermediates (like ethernet or USB, with their own set of delays). The questions I have are:

a. Is it doable? What kind of latencies I can expect? Ideally I would like to achieve less than 10 us latency. Or is it too much to ask for?
b. Will it be possible to configure this card with HostMot2 software to emulate SPI? Or I will need Xilinx design suite for this? Can it be done in free Xilinx ISE Webpack?

Thank you for the advice.

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

More
25 Jun 2015 04:51 #60120 by PCW
Sure its doable

By latency do you meant I/O overhead ( PCI access and SPI transfer time) or real time task scheduling latency?

There are some configs that include SPI
(there are 2 SPI firmware modules, a simple one and a buffered one if you are going to do
low level access to the SPI controller on the host side, I recommend the simple SPI config)

Note that there is no direct hal support for the SPI interfaces, they are all
accessed with a hardware specific hal component
The following user(s) said Thank You: KobeYang, xdimkx

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

More
26 Jun 2015 00:04 #60133 by xdimkx
Thank you for the fast reply.
Yes, I meant I/O overhead. As far as I understand overall latency is given as additional 4 byte transfer time and additional PCI latency which is specific for each system. I looked at these latency tests for guidance

(wiki.linuxcnc.org/cgi-bin/wiki.pl?Latency-Test), and I see systems that can deliver less than 10 us delays. Is it a correct evaluation?

"Note that there is no direct hal support for the SPI interfaces, they are all
accessed with a hardware specific hal component
"

I do not fully understand this remark. Does it mean I have to write driver/or FPGA code to handle SPI>slave data transfer? So what software is appropriate? HostMot2?

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

More
26 Jun 2015 20:10 #60159 by PCW
Is this for a linuxcnc application?

FPGA firmware for SPI is available but SPI unfortunately is a very loose standard
so theres no middle level driver (that presents hal pins) for the FPGA SPI hardware
There is a low level driver (BSPI) that needs a custom hal component to do the
SPI device specific (AD9958/59 in your case) interfacing

Take a look at the low level BSPI driver and the 7I65 component for an example
The following user(s) said Thank You: tivoi

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

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