Compare the same SPI command sent from two PICs, one on the breadboard prototype of my Ifos project and one on the pcb-based version:
What gives? There's a clear sine wave screwing things up, and I'm sure it's indicative of something basic and obvious... to an electrical engineer (which I'm not). It's probably somewhere in the first 50 pages of The Art of Electronics, but spoon-fed answers are always welcome, if anyone has a suggestion.
Could it be the SCK and SDO traces are too close together? I don't think so; I cut the SDO trace back to the µC pin, trying to eliminate all other circuit paths from the equation—same problem. Could it have something to do with the ground plane? Not sure; the breadboard version doesn't have one, of course. Could it be the ICSP modifications I made, or maybe the MCLR isolation resistor/capacitor/diode I added at the suggestion of some application note? Maybe; it's worth adding them to the working version to measure their effect. Could it be the power regulation? It seems cleaner for the breadboard version, but the pcb's is fairly flat, too.
Sometimes I'm just not in the mood to track down mysterious and unexpected problems.