Thanks for the reply. When I said this is my first experience with the CF, I meant "ColdFire". But, this is my first PLL issue also... 
When Processor Expert inits the clock, it generates the following code.
/* System clock initialization */ if (*(unsigned char*)0x03FF != 0xFF) { /* Test if the device trim value is stored on the specified address */ MCGTRM = *(unsigned char*)0x03FF; /* Initialize MCGTRM register from a non volatile memory */ MCGSC = *(unsigned char*)0x03FE; /* Initialize MCGSC register from a non volatile memory */ } /* MCGC2: BDIV=0,RANGE=1,HGO=1,LP=0,EREFS=1,ERCLKEN=1,EREFSTEN=0 */ setReg8(MCGC2, 0x36); /* Set MCGC2 register */ while(!MCGSC_OSCINIT) { /* Wait until external reference is stable */ } /* MCGC3: DIV32=1 */ setReg8Bits(MCGC3, 0x10); /* MCGC1: CLKS=2,RDIV=3,IREFS=0,IRCLKEN=1,IREFSTEN=0 */ setReg8(MCGC1, 0x9A); /* Set MCGC1 register */ while(MCGSC_IREFST) { /* Wait until external reference is selected */ } /* MCGC3: LOLIE=1,PLLS=0,CME=0,DIV32=1,VDIV=8 */ setReg8(MCGC3, 0x98); /* Set MCGC3 register */ /* MCGC4: ??=0,??=0,DMX32=0,??=0,??=0,??=0,DRST_DRS=0 */ setReg8(MCGC4, 0x00); /* Set MCGC4 register */ while((MCGSC & 0x0C) != 0x08) { /* Wait until external clock is selected as a bus clock reference */ } /* MCGC2: BDIV=0,RANGE=1,HGO=1,LP=1,EREFS=1,ERCLKEN=1,EREFSTEN=0 */ setReg8(MCGC2, 0x3E); /* Set MCGC2 register */ /* MCGC1: CLKS=2,RDIV=3,IREFS=0,IRCLKEN=1,IREFSTEN=0 */ setReg8(MCGC1, 0x9A); /* Set MCGC1 register */ /* MCGC3: LOLIE=1,PLLS=0,CME=0,DIV32=0,VDIV=8 */ setReg8(MCGC3, 0x88); /* Set MCGC3 register */ /* MCGC3: LOLIE=1,PLLS=1,CME=0,DIV32=0,VDIV=8 */ setReg8(MCGC3, 0xC8); /* Set MCGC3 register */ while(!MCGSC_PLLST) { /* Wait until PLL is selected */ } /* MCGC2: LP=0 */ clrReg8Bits(MCGC2, 0x08); while(!MCGSC_LOCK) { /* Wait until PLL is locked */ } /* MCGC1: CLKS=0,RDIV=3,IREFS=0,IRCLKEN=1,IREFSTEN=0 */ setReg8(MCGC1, 0x1A); /* Set MCGC1 register */ while((MCGSC & 0x0C) != 0x0C) { /* Wait until PLL clock is selected as a bus clock reference */ } /* MCGC3: CME=1 */ setReg8Bits(MCGC3, 0x20); /* Enable Clock monitor */
I think part of my "Lost in Space" issue may be that I had no vector for the loss of lock interrupt (the interrupt was enabled). So I will handle that next time the unit is on the bench. But that does not answer why it lost lock (assuming thats whats happening).
The investigation continues.
Bob