Phone Thet Khaing
2008-02-11 10:10:06 UTC
Hi,
We would like to generate and acquire data using NI PXI 6562 for 2GB of data with 50MHz for generation and 25MHz for acquisition, we have 1042Q chassis, NI PXI 8196 embedded controller(2.0GHz & 512MB RAM) & NI PXI 6562, so PCI bus is only used by 6562.
I am using examples "niHSDIO (U32) Stream from Disk Queues Win32 File IO".
I am now able to generate or acquire samples of 100MB , beyong that I got an error "data overwritten" for generation and "lower sample rate or write more data to streaming waveform" , how can i do to achieve 2GB of data generation and acquiring?
For PCI BW calculation,
for NI PXI 6562, for acquisition we can select data width of 1byte or 2 bytes for efficient onboard memory usage, so if we assign 1 byte, only 8 lines are for acquisition, therefore
Required Bandwidth = Acquisition Rate * Number of Channels * Memory per sample (Each line is 1 bit so 1/8 of a byte)
Using that formula, acquiring at 25 MHz we get 25MHz * 8 * 1/8 = 25 MB/s
So, there will be 25MB of samples will transfer through PCI Bus to controller memory and then write to HD, if my HD Write speed is 25MB/s average, streaming acquisition should work out smoothly, now the problem is that fetched data have been piling up in controller memory and subsequently it is full, unable to perform any more when it reach 100MSamples, How can I solve this problem?
for generation, data width is fixed at 2bytes for 16 channels so 1 bit for each channel,
Required Bandwidth = generation Rate * Number of Channels * Memory per sample (Each line is 1 bit so 1/16 of 2 bytes)
Using that formula, generating at 50 MHz we get 50MHz * 16 * 1/16 = 50 MB/s
Since 50MB/s is required, I tried to solve it by transferring most of my data to controller memory, I got an error message asking to reduce sample rate or write data to streaming waveform more frequently,
I would like to the bottleneck here, if I reduce the sample rate, data throughput is lower, I can do the streaming properly at 6MHz clk speed for 1GB of data, so is this the case of PCI Bus limitation for my 50MHz since it is required BW of 50MBps while 6MHz requires only 12.12MBps?
As you can see in picture attached, there is an increase in modular device on-board memory (space available in streaming waveform), as it increases, it will stop the application, we have 16MB of on-board memory, is on-board memory the bottleneck? How can I solve this?
One of my intention is to create some waveform in .hws format , write to onboard memory and repeat it, my only concern is that discontinuity between repition steps, can it happen ?
Thanks,
Storing data in controller memory.JPG:
http://forums.ni.com/attachments/ni/70/8168/1/Storing data in controller memory.JPG
Generation error.JPG:
http://forums.ni.com/attachments/ni/70/8168/2/Generation error.JPG
We would like to generate and acquire data using NI PXI 6562 for 2GB of data with 50MHz for generation and 25MHz for acquisition, we have 1042Q chassis, NI PXI 8196 embedded controller(2.0GHz & 512MB RAM) & NI PXI 6562, so PCI bus is only used by 6562.
I am using examples "niHSDIO (U32) Stream from Disk Queues Win32 File IO".
I am now able to generate or acquire samples of 100MB , beyong that I got an error "data overwritten" for generation and "lower sample rate or write more data to streaming waveform" , how can i do to achieve 2GB of data generation and acquiring?
For PCI BW calculation,
for NI PXI 6562, for acquisition we can select data width of 1byte or 2 bytes for efficient onboard memory usage, so if we assign 1 byte, only 8 lines are for acquisition, therefore
Required Bandwidth = Acquisition Rate * Number of Channels * Memory per sample (Each line is 1 bit so 1/8 of a byte)
Using that formula, acquiring at 25 MHz we get 25MHz * 8 * 1/8 = 25 MB/s
So, there will be 25MB of samples will transfer through PCI Bus to controller memory and then write to HD, if my HD Write speed is 25MB/s average, streaming acquisition should work out smoothly, now the problem is that fetched data have been piling up in controller memory and subsequently it is full, unable to perform any more when it reach 100MSamples, How can I solve this problem?
for generation, data width is fixed at 2bytes for 16 channels so 1 bit for each channel,
Required Bandwidth = generation Rate * Number of Channels * Memory per sample (Each line is 1 bit so 1/16 of 2 bytes)
Using that formula, generating at 50 MHz we get 50MHz * 16 * 1/16 = 50 MB/s
Since 50MB/s is required, I tried to solve it by transferring most of my data to controller memory, I got an error message asking to reduce sample rate or write data to streaming waveform more frequently,
I would like to the bottleneck here, if I reduce the sample rate, data throughput is lower, I can do the streaming properly at 6MHz clk speed for 1GB of data, so is this the case of PCI Bus limitation for my 50MHz since it is required BW of 50MBps while 6MHz requires only 12.12MBps?
As you can see in picture attached, there is an increase in modular device on-board memory (space available in streaming waveform), as it increases, it will stop the application, we have 16MB of on-board memory, is on-board memory the bottleneck? How can I solve this?
One of my intention is to create some waveform in .hws format , write to onboard memory and repeat it, my only concern is that discontinuity between repition steps, can it happen ?
Thanks,
Storing data in controller memory.JPG:
http://forums.ni.com/attachments/ni/70/8168/1/Storing data in controller memory.JPG
Generation error.JPG:
http://forums.ni.com/attachments/ni/70/8168/2/Generation error.JPG