06-07-2015 12:27 PM
Hello,
I'm trying to send more than one signal to DMA FIFO, but i don't know how to do. When i send one signal i don't have problems. I try to use one block DMA FIFO for one signal. For example if i have 3 signal i use · DMA FIFO but whe i want to wath them in a waveform chart the signals have a delay.
How can I do to send more than one signal to DMA FIFO? and if that's no posible, How i can do for syncronizate the 3 signals?
The data type of the signal is FXP <16,10>
Regards.
Pablo
Solved! Go to Solution.
06-07-2015 07:42 PM
If all of your signals are 16 bit numbers you can use the join numbers function to pack the three signals into one 64 bit number to send up through the FIFO. You can use the split numbers function when you read from the FIFO to get back your original signals.
06-08-2015 03:50 AM
hi Jacobson,
If i want the data type in FXP i can't use that block. Do you know how i can solve?
06-08-2015 07:48 AM - edited 06-08-2015 07:48 AM
You just need to do a quick reinterpret to integer and then use Join Number. In this example, you will want your DMA to be of a U64.
06-08-2015 01:59 PM
and for read, is this okey?
thanks for your help!
06-08-2015 02:15 PM - edited 06-08-2015 02:15 PM
Not quite. You need to use the Integer To Fixed Point Cast to change from the integers to your FXP numbers. You can then build them into a cluster to write to the Waveform Chart.
06-08-2015 05:41 PM
i don't know what happen! I do the same and i cannot be wired and i have error!
06-08-2015 05:50 PM
The Integer To FXP function cannot act on arrays. So put your conversion code inside of a FOR loop.
06-08-2015 06:02 PM
06-08-2015 08:25 PM
@pablosan wrote:
Only the part that i use the integer to FXP?
Yeah, just the Integer to FXP needs to be in a FOR loop. Then you should have arrays going into the bundle.