annala@neuro.usc.edu (A J Annala) (02/12/90)
I have an eight channel multiplexed analog to digital converter hooked up to a SONY PCM-F1 digital signal processor (aka digital audio to VCR video conversion box). The 16 bit wide * 88.1 KHz data stream can be retrieved as a 16 bit TTL bus signal plus data ready strobe via 25 pin RS-232-C shell connector on the back of the box. The data stream is currently being read into an IBM PC/AT via a simple TTL compatible digital input card using channel 6 on the second 8237A DMA controller. The problem comes when I try to simultaneously input the data stream from the digital input card and write the data to hard disk. I get many errors from the disk (going through either Turbo C formatted/unformatted io calls, MSDOS file service calls, MSDOS fixed disk service calls, or BIOS fixed disk service calls) when I try to do a write while simultaneously reading data from the DMA chip. Perhaps if I were to use a large capacity FIFO chip in the data stream I might be able to mask out (disable) channel 6 for long enough to write data to the hard disk. Does anyone have any suggestions here? Dr. Dobbs used a 1024 byte FIFO chip (IDT7202 source unknown) to buffer data about 100 KBytes/second. His code ran in an interrupt service routine (does this maybe suspend DMA briefly?). In any case I am open to suggestions about how to get this data into memory and write it to disk continuously and without interruption. Thanks, AJ