Jaap van Ganswijk wrote:
> At 2004-07-14 19:33, ali marjovi wrote: > >I'm building a data aquisition system with one 8 bit > >input sampled at 400khz and need to save stream of > >about 1 minute duration in PC RAM. > >I'm using ADC0820 as A2D and also data transfer > >through ISA bus . > >My question is about PC part.Is it nessecary to use > >DMA transfer? > > It depends on if you want to do anything else during > the transport. The strange thing with a PC is that the > CPU is about as fast as DMA when you use string > instructions. I'm now talking about early PC's, so > upto the 286. > > With modern CPU's it might even be possible to do it > with the CPU using interrupts. If you have a 1 Ghz > CPU (like I have) you can execute about 2 G instructions > per second so you can execute 2000000/400=5000 > instructions between two samples, which should be > enough even when the cache isn't cooperating > optimally. You'll used DMA when you have a controller pushing your A/D-data directly into the main memory of the host system. Otherwise you'll have a driver or something similar that work with the CPU which is not DMA. I can't see any advantage to put just 400k *8 bits /s = 390kB/s with DMA. A CPU is usually fast enough to move the data quick enough to the computer's main memory if you directly stream it down. I would not worry about it too much. Don't mess around with DMA programming at these data rates except you want to buffer in your application, do some calculation with a DSP for example and then send it as fast as possible to the host (preferably in burst mode-DMA then). Pierre -- Author: docydoc INET: [EMAIL PROTECTED] Fat City Hosting, San Diego, California -- http://www.fatcity.com --------------------------------------------------------------------- To REMOVE yourself from this mailing list, send an E-Mail message to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB CHIPDIR-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing).
