Re: Logging 2 million samples a second for 15 minutes

> I have an instrument in mind that would need to log 8-bit ADC readings > at 2MHz for around 15 minutes. That comes to nearly 2 gigabytes of data. > After the samples are stored they can be analyzed at leisure using > programs on a PC. > > Actually, the instrument currently exists, and is the most godawful > mix of CAMAC crates and PDP-11's and SMD drives (hey, it was reasonable > in the mid-80's). As much as I love that stuff, there has to be a better > way to do it today. Besides, the power bill to keep all of those 14" > SMD platters spinning simultaneously has been adding up too long. > > If possible I'd like to improve the sample rate to 8 or 16MHz in the > "new updated" version. > > If the number of samples were much smaller I'd just log it into some SRAM > and be done with it. But 2 Gigabytes of SRAM is too much money. > > If the rate were much lower I'd just read it into a PC-clone parallel port > log it to the hard disk, and be done with it. But I don't think the > parallel port on a PC-clone can handle that rate. There are parallel > ports that do guarantee DMA at that rate (strangely enough most of them are > named after the DR11 board currently used in the PDP-11 version) but > they drop samples between each DMA-block read and that's not acceptable. > > So maybe I should just hook a smallish IDE hard drive to some electornics > that does the sampling, and throw in a microcontroller to supervise > the thing. The data wouldn't pass through the microcontroller, it > would just be in charge of issuing the write command for the next sector > and then it would let the ADC's pass the data to the drive. > > Is that a reasonable approach? Would I need to throw in some buffering > for when the IDE drive isn't ready for the data? > > Any similar or alternative designs floating about on the net? > > Tim.

Do a search for 'data acquisition boards". A few thousand dollar board and a spare PC should exceed your requirement.

For example:

formatting link
formatting link

--
John Popelish
Reply to
John Popelish
Loading thread data ...

The 7/9 track digitizer I'm prototyping uses five AD9201 ten bit two channel 20mhz converters, and a synchronous FIFO connected to a PCI DMA IDE channel inside a PowerMac, which has several gigabytes of SDRAM.

2 to 3gb of ram on a desktop machine isn't THAT expensive any more.
Reply to
Al Kossow

I just copied 13 megabytes, a directory with a bunch of files, from my c: drive to d: in under 2 seconds, including all the Windows file overhead. Old 700 Mhz Dell PC. So the disk stuff is in the ballpark. You'd probably need a fancy buffered or DMA data acq card to keep streaming the samples into RAM while the disk drivers were sputtering to unload the stuff. I should thing some of tha data acq card vendors would have all this worked out already.

John

Reply to
John Larkin

are

I think you know the probable answer to that. Until someone familiar with IDE chimes in, I'd suspect you'd need some kind of FIFO or circular buffer in the pipeline somewhere, so you can guarantee the storage, at the data rate, of the original samples. Then if you can pull them out, at, say, 2.5 MHz with a

50ms "hiccup", you know you'll need to have at least a:

50ms + (x/2.5Mhz) = x/2.0Mhz // match fill time with extract time

.05s + (x/2.5M)s = (x/2.0)s // convert to seconds

.05=x/2.0M-x/2.5M // remove seconds units

10M(.05)=5x-4x // multiply by 10M

500,000 = x // this is the number of bytes that satisfy the first equation

In other words, a 500kByte buffer. Kind of like CD anti-skip protection on automobile and sports CD players.

You could "double buffer" also, into two 500kbyte buffer, and have the synchronous filling routine switch from one to the other when the first is filled. In this case, all you care is that the extractor can wait when it has finished reading one buffer until the next "switch".

hth

Rufus

-----= Posted via Newsfeeds.Com, Uncensored Usenet News =-----

formatting link
- The #1 Newsgroup Service in the World!

-----== Over 80,000 Newsgroups - 16 Different Servers! =-----

Reply to
Rufus V. Smith

SDRAM is cheap ($130-200/1G, in 1G SIMMs). Not all PeeCee motherboards will support huge amounts of memory, of course.

unsigned char my_data[1800000000]; // ??

Best regards, Spehro Pefhany

--
"it's the network..."                          "The Journey is the reward"
speff@interlog.com             Info for manufacturers: http://www.trexon.com
Embedded software/hardware/analog  Info for designers:  http://www.speff.com
Reply to
Spehro Pefhany

here is a scan of the proto pcb

formatting link

Reply to
Al Kossow

Maybe convert to 400Mbps Firewire and dump the data into a Firewire RAID or a desktop computer? The Oxford 911 chipset is designed to be an IDE to Firewire bridge but it allows for custom firmware. Ask them if the IDE interface could be reprogrammed to take in a continuous data stream.

I'm sure the R&D would be a pain in the ass but you could mass produce them for a few dollars each after that.

Reply to
Kevin McMurtrie

What's the interface to the computer? I count 50 pins on the ICD header on the right of the board, SCSI?

Tim.

Reply to
Tim Shoppa

You could do it with a PC, a little FIFO, a shift register, and one of those new 60 megabits per sec serial cards. I've seen them even at CompUSA!

At those speeds you even have time to do a little delta data compression if your data is amenable. Then you don't need a very speedy disk drive at all.

Regards,

George

Reply to
George R. Gonzalez

IDE, used as a 16 bit DMA interface.

After a long search I decided that bog standard bus master PCI IDE cards were the simplest way to interface moderate speed data into current pc's.

My current favorite is the side raid66 card, which uses a documented Highpoint HPT368 part, and has a 40 pin connector coming out the fence.

This obviously assumes the config rom has been modified so that the OS doesn't try to touch it as a disc (not an issue on a Mac running OS9, since the card isn't recognized)

The pcb in the picture is just a bare board, the A/D - FIFO data path was fabbed, but the rest of the interface is wire-wrap. There is a second FIFO prototyped on the right side for disc interface prototyping where an A/D isn't needed.

Reply to
Al Kossow

If you don't find a better way, you might try reading it into two independent disks, staggered. Then later you fill in the drops in one of them from the other. A side benefit is you get a partial backup and also if god-forbid some of the readings they share aren't the same then at least you find out about it.

Reply to
jonah thomas

I'd go for a PCI card and have it write samples through DMA directly into the PC's memory.

--
Reply to nico@nctdevpuntnl (punt=.)
Bedrijven en winkels vindt U op www.adresboekje.nl
Reply to
Nico Coesel

This guy here is evidently the toy of choice for such applications.

formatting link

And if you van get work to pay for it, you can use it to experiment with GnuRadio in your spare time. :)

Rob

Reply to
Rob Judd

Reply to
Fred Bloggs

I'd be looking at USB 2.0 - it's faster (480 Mbits/s), and is supported on almost all newer computers.

Reply to
Da Man

Is this based on experience or on reading advertizing?

In the tests i have seen so far, FireWire outperformed USB2 by 30% in net transfer rate :-)

Regards Klaus

Reply to
Klaus1.Seegebarth2

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.