LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Computer to FPGA communication delay

Hi,

 

we are searching for the fastest way of sending three values acquired by a sensor on the computer to the FPGA. The FPGA only needs the latest values.

 

I had a look at

http://zone.ni.com/reference/en-XX/help/371599K-01/lvfpgaconcepts/fpga_data_transfer_overview/

and

http://zone.ni.com/reference/en-XX/help/371599K-01/lvfpgaconcepts/pfi_data_transfer/

and decided to use front panel communication.

 

The problem is, there is still a delay of approx. 10ms between the host sending data and the FPGA receiving it. On a similar project with a Compact RIO + FPGA we used a serial module to transfer the data with a delay of less than 4ms. In the current project we want to use a myRIO 1900 target which does not offer a serial port to the FPGA.

 

Is there any option to transfer the data with less delay? What is the reason for this more or less constant value?

 

Many thanks and best regards.

0 Kudos
Message 1 of 3
(2,886 Views)

Madir123 wrote:

Is there any option to transfer the data with less delay? What is the reason for this more or less constant value?


Did you try the DMA FIFO?  I think the front panels are only written to/read from a regular interval or when there is enough data to transmit.  I could be wrong here.  But the DMA FIFO is supposed to act like shared memory.  So I would expect that to have your least amount of delay.


GCentral
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
0 Kudos
Message 2 of 3
(2,845 Views)

Hi,

 

as it should apply for everybody in the forum: Please supply us with the necessary information. Why dont you post your benchmark code, so everybody can see for himself how the 10 ms might happen.

 

For my taste 10 ms should be too long (if connected via USB), but that depends on the data transfer method. I havent benchmarked the USB myRIO communication for latency myself, so I cant give you any specific latency numbers.

Also you must account to the fact if you have done serial communication before you probably directly communicated with the FPGA. Here you send your request to the myRIO's RT first and then the information is relayed to the FPGA.

 

How do you connect your host computer to the myRIO (USB, Wifi)?

In my general experience with USB 2.0 it is hard to have a below 1 ms latency with USB and Wifi latency should be even worse. Also there could be an additional protocol overhead, so sending/receiving data from a Front Panel control could need some kind of acknowledgement.

If you need low latency between host and myRIO you could use the UART interface if you have something suitable on the host side or move the time critical stuff to the myRIO RT side. If you are doing time critical stuff on Windows you must be a rather optimistic person.

 

Best regards,

Christoph

Staff Applications Engineer
National Instruments
Certified LabVIEW Developer (CLD), Certified LabVIEW Embedded Systems Developer (CLED)


Don't forget Kudos for Good Answers, and Mark a solution if your problem is solved
0 Kudos
Message 3 of 3
(2,808 Views)