Shop OBEX P1 Docs P2 Docs Learn Events
P2 PLLs - registers and emulation — Parallax Forums

P2 PLLs - registers and emulation

jmgjmg Posts: 15,148
edited 2015-11-11 05:05 in Propeller 2
Right now, builds are not using even a fixed FPGA PLL, but the real P2 will use custom cells of [XtalOsc+bias resistor + Schmitt-buffer] and also [VCO and 3 x Dividers and PhaseCompare] to generate the system clock.

From other threads:
Can the FPGA inbuilt PLL's be coupled to look like P2 PLLs' for run-time changes, and with the same quantisation ?. (ie register emulation)
Or, is the design limited to build-time PLL choices ?
If the PLL is working, can we modify the clock?
cgracey wrote: »
In my experience, to get an Altera PLL to feed from an NCO, the only way to do it is to output the NCO on a pin and then input it on another to feed the PLL. Quartus is very picky like that.

You can reconfigure PLLs at run-time, but you need to feed them a configuration bitstream. Not simple.

leads me to wonder

a) What Xtal range, and PLL control registers / dividers & PFD range are planned in final P2 ?

b) How much test coverage can those get, using a FPGA, given above caveats ?

An external PLL can be updated live at run-time, but modern parts like Si5351A have i2c bus control and rather complex register sets.

There are some older PLLs that have simpler regs and more direct parallel bus control like
OnSemi
NBC12430 :
fPD = 1MHz= Xi/16,
fVCO = 400−800 MHz,
Fo = fVCO/(1,2,4,8)
Feedback divider = 9b [200..400],
fVCO/2/(FBD)

IDT
ICS844S42I Xtal = 16MHz,
fPD = Xi/4 or Xi/2,
fVCO =1296 – 2592MHz
Fo = fVCO/(1,2,3,4,6,8,16)
Feedback divider = 10b [162..648],

Those (with some divider augmentation ) may allow P2 PLL register emulation in a FPGA, by using the external VCO/PLL devices.
Will that get close enough, or is it better to have a Si5351A, with an external MCU, or a Soft CPU in the fpga corner, ( or direct verilog) to convert the P2 PLL registers to i2c array mapping needed by Si5351A ?

The Si5351A is easily available and comes on a small Board. Good to 200MHz Fo.
https://www.adafruit.com/products/2045

Edit : SiLabs AN619 has info on register values.
Si5351A
Xtal = 25MHz, 27MHz
fVCO = 600 to 900 MHz
fO = fVCO/(R*M), R = 1, 2, 4, 8,....128 , M = 4, 6, 8..900 in integer mode.
fPD - unclear ? 10 to 40 MHz ?
CLkIn_Div = (1,2,4,8) for 10MHz~> 100MHz on extclk.

If it is kept in integer mode, maybe this can map-over to P2 PLL registers reasonably ?

Comments

  • I have one of the Ada fruit boards, bought as a potential solution for the floating ball #1 issue on the 1-2-3 boards. It could provide external clock to the board but the Chip would need to build images that look for external clock on the 123 boards. I could test it with the P1V on the 123 but that would distract me chasing down a new rabbit hole.

    It looks like testing the P2 PLL could be a challenge!
Sign In or Register to comment.