Back in, oh, somewhere around '92 or so [yes, the Dark Ages], as part of an embedded controller I designed [based in an x86 rack-mount box with a
16-slot ISA backplane], I needed to connect the computer to 6 serial lines. Since we only had a 33MHz '386 back then, I really didn't want the CPU to be interrupted at a rate of 6 x 9600 baud so I found something called an ACL-II board which was an embedded controller on an ISA bus card with an on-board 80188. My plan was to have this CPU do the communications and only interrupt the main processor when complete messages (~20-255) characters were received -- and likewise accept complete messages for transmission. Since the messages were sort-of fixed format, though not all the same, there was no way I could use the manufacturer's drivers so I wrote my own program to run on the 80188.I did this again in '94 and yet again in '96. But ACL-II boards are no longer available and one of the ongoing programs is seriously concerned about the impact of potential failures of 8-15 year old boards [this program has access to one spare]. There is a similar board currently being manufactured (DigiBoard) but it's not anywhere near a drop-in replacement. Along similar lines, another of the boards in the '96 system did video overlaying on an NTSC video stream; I don't remember the rationale now but we chose a Targa64+ board for that and it's no longer available either.
Two years ago when this program finally accepted the reality that we couldn't continue to keep their program running in 640KB under DOS [with an AMX-86 microkernel to make it a pre-emptive, multitasking system], they allowed me to migrate the program to Real-Time Linux and as part of that upgrade I moved the video overlay function out of that box into a separate "computer" [actually just 4 slots on a 16-slot backplane that had been electrically isolated from the other 12] on the theory that if the overlay function needed to be completely redone because their Targa64+ board and single spare both died, the impact to the main computer would be minimal. To facilitate this, I created a high-level protocol for the main computer and the video overlay computer (VO) to use that should be adaptable to almost any other hardware in the future.
Now I'd like to do this with the ACL-II card as well, using a separate "computer" to do the serial communications and communicate whole messages with the main computer via Ethernet. I just got the newest Mouser catalog today and in skimming though it I stumbled onto the Rabbit pages. The 3xxx series has 6 serial ports. Unfortunately, I need 8. So ... I have a few questions for anyone who has used them before:
- What type of "UART" is used in the Rabbit core? Is it an implementation of a common part or a totally unique component?
- If it's a "common" part, how easy or hard would it be to add a few more externally to a Rabbit development board, possibly on a daughter board attached with a ribbon cable?
- If it's a unique component, I might be tempted to ignore it and just add (the equivalent of) 8 UARTS. How easy or hard would it be to add a second board to connect to the Rabbit's bus on the development board?
- If it's unique and it's too hard to add peripherals to the development board, then I may drop the Rabbit. What other uC or uP are convenient to implement as a "computer" + arbitrary peripherals? [My main concern is that we don't have a very sophisticated PC board manufacturing capability and any second board would probably be wire-wrapped]. For reference, our 12MHz
TIA Norm