I see no reason why you couldn't use an external 20 MHz crystal on the 4550 and 4553, and run them at 48 MHz.
Try with these settings, I know these worked.
Code:
' 184550 external oscillator 20MHz
...
DEFINE OSC 48
...
DEFINE HSER_RCSTA 90h ' Enable serial port & continuous receive
DEFINE HSER_TXSTA 20h ' Enable transmit, BRGH = 0
DEFINE HSER_CLROERR 1 ' Clear overflow automatically
DEFINE HSER_SPBRG 25 ' 115200 Baud @ 48MHz, 0,16%
SPBRGH = 0
BAUDCON.3 = 1 ' Enable 16 bit baudrate generator
I used 22pF ceramic caps on the crystal.
Like these round brown ones:
http://www.capacitorguide.com/ceramic-capacitor/
Also, notice this has a low error percentage despite the higher rate, only 0.16% compared to your 1.36% (I'm assuming negative is irrelevant on this value, I could be wrong).
One last thing, 48 MHz on the 4550 would let you use USB later if that's a requirement.
Robert
Bookmarks