garvin@ncsuvx.ncsu.edu (Michael A. Garvin) (06/23/88)
I'm trying to find out the speed of the Amiga's serial port; i.e., what is the top baud rate it can handle. I've heard allusions as to 112kbaud, which seems normal and reasonable, but can it go higher? Also, PAULA handles the interfacing, doesn't it? Thanks for any help. ------------------------------------------------------------------------- garvin@ncsuvx.ncsu.edu Mike Garvin NCSU Raleigh, NC Insert disclaimer and witty comment here... -------------------------------------------------------------------------
dillon@CORY.BERKELEY.EDU (Matt Dillon) (06/23/88)
> I'm trying to find out the speed of the Amiga's serial port; i.e., >what is the top baud rate it can handle. I've heard allusions as to >112kbaud, which seems normal and reasonable, but can it go higher? >Also, PAULA handles the interfacing, doesn't it? > Thanks for any help. For NTSC Amiga's, a 15 bit value in SERPER controls the baud rate at N+1 color clocks @ 279.4ns/tick = maximum baud rate of 3.5MBits/sec. REALISTICALLY, however, don't count on better than 262KBaud with any reasonable accuracy (since it is all based on the 279.4ns tick) communicating with some other machine. For asynchronoius communications, there is also a problem with being able to receive at high speeds... the 68000 can't always handle the receive interrupt in time so you really can't go above 19.2KBaud on the receive without loosing characters (this will hopefully be fixed in 1.4, I know Bryce has found several nasty spots in EXEC where interrupts are disabled for too long). I personally, have successfully received asynch at 76.8 KBaud, but it required disabling multitasking (Forbid()) for long periods of time, and I had to write my own serial interrupt handler. Even then I get one or two overruns over a 30 second period of continuous incomming data. synchronous communication is another matter entirely. For instance, if each byte is handshaked, there are no longer any timing constraints and a standard task could talk over the serial port with an agregate of >>262KBaud. If one is going Amiga to Amiga, you could probably max out the serial port. This would also work for a network.. For example, the receiving machine inverts an 'ack' line for every byte received. In anycase, theoretically, never tested, assuming 8N1 (10 bits/byte) @3.579098 MBits/sec, synchronous comm, plus 4 bit times for ack-tx-next-char, I figure one can go at about 255KBytes/sec from a normal task on a lightly loaded Amiga with all system functions working normally. -Matt