Here is the schematic of my PCB circuit, I have configured the registers but still didn't get any output frequency from the chip can you please where the problem could be? I need 5MHz output clock from PHIA1 and a SH1 interval with only one SH state. I'm sending you register configuration that I did, I used Arduino UNO to perform registers configuration via SPI. I used 16+ clock with 4 wires. CE pin is connedted to the VD (CE bits are 01 then) At first I send Dummy Bits to get 16 clocks and data values of last configured register and then the actual 16 bits. Please have a look on register values data below and let me know where the problem is as soon as possible. #include int ss=10; // using digital pin 10 for SPI slave select int DATAOUT=11; //MOSI int DATAIN=12; //MISO - not used, but part of builtin SPI int SCLK=13; //sck void setup() { SPI.begin(); pinMode(DATAOUT, OUTPUT); pinMode(DATAIN, INPUT); pinMode(SCLK, OUTPUT); pinMode(ss, OUTPUT); // used for Chip Enable pin SPI.beginTransaction (SPISettings (100, MSBFIRST, SPI_MODE0)); // our setup requires data to be sent MSB first, frequency 100Hz, mode 0 // Register write bit=,0 Chip Enable bits=01, 5=Reg. Address Bits, 8=Reg. VAlue Bits // Page Addresses: 3F then 0000 0000 // 0000 Page 0, 0001 Page 1, 0010 Page 2, Page 0011 Page 3, 0100 Page 4, 0101 Page 5, 0110 Page 6, 0111 Page 7, 1000 Page 8 digitalWrite(ss, LOW); SPI.transfer16(0xFFFF);//Dummy Bits SPI.transfer16(0x3F00);// Page 0 digitalWrite(ss, HIGH); delay(5); digitalWrite(ss, LOW); SPI.transfer16(0xFFFF);//Dummy Bits SPI.transfer16(0xA023);// Reg 0 Master mode digitalWrite(ss, HIGH); delay(5); digitalWrite(ss, LOW); SPI.transfer16(0xFFFF);//Dummy Bits SPI.transfer16(0x22C4);// Reg 2 digitalWrite(ss, HIGH); delay(5); digitalWrite(ss, LOW); SPI.transfer16(0xFFFF);//Dummy Bits SPI.transfer16(0x25E0);// Reg 5 digitalWrite(ss, HIGH); delay(5); digitalWrite(ss, LOW); SPI.transfer16(0xFFFF);//Dummy Bits SPI.transfer16(0x3F02);// Page 2 digitalWrite(ss, HIGH); delay(5); digitalWrite(ss, LOW); SPI.transfer16(0xFFFF);//Dummy Bits SPI.transfer16(0x3010);//Reg 16 No. of SH intervals and CISb digitalWrite(ss, HIGH); delay(5); digitalWrite(ss, LOW); SPI.transfer16(0xFFFF);//Dummy Bits SPI.transfer16(0x3F03);// Page 3 digitalWrite(ss, HIGH); delay(5); digitalWrite(ss, LOW); SPI.transfer16(0xFFFF);//Dummy Bits SPI.transfer16(0x2002);// Reg. 0 SH 0 state length 200ns digitalWrite(ss, HIGH); delay(5); digitalWrite(ss, LOW); SPI.transfer16(0xFFFF);//Dummy Bits SPI.transfer16(0x3F05);// Page 5 digitalWrite(ss, HIGH); delay(5); digitalWrite(ss, LOW); SPI.transfer16(0xFFFF);//Dummy Bits SPI.transfer16(0x2001);// Reg. 0 SH1 high at 0 state digitalWrite(ss, HIGH); delay(5); digitalWrite(ss, LOW); SPI.transfer16(0xFFFF);//Dummy Bits SPI.transfer16(0x3F06);// Page 6 digitalWrite(ss, HIGH); delay(5); digitalWrite(ss, LOW); SPI.transfer16(0xFFFF);//Dummy Bits SPI.transfer16(0x2000);// Reg. 0 PHIA 2 MSB for duty cycle low digitalWrite(ss, HIGH); delay(5); digitalWrite(ss, LOW); SPI.transfer16(0xFFFF);//Dummy Bits SPI.transfer16(0x2100);// Reg. 1 PHIA 8Bits for duty cycle low digitalWrite(ss, HIGH); delay(5); digitalWrite(ss, LOW); SPI.transfer16(0xFFFF);//Dummy Bits SPI.transfer16(0x2200);// Reg. 2 PHIA 8Bits for duty cycle low digitalWrite(ss, HIGH); delay(5); digitalWrite(ss, LOW); SPI.transfer16(0xFFFF);//Dummy Bits SPI.transfer16(0x231F);// Reg. 3 PHIA 8Bits for duty cycle 3 low 5 high digitalWrite(ss, HIGH); delay(5); digitalWrite(ss, LOW); SPI.transfer16(0xFFFF);//Dummy Bits SPI.transfer16(0x24FF);// Reg. 4 PHIA 8Bits for duty cycle high digitalWrite(ss, HIGH); delay(5); digitalWrite(ss, LOW); SPI.transfer16(0xFFFF);//Dummy Bits SPI.transfer16(0x25FF);// Reg. 5 PHIA 8Bits for duty cycle high digitalWrite(ss, HIGH); delay(5); digitalWrite(ss, LOW); SPI.transfer16(0xFFFF);//Dummy Bits SPI.transfer16(0x3F08);// Page 8 digitalWrite(ss, HIGH); delay(5); digitalWrite(ss, LOW); SPI.transfer16(0xFFFF);//Dummy Bits SPI.transfer16(0x2040);// Reg. 0 PHIA1 active timing digitalWrite(ss, HIGH); delay(5); digitalWrite(ss, LOW); SPI.transfer16(0xFFFF);//Dummy Bits SPI.transfer16(0x3F00);// Page 0 digitalWrite(ss, HIGH); delay(5); digitalWrite(ss, LOW); SPI.transfer16(0xFFFF);//Dummy Bits SPI.transfer16(0xA023);// Reg 0 Master mode (PLL & Registers Lock) digitalWrite(ss, HIGH); delay(5); } void loop() { //exit(0); }
↧