[Coco] Utility of large MPI
RETRO Innovations
go4retro at go4retro.com
Wed Feb 3 20:25:26 EST 2016
On 2/3/2016 5:38 PM, Dave Philipsen wrote:
> I know I'm kind of jumping in the middle of this conversation and I
> haven't followed it that closely as it has progressed but I just
> thought I'd interject a thought here for whatever it's worth.
>
> I'm sure, too, that OS9 could handle a large number of serial ports.
> A couple of things that would lessen the load on the CPU would be a
> way of consolidating multiple ports to one interrupt and a register
> that would indicate which port(s) were causing the interrupt. Also, a
> buffered UART would probably help quite a bit. If instead of getting
> an interrupt for every single character received the CPU could get an
> interrupt when a buffer reaches a predefined level, then the
> interrupt routine could suck multiple characters from multiple UARTs
> with just one interrupt. This is the way some modern multi-port
> serial cards work.
>
> Over the last few months I have been working on an FPGA project and
> I've found that FPGAs lend themselves quite well to the task of serial
> communications. While I certainly don't consider myself to be an
> expert with FPGAs I can tell you that even a small FPGA could handle
> the task of running multiple UARTs and interfacing them to a CPU. The
> current design I'm working on has 9 serial ports of different flavors
> (some xmt only, some RS232, some RS485/422, etc.). Also, since I have
> control of the design I am not constrained to a particular baud rate
> generator or divider that most common UARTs have. I can generate
> practically any baud rate I want including non-standard ones. One
> could even design a sort of "DMA-like" interface or a memory-mapped
> array such that much of the overhead of the serial communications
> could happen in hardware and the CPU could simply suck the data out of
> the array without even using interrupts.
I think there is a market for a 16c754-like quad uart:
http://www.ti.com/product/tl16c754c
That has a 6551 compatible register mapping (at least for the basic UART
functions)
If you designed it (even just the Verilog), I would buy a license to use
for sure.
Jim
More information about the Coco
mailing list