From: Groepaz (groepaz_at_gmx.net)
Date: 2003-06-24 21:10:50
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 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) gpz Message was sent through the cbm-hackers mailing list
Archive generated by hypermail pre-2.1.8.