Tool/software:
Hello E2E Experts,
Good day.
I got some quetions about cdce906.I configured the registers, with an input clock of 8 MHz. The output of Y0 and Y1 is 8 MHz, and the output of Y2 to Y5 is 64 kHz. I wrote this into the EEPROM.After I reset the microcontroller and executed the program writing, the frequencies measured at each pin through the oscilloscope were consistent with the expectations.Then I erased the program of the microcontroller.I turned off the entire device and then re-powered it.The input clock is still 8 MHz, but the outputs Y2 to Y5 have changed to 1 MHz. Why is this?
I know I should set EEWRITE bit to 1, which is bit7 of the last byte.But there's still something wrong: after I config cdce906(input 8MHz,output Y0~1 8MHz,output Y2~5 64kHz,working correct).when I repowered,all output(Y0~6)turn out to be 1MHz,if it is default value ,it should be all 8MHz. Is it because the 64kHz frequency is too low that the PLL inside the chip cannot function properly?
here is my code to configure cdce906:
void cdce8to64kto8P2(void)
{
Cdce_Write_Byte(0x1A, 0x9B); //EEPROM write enable
delay_1ms(10);
Cdce_Write_Byte(0x01, 0x01);
Cdce_Write_Byte(0x02, 0x01);
Cdce_Write_Byte(0x03, 0xE0);
Cdce_Write_Byte(0x04, 0x01);
Cdce_Write_Byte(0x05, 0x01);
Cdce_Write_Byte(0x06, 0x00);
Cdce_Write_Byte(0x07, 0x01);
Cdce_Write_Byte(0x08, 0x01);
Cdce_Write_Byte(0x09, 0x00);
Cdce_Write_Byte(0x0A, 0x00);
Cdce_Write_Byte(0x0B, 0x00);
Cdce_Write_Byte(0x0C, 0x00);
Cdce_Write_Byte(0x0D, 0x01);
Cdce_Write_Byte(0x0E, 0x01);
Cdce_Write_Byte(0x0F, 0x7D);
Cdce_Write_Byte(0x10, 0x7D);
Cdce_Write_Byte(0x11, 0x7D);
Cdce_Write_Byte(0x12, 0x7D);
Cdce_Write_Byte(0x13, 0x38);
Cdce_Write_Byte(0x14, 0x38);
Cdce_Write_Byte(0x15, 0x3A);
Cdce_Write_Byte(0x16, 0x3A);
Cdce_Write_Byte(0x17, 0x3A);
Cdce_Write_Byte(0x18, 0x3A);
Cdce_Write_Byte(0x19, 0x00);
Cdce_Write_Byte(0x1A, 0x1B);
delay_1ms(10);
Cdce_Write_Byte(0x1A, 0x1B); //EEPROM write disable
}
Regards,
TICSC