Path: utzoo!attcan!uunet!lll-winken!ames!amdahl!oliveb!tymix!antares!jms From: jms@antares.UUCP (Joe Smith) Newsgroups: comp.sys.amiga Subject: Re: Multiple Serial Ports Summary: XOFF must be processed quickly Message-ID: <347@antares.UUCP> Date: 17 Jan 89 03:25:58 GMT References: <8812150227.AA09671@postgres.Berkeley.EDU> <14049@oberon.USC.EDU> <554@sunkisd.CS.Concordia.CA> <3241@sugar.uu.net> <147@ziggy.UUCP> <373@madnix.UUCP> <150@ziggy.UUCP> <385@madnix.UUCP> <154@ziggy.UUCP> Reply-To: jms@antares.UUCP (Joe Smith) Followup-To: comp.sys.amiga.tech Organization: Tymnet QSATS, San Jose CA Lines: 32 [I've changed the title and sent followups to comp.sys.amiga.tech] In article <154@ziggy.UUCP> scotty@ziggy.UUCP (Scott Drysdale) writes: > ... doing a write from DMA to serial port would be deliciously >efficient - but input's another story. how are you going to have the DMA >controller stop waiting for bytes from the UART and inform the host that >the transfer is complete without periodically polling the DMA to see if >anything came in, or adding timers on the serial board to generate interrupts >if no bytes have arrived after a certain (programmable) delay? > --Scotty One killer problem that I have come across is when the terminal at the other end demands immediate response to XON/XOFF. For instance: Lets say you have smooth-scrolling VT100 terminal running at 9600 baud. As the host tries to send a bunch of consecutive linefeeds, the VT100 will send a Control-S to the host, indicating that the host should stop sending. Some older terminals will lose data if the host sends more than 3 characters after the terminal sends XOFF. Here is where having a FIFO on the input side of the UART can work against you. And it's even worse if the DMA on the output side of the UART cannot be quickly disabled. Very nasty to have 16 characters sent to the terminal after it says to stop. I don't know if they make any UARTs that can be programmed to recognize Control-S (with and/or without parity) and have the hardware disable the transmit flag automatically when the XOFF is detected. If hardware won't do it, then there is an argument for using multiple dedicated microprocessors for multiple serial ports. -- +----------------------------------------------------------------------------+ | TYMNET:JMS@F29 CA:"POPJ P," UUCP:{ames|pyramid}oliveb!tymix!antares!jms | | INTERNET:(Real Soon Now) Amiga Hacker PHONE:Joe Smith @ (408)922-6220 | +----------------------------------------------------------------------------+