PXI

cancel
Showing results for 
Search instead for 
Did you mean: 

Creating "consistent" source waveforms to burst together

I have run into a problem that seems very similar to one already posted two years ago.  I am using a PXIe-6570 digital pattern instrument and I want to load two different source waveforms, each associated with a bus, and clock them out together as part of a pattern.

 

The Digital Pattern documentation says: "You can send multiple source waveforms with the same configuration in a single pattern burst."

 

I always get an error:

 

"The waveforms to be sourced have inconsistent configurations.  Ensure that all of the source waveforms used in the pattern(s) to be burst have the same configuration."

 

I get this error both in NI Digital Pattern Editor and also in custom LabVIEW code that invokes niDigital Burst Pattern (Synchronized).

 

The configurations are as similar as I can make them.  The two buses have different numbers of pins, and the names of the source waveforms have to be different, but apart from that they are identical:

  • Same number of samples
  • Both are parallel waveforms
  • Both are in the same display format (not that this should matter)
  • Both are broadcast

Can anyone explain how these source waveforms are inconsistent?

 

A solution that was given to the previous person with this problem was to combine the two waveforms into one big one.  I would like to avoid this if at all possible because it is not a good fit for my application (the two buses aren't necessarily synchronized).  I just need to know what the criteria for "consistent" are to use this the way the documentation says is possible.

 

Does anyone have a working example showing two source waveforms that they could share?

 

Thank you.

0 Kudos
Message 1 of 7
(853 Views)

Some follow-up:

 

I tried to create a new, bare-bones project in NI Digital Pattern Editor that I could attach to show the problem.  While developing this, I found in the documentation that a minimum of 3usec is required after using the source_start opcode before the next source_start or source opcode, so I made it 10usec just to be safe.

 

The new project I created didn't report the error (at least in demo mode, still want to test on the real PXI).

 

Looking at my configuration that did fail, I was only giving it 1usec after the source_start opcode.  Changing that to 10usec seems to have fixed it.

 

I am not quite ready to call this one solved, but I think it might be.  The error message I got was very confusing since it was the timing, not the source waveform, that seems to have been wrong.

 

I'll keep investigating, but I wanted to post quickly before anyone spends a lot of time on this, at least until I know whether it is really fixed.

0 Kudos
Message 2 of 7
(845 Views)

Unfortunately, that didn't fix it.  This runs successfully in Demo mode, but when running with the real pattern instrument hardware, I get the same error as before.

 

I have attached a minimal Digital Pattern Editor project that should help to illustrate the problem.  This defines two buses of 8 pins each, DQL and DQU.  Each has its own source pattern (one counting from 0-15, the other counting from 15-0).

 

These buses have the same size, so I have eliminated that as the source of the inconsistency.

 

The documentation says that up to 512 source waveforms can be loaded at once, but I can't even get two to work.  Can someone take a look at the attached project and see anything I did wrong?

 

Thanks.

0 Kudos
Message 3 of 7
(841 Views)

I think you have got a misunderstanding of how source waveforms are implemented on the FPGA within 657x

 

santo_13_0-1632973334979.png

 

You cannot have two simultaneous source waveforms in the same vector, the idea of multiple source waveforms are across different vectors. For example, for the first half of the pattern you might want to use a source waveform, then in the later part switch over to another source waveform. The opcode source_start sets the currently active source waveform and only one source waveform can be active at a moment.

 

If you need to source some data in a vector, all data have to come from a single source waveform - this is my understanding, this is because I could not think of a simple way of FPGA implementation that can handle references to two or more source waveforms at the same time.

 

If you need a firm answer, please reach out to NI support.

 

Santhosh
Soliton Technologies

New to the forum? Please read community guidelines and how to ask smart questions

Only two ways to appreciate someone who spent their free time to reply/answer your question - give them Kudos or mark their reply as the answer/solution.

Finding it hard to source NI hardware? Try NI Trading Post
0 Kudos
Message 4 of 7
(805 Views)

Based on your implementation, I would assume that you have got a lower byte bus and upper byte bus, you can easily combine these two U8 into U16 and write to a single source waveform. What do you feel is a challenge or difficulty in combining them into a 16-bit wide sample instead of two 8-bit wide samples?

Santhosh
Soliton Technologies

New to the forum? Please read community guidelines and how to ask smart questions

Only two ways to appreciate someone who spent their free time to reply/answer your question - give them Kudos or mark their reply as the answer/solution.

Finding it hard to source NI hardware? Try NI Trading Post
0 Kudos
Message 5 of 7
(801 Views)

Thank you for the information, Santhosh.

 

To be clear, the example I posted was created as a simple way to generate the error message I was getting while still having two "consistent" source waveforms.  This isn't exactly representative of what I was trying to do.

 

You said that you thought only one source waveform could be active at a time.  However, the Digital Pattern help documentation says "You can load up to 512 source waveforms on the instrument at a time." (Instruments -> PXIe-6570/6571 -> Source and Capture -> Source).

 

I think I'll contact NI support.  Thanks.

0 Kudos
Message 6 of 7
(792 Views)

You can 512 waveform definitions to the instrument but while executing only one will be used at any point in time.

 

It is like you can park 512 cars in your garage but you can drive only one car at a time.

Santhosh
Soliton Technologies

New to the forum? Please read community guidelines and how to ask smart questions

Only two ways to appreciate someone who spent their free time to reply/answer your question - give them Kudos or mark their reply as the answer/solution.

Finding it hard to source NI hardware? Try NI Trading Post
0 Kudos
Message 7 of 7
(787 Views)