05-07-2019 09:30 AM
Hello everyone!
We have an specific application where we need to send specific pattern between the computer and a device, the device has 2 SPI like input ports and 1 SPI like output port, when I said SPI like, it is 3 lines on each port (CS, CLK and Data)... the data sent on each port has an structure like 10bits Data1 +10bits Data2 +... 10 bits DataX + 10bits CRC...
As far we understand SPI uses addresses for SPI slave selection, we wonder if there is a device from NI that will allow us to accomplish this out of the shelf, I guess one way may be to use a DIO card and do all on the LabVIEW code, but we would like to see if is any device that can do the work and just send the data from LabVIEW without having to dis-assemble the package bit by bit to control the lines on a DIO card.
Thanks in advance.
Abel
05-07-2019 10:54 AM
05-08-2019 03:43 AM
@Bob_Schor wrote:
Ever heard of Google? Typing NI SPI got this, and there are probably other possibilities.
Bob Schor
That even works if you google for "Custom SPI with LaView"...
05-08-2019 07:36 AM
Hello Bob!
Thanks for the quick response!
Yeah, in fact we have one of those boards, we had tried to, but the data is always sent in 8 bits packets (bytes) with some delay in between, we need to send them as a whole stream and also receive it as a whole, in fact the receiving is not a multiple of 8, it is 60bits instead of 48bits... at this point we haven't found a way to get streams of continuous Xbits (X>8).
What I have researched is that we may use a RIO device, so we customize an FPGA to manage this kind of packets/protocol which is a kind of custom IO approach but the code will run on the device instead of the PC, which seems better specially for the receiving side due timing can be critical due the device will send this packets without any handshaking, if PC slows down, it can lose sync.
Best Regards.
Abel
05-08-2019 08:18 AM
@abelino wrote:
if PC slows down, it can lose sync.
Of course a FPGA will be more stable, but the point of the 3 line communication (versus 2 lines) is to ease timing criteria.
If the PC just needs to play master, the cheapest DIO hardware might do. Even a USB-9008 might work, as you are setting the clock rate.
I know my Arduino can do continuous (SPI) bits (, but it's not trivial). NI (even FPGA) might very well be cheaper, as development cost could be lower.
05-08-2019 08:52 AM
wiebe@CARYA wrote:
If the PC just needs to play master, the cheapest DIO hardware might do. Even a USB-9008 might work, as you are setting the clock rate.
Of course, Wiebe meant a USB-6008 (or the newer USB-6002) ...
Bob Schor
05-08-2019 09:35 AM
@Bob_Schor wrote:
wiebe@CARYA wrote:
If the PC just needs to play master, the cheapest DIO hardware might do. Even a USB-9008 might work, as you are setting the clock rate.Of course, Wiebe meant a USB-6008 (or the newer USB-6002) …
Yes, thanks. Keep mixing 6009 up with 9006, and the 8 is cheaper.