Re: UART Autoflow Prob at C64/C128

From: Michael Huth (520052975648-0001_at_t-online.de)
Date: 2003-06-25 15:43:42

At 21:10 24.06.2003 +0200, you wrote:
>On Tuesday 24 June 2003 20:58, Marko Mäkelä wrote:
>
> > we made an interface with RS232, IEEE488 and IDE functionality.
> > A while ago I made the routines for the 16C550 Uart and I discovered
> > two things that are described in the spec sheet, but that I could not get
> > working.
> > First thing is, Bit 1 and 2 in the Fifo Control Register should clear the
> > Fifos, Shift Register and Fifo counter. I could not get this work, I
> > thought it could be quite useful to purge the fifos.
> > Second and more disturbing thing is: The 16C550 should feature an autoflow
> > control for RTS/CTS handshake. The spec sheet described that the chip
> > deactivates RTS if the Receiver Fifo runs beyond the Trigger Level. Well, I
> > tried to use the autoflow control, but after several fifo overrun errors, I
> > found out that the RTS autoflow does not work. RTS simply stays active,
> > even if the Receiver FIFO runs full.
> > I set RTS now by software. This after all has the problem, that the latency
> > time until the software recognizes a full buffer and deactivetes RTS is
> > longer. So at high baud rates, there will be data loss. (f.e. at 1MBaud ca.
> > 17 cycles at 1Mhz)
> > Someone got some experience with this?
>rr.c64.org/silversurfer .... some working code here

Hmm, the silversurfer docu states nothing about an autoflow control 
feature. I already wrote my own rs232 routines and they work without 
problems, but with software triggered RTS though.
I thought it might be more stable against buffer overruns if I use the 
AF-Control feature as stated in the spec sheet.

>the autoflow stuff needs a bit of external hardware if i remember right... ie
>it wont raise RTS on fifo full, but it will raise another pin that you will
>have to rewire to RTS. (it might be the same pin used to generate NMI in
>other carts with that uart)

I could not find such pin and the uart docu always talks about /RTS directly.
But maybe the AF-feature is no standard feature for 16C550 Uarts?
In the silversurfer docu the 16c550 described there does not have it. And 
the other thing is
my friend who did the hardware gave me the spec sheet of the Texas 
Instruments TL16C550C but he built an Hynix 16C550 on the interface.
Ok thats it, after getting the Hynix's 16C550 spec sheet, I found out that 
this Uart does not implement the AF feature :/
I need to talk some serious words with my hardware building friend, *grrr*

Ciao...
              ...Micha



       Message was sent through the cbm-hackers mailing list

Archive generated by hypermail pre-2.1.8.