Article View: comp.sys.amiga.networking
Article #146Re: Let's create a fast serial port
From: Rask Lambertsen
Date: Tue, 28 Nov 1995 13:12
Date: Tue, 28 Nov 1995 13:12
65 lines
3719 bytes
3719 bytes
On Thu, 23 Nov 1995 19:59:17 CET Marc 'Nepomuk' Heuler (marc@aargh.incubus.sub.org) wrote: > In article <48pko1$63g@unidhp.uni-c.dk>, Rask Lambertsen writes: > > I think it is a good idea to use the floppy port, but it is not easy: > > > > Start and stop bits. > A byte can begin anytime (indicated by the start bit). To stay in sync > with the sender, our expansion has to be handle them in hardware. > > Unknown DMA lengths (how do we know how much to transfer?) > The expansion could send a length information in front of the data. The > computer could always read a fixed length buffer, and afterwards discard > unwanted data. > The hardware fifo buffer must have a certain size. A DD floppy drive reads > about 12K/sec, one track holds about 6K of data. One can safely assume Closer to 25 kB/sec (after decoding). Remember that the transfer rate between the drive and the controller is 500000 bits/s. Due to MFM encoding, half of that, 250000 bits/sec, is data. On a DD floppy, one track contains 5.5 kB of data, 11 kB on a HD floppy. > that normal floppy drive operation blocks the DMA channel for reading AT > LEAST one track in one go. This means our hardware fifo buffer must hold > minimum 0.5sec of serial data, or 1 sec if HD drives are installed. You can only DMA one track at a time. No more is possible. The buffer must hold 11*8*1024/250000 seconds of data. > At 115,200bps this requires 5,760 bytes (11,520 for HD) of fifo buffer! > Assuming there's an OS legal way to split up multitrack (or -diskside) > floppy drive operations - which I didn't verify. Again, you can't DMA more than one track at a time, but question that remains is how to grab the DMA channel before trackdisk.device starts DMA'ing the next track. > Unfortunatly, on low-end computers floppy and serial operations always > appear simultanously (downloading a file to disk). Yes, unfortunately, that is the *big* problem. > Possibly our device, can talk to the computer by the INDEX (FLAG) signal to > inform it about incoming data. It causes an CIA-B interrupt. I didn't > check however, whether we can share it with trackdisk.device, and whether > it is active all the time (maybe AND'ed with SELx?). Otherwise the driver > software would have to read the hardware buffer regularily in certain time > intervals - slowing down floppy drive operation. It should be possible to share that interrupt with trackdisk.device. > Less complex, it think, is my first proposal: plug the hardware into the > internal serial/parallel port, and decouple the bps rate. Yes, but that won't give high transfer rates, which is what is needed. -- Regards, /¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯\ | Rask Ingemann Lambertsen | E-mail: gc948374@gbar.dtu.dk | | Amiga GNU CC README maintainer | WWW: http://www.gbar.dtu.dk/~gc948374/ | | Keyboard error: <Ctrl> and <Alt> are stuck - press <Del> to continue |
Technical Details
Message-ID:
<49f1sq$t1o@unidhp.uni-c.dk>Path:
arc1-ca.pugleaf.net!lillep.gbar.dtu.dk!gc948374References:
<486ur1$hpk@unidhp.uni-c.dk> <stoDx*s7a@aargh.incubus.sub.org> <48luuq$7di@harpo.uccs.edu> <le9Gx*q8a@aargh.incubus.sub.org>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!lillep.gbar.dtu.dk!gc948374 From: gc948374@lillep.gbar.dtu.dk (Rask Lambertsen) Newsgroups: comp.sys.amiga.networking,comp.sys.amiga.datacomm,comp.sys.amiga.hardware,comp.sys.amiga.programmer Subject: Re: Let's create a fast serial port Followup-To: comp.sys.amiga.networking,comp.sys.amiga.datacomm,comp.sys.amiga.hardware,comp.sys.amiga.programmer Date: 28 Nov 1995 13:12:58 GMT Organization: DTU Message-ID: <49f1sq$t1o@unidhp.uni-c.dk> References: <486ur1$hpk@unidhp.uni-c.dk> <stoDx*s7a@aargh.incubus.sub.org> <48luuq$7di@harpo.uccs.edu> <le9Gx*q8a@aargh.incubus.sub.org> NNTP-Posting-Host: lillep.gbar.dtu.dk X-Newsreader: TIN [version 1.2 PL1]