From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

PXI

cancel
Showing results for 
Search instead for 
Did you mean: 

Read data from FlexRIO

Hello.

I have a timing diagram (see. Fig. below). It is necessary to read the data coming from the chip (signal D * x). I use the PXIe-7962 and NI 6587 (Serdes Connector CLIP Reference). At the signal STROBE I connected signal DCO. But I want to use a signal FCO, which allows me to bind exactly to the beginning of the word. Tell me, please, how it is possible to solve this problem?

Download All
0 Kudos
Message 1 of 12
(6,371 Views)

You'll want to monitor whichever line you bring FCO in on for a rising edge. You'll then need to either break the data into chunks whenever you see a new word has begun and store the data as words, or stream all the data to a memory item and record where a word begins and ends.

 

Here is an example of what monitoring the FCO for a rising edge may look like.

FCO_detect_edge.png

0 Kudos
Message 2 of 12
(6,296 Views)

duplicate

0 Kudos
Message 3 of 12
(6,296 Views)

Thanks. Please tell what is Rising Edge detect.vi block diagram?

And why index is 15? LVDS_PFI_Sample_Rd is representation U8 and 15-th element of array is empty?

0 Kudos
Message 4 of 12
(6,270 Views)

Thanks. Please tell what is Rising Edge detect.vi block diagram?


rising_edge.png

 


And why index is 15? LVDS_PFI_Sample_Rd is representation U8 and 15-th element of array is empty?


That was a mistake. I thought I was using the LVDS_Data_Sample0_Rd which is a U16. 

0 Kudos
Message 5 of 12
(6,265 Views)

Thanks. Assume that FCO is not equal 0 and rising edge was detected. But we can start receive data on random edge of DCO (line1 on 1-st pic. = red line on pic. 2). Thus we lost first 2 bits. How in that case read data correctly?

Acquisition.PNG

Diagramma.png

0 Kudos
Message 6 of 12
(6,242 Views)

Hi Valentin87,

 

Can you explain to us your timing diagram? Is the FCO acting like a trigger, and the DCO like a clock. So whenever FCO is high and you detect a DCO then you start reading data? You can take a look and see if the reason why you can't read the first two bytes is because of delay or jitter.

I advise you to take a look at examples we have shipped with LabVIEW for 6587. Open the example finder, and search for 6587 which is the adapter module you have. There are some examples I would recommend you go through and familiarize yourself with.

You may want to connect these FCO and DCO signals to appropriate pins on the 6578 module and implement some logic like David posted, and once they both are high, read the data. I hope this help give you a direction to move forward.

 

 

 

 

 

National Instruments
Applications Engineer
0 Kudos
Message 7 of 12
(6,202 Views)

David posted variant of code - there we only detected state of FCO (changed level or not). But we can start read data in random time, for example, acquisition begins from red line. In this case we lost 2 bits of word, i.e. when we read 12-bit word (acquisition begins from red line) it consists bits 10 to 0 of 1-st word and bits 11, 10 of 2-nd word. Is it possible to synchronizing with rising slope of FCO so as not to lose bits?

0 Kudos
Message 8 of 12
(6,174 Views)

Hi Valentin87,

 

Does that mean you want to replace FCO lines with DCO to help with the synchronization? so everytime there is a DCO- rising edge, you would read the data?

I'm still unclear of what FCO and DCO lines are doing?

 

In this link: https://decibel.ni.com/content/docs/DOC-15799 it says there are some example of synchronizaiton for 5772 that you can take a look and get an idea of how to implement it.

 

 

National Instruments
Applications Engineer
0 Kudos
Message 9 of 12
(6,123 Views)

@Edna-S wrote:

Does that mean you want to replace FCO lines with DCO to help with the synchronization?


No. 


@Edna-S wrote:

I'm still unclear of what FCO and DCO lines are doing? 


DCO - main signal, used for reading data. FCO - signal, rising edge of which means the beginning of data (MSB).

 

So I want use signal FCO like a trigger, rising edge of which begins reading data. How is it correctly realize?

0 Kudos
Message 10 of 12
(6,109 Views)