# DS1077 to drive a PIC's clock

I found the DS1077, a "dual-output, programmable, fixed-frequency oscillator". I was wondering if it would be possible to let this chip provide the clock signal for the PIC(18F46K22) that operates the chip over I2C. So, what I'd like to do is this:

simulate this circuit – Schematic created using CircuitLab

The advantage of this would be that I would be able to change the frequency (i.e. the MIPS) on the fly. What I'm going to do with that, I don't know yet.

The thing is, I'm not sure if the output signal of the DS1077 will be compatible with the PIC and what kind of circuit I'd need for this. Until now, I only used crystals and the internal oscillator.

Also, I don't know if there will be a problem with the I2C communication when I change the frequency of the PIC on the fly?

• One thing to watch out for: how do you start after a power up? Either the DS must output a clock signal right from the start, or you must start on another (18F internal?) oscillator and then switch over (can your 18F do this?) – Wouter van Ooijen Apr 12 '13 at 18:49
• @WoutervanOoijen not sure, but the DS1077 has a non-volatile frequency memory, so I hope it will start as soon as you power it on, but I can't find this in the datasheet. If not, the 18F46K22 can switch clocks (it's on page 41 of the datasheet), and starting up with the internal oscillator is a good idea indeed! – Keelan Apr 12 '13 at 18:55
• I2C specification is down to DC, but not all chips follow that part of the spec. – jippie Apr 12 '13 at 20:40

The MSSP baud rate is generated from the oscillator frequency, so the BRG value will need to change whenever $F_{OSC}$ changes.