LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Synchronising two modules using User Controlled I/O sampling

Hi there,

 

I have two c-series modules, specifically a NI-9262 (AO) and a NI-9775 (AI). I need to run the AO and AI at 1MS/s/ch which requires that I use User Controlled I/O Sampling. However the AI does not have this option. I need these two modules to have synchronized input and output at exactly the same time. It is not enough for my application to be "kind-of" simultaneous, they need to be exact. Previously I was using an FPGA I/O node with both modules but realised this speed-limited me to 600 kS/s/ch. Both modules need to operate "on demand", by which I mean when a button is pushed to perform their operations together for a specified time/number of samples then stop.

 

What is the best way of ensuring that I can synchronise these two modules given the above criteria?

0 Kudos
Message 1 of 7
(2,629 Views)

Any suggestions at all?

0 Kudos
Message 2 of 7
(2,577 Views)

Hello Kieran,

 

I have the same project but synchronising NI9262 and NI9223. There are few examples to proceed and NI is not able to provide me one that works properly.

 

I am able to generate at 1MHz, but the channels are mixed for some reason...

Concerning the NI9223 I use the reference example in parallel and it seems to work but it doesnt save the Data yet.

 

Could you let me know if you can generate properly your signal?

 

Thanks and good luck,

Mathieu

0 Kudos
Message 3 of 7
(2,492 Views)

Hi Matthieu,

Whilst I was able to achieve the user-controlled IO sampling at 1MS/s, I wasn't able to synchronise this with the AO sufficiently.

Instead I opted to sacrifice some bandwidth elsewhere and used 600 kS/s but with synchronisation.

 

Sorry I can't be of more assistance.

0 Kudos
Message 4 of 7
(2,490 Views)

Hello,

 

I think It is the best solution indeed...

Could you please send some screen shots on how you proceed for the synchronization?

 

Thanks,

Mathieu

0 Kudos
Message 5 of 7
(2,488 Views)

Mathieu,

Synchronising modules on the FPGA is as simple as extending the FPGA IO node and adding in the modules/channels you want to synchronise. In the attached screenshot, this is the Mod3/AO0 and Mod3/AO1 but these can be replaced with any combination of modules. The important thing to note is the speed of this will be limited by the slowest module. Using this method, the NI9262 has a maximum speed of ~600kS/s which for a 40MHz clock is ~67 ticks/sec. (This is actually ~597kHz).

To calculate the tick rate you will need use [[Your FPGA Clock Rate / The slowest module you have]] and round up to the next whole number.

Message 6 of 7
(2,482 Views)

Ok thank you very much for that, synchronizing at 1MS/s seems to be a difficult task and I may reconsider my code slower as well.

 

Mathieu

0 Kudos
Message 7 of 7
(2,475 Views)