Greetings.
I have a small embedded application to develop that needs 1) a UART, 2) SPI (or other interface for flash-based card memory, SD preferred), 3) A/D, 4) D/A (PWM OK), and 5) a USB 2.0 port.
The Microchip PICs 18F2550 or 4550 would appear to be a great fit (performance, memory and cost too) except ...
They put the UART receive data input (RX) and the SPI data output (SDO) on the same pin. Arrrgh!
Workaround possibilities I have thought of / am considering:
1) Multiplex the pin (requires external hardware, may be impossible to multiplex, given data flow / timing / performance requirements (or at least a real PITA)).2) Make a software UART out of a generic I/O port instead of using the on-chip hardware (i.e. "bit-bang.")
3) Make a software SD card interface out of generic I/O ports instead of using the on-chip hardware (perhaps using the 4-bit SD card bus to make up for an undoubtedly slower clock?).4) Push one or the other functions off to external hardware entirely.
5) Find another micro that can do the job. (I haven't found this particular on-chip I/O combination anywhere else yet, though. No hints on Microchip discussion boards either.)All (except the last, of course) offend my sense of engineering elegance. I would love to hear other opinions and suggestions.