This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CDCE913 Clock to drive ADS901

Other Parts Discussed in Thread: ADS901, CDCE913, OMAP-L138

Hi,

I am using OMAP-L138 which has ADS901 attached to UI board. I wonder what maximum Pdiv2 value can be used to drive the ADS901 at the minimum possible sampling frequency ?

CDCE913_setOutput(cdce913_output_2, Pdiv2);   

User guide says 1-to-127 is the divider value, does that mean 27MHz/127 is the minimum outpuyt at Y2 ?

Thanks for your help.

-Tariq

  • Hi,

    Your posting was moved to the High Speed Data Converter forum, but I think I will have to move it to the clocking forum.  I can't see where the posting was moved from before it moved to this forum, but I hope it was moved from an OMAP forum and not the clocking forum.  I support the ADS901, but in this context I can only tell you that the max sampling rate for the ADS901 is 20Msps, which you can already see from the datasheet.  How to set the CDCE913 for that clock rate would have to come from the forum for that device.  I'll move this posting shortly.

    Regards,

    Richard P.

  • Hello Tariq,

    i am not familiar with the source code you use. If you could post the complete function i may could help better.

    Usually the CDCE913 can generate a VCO frequency between 80 and 230MHz out of the 27MHz input. This VCO frequency will be divided down to the output frequency by Pdiv2 or PdivX. The output frequency can be calculated with this formula: F_out = f_in*N/M* 1/PdivX  |where N/M is the mutiplication factor of input to VCO frequency

    this program can help to generate the settings of CDCE913: http://www.ti.com/litv/exe/scac119d

    Best regards,

    Julian

  • Hi Richard, Juliam,

    Thanks for your help.

    I already posted in OMAP forum 3 weeks earlier,  no one replied so I deleted that post and posted again on Precision Data Converter which moved to High Speed Data Converter.

    I am using OMAP-L138 which uses CDEC913 PLL to drive Camera, ADS901 and other clock. Attached is the OMAP-L138 User Interface board schematic. You see Y2 is the output of the PLL been used to drive ADS901 Clock.

    You are right about division. You can see Page 10, Figure 6 on CDCE913 User Guide (link given below) that Pdiv2 is the division factor for output Y2.

    http://www.ti.com/lit/ds/symlink/cdce913.pdf

    Page 17 of the same user guide says, 1-to-127 is divider value for Pdiv2. I asked if 127 decimal is the maximum value can be used to divide Y2 (27MHz/127) to drive the ADS901 at minimum sampling rate ?

    In brief, I want to know how can I set sampling rate to 10 kHz OR what minimum sampling rate can I get with this PLL and ADS901 ?

    CDCE913 Code snipped to set Pdiv2 value.

    CDCE913_setOutput(cdce913_output_2, Pdiv2);        //with 6, set to 4.5Mhz; with 3, set to 9 MHz.

    Above function further calls this function to set Y2 output.               
            

                    case cdce913_output_2:
                    CDCE913_readByte(PDIV_2, &regVal);
                    regVal &= 0x80;                             //keep bit 7
                    regVal |= (uint8_t)(divide_by & 0x7F);        
                    CDCE913_writeByte(PDIV_2, regVal);        
                    break;
                    
    Thanks.

    Tariq

  • Hello Tariq,

    output Y2 and Y3 can only divide up to 127. Output Y1 has divider which is more deep (1 - 1023).

    As well it is possible to put a different Xtal (8M to 32MHz) at the input.

    The software that i send you earlier can help you to configure the chip. Afterwards, you need to write the bytes of the saved hex file.

    Best regards,

    Julian

  • Hi Julian,

    Do you mean, I can use different Xtal (by changing Xtal value in software) to drive ADS901 at 8MHz/127 = 63kHz ?

    Thanks.

  • Hello Tariq,

    as i don't know, which output frequencies you need on Y1 and Y3, I can only suggest you to use the software that i send to generate the device register settings.

    If you change the Xtal while you are not using the internal PLL of CDCE913, you don't need to program that the xtal was changed physically. If you use the internal PLL, you need to reprogram the PLL settings to get the same output frequencies as before.

    best regards,

    Julian

  • Hi,

    Tariq Siddigui, did the TI Clock-Pro work with the OMAP-L138 EVM?

    Regards,

    Abebe Hailu

  • Abebe Hailu,

    I don't clearly understand what you mean but you can use Clock-Pro to see different outputs for different PLL setting.

    Tariq

  • Thanks for the reply Tariq Siddiqui,

    To clarify what I mean it is worth mentioning that I also have the OMAP-L138 EVM from Logic PD. And as you know it has an ADC with a sampling frequency of up to 20MSPS. My goal is to use the highest one, hence, I need to change the variables M and N in the equation F_out = f_in*N/M* 1/PdivX. But I don't know where I can change these, and in this forum Julian mentioned you can use the TI Clock pro to change it. I tried this by simply connecting the board via usb to my computer and start the program, but it didn't work.. Therefor I though I could ask you if it worked for you, if not, do you know how/where I can change the variables.

    So, what I want to do is:

    1. I know where I can change Pdiv2 (sent in to the function CDCE913_setOutput()) but where do I change the variables M and N so that I can get exactly 20MSPS as f_out => my sampling frequency.  

    2. From my calculation, f_in = 27MHz, N = 100, M = 135 and Pdiv2 = 1 will give me the desired sampling frequency. Is this correct?

    Best regards,
    Abebe Hailu

  • Abebe Hauilu,

    You can use the function given below and set Pdiv2 to drive ADC at different clock frequencies. I think it's not possible to set sampling frequency 20 MSPS because CDCE913 output Y2 is giving clock to ADC, if you set Pdiv2 to 1, PLL output will give 27 MHz which ADC doesn't support. Only option is to set Pdiv2 = 2 to get 13.5 MHz clock.

    CDCE913_setOutput(cdce913_output_2, Pdiv2);  

    There could be other ways to meet your goal which I don't know.

    Thanks.

    Tariq

  • Thanks for you reply. I hope that someone else can help me achieve the 20MSPS I want.

    Updates worth mentioning is that I now know that I can connect the board to the Ti Clock Pro by setting the SICON (bit 6 byte 2  in the generic configuration register) to 1 and then writing it to the EEPROM. But it seems that I also have to set Vddout to ground. Does anyone know how I can do this?


    Regards,

    Abebe Hailu

  • Hello All,

    please have a look at the CDCE913 datasheet table9, registersettings. or use the Ti Clock Pro software http://www.ti.com/litv/exe/scac119d to generate the setup and repister settings you need.

    To generate this outputs Y1=27MHz, Y2=20MHz, Y3=27MHz you can use this register settings:

    reg 0x02: 0x34

    reg 0x10: 0x00

    reg 0x11: 0x00

    reg 0x12: 0x00

    reg 0x13: 0x00

    reg 0x14: 0x4D

    reg 0x15: 0x02

    reg 0x16: 0x08

    reg 0x17: 0x00

    reg 0x18: 0xB4

    reg 0x19: 0x0A

    reg 0x1A: 0xB2

    reg 0x1B: 0xEA

    reg 0x1C: 0x00

    reg 0x1D: 0x40

    reg 0x1E: 0x02

    reg 0x1F: 0x08

    These settings will use the input frequency and buffer it directly to Y1 and Y3. The PLL will run at 200MHz and Pdiv2 is set to 10.

    You can write the bytes like in uint32_t CDCE913_init(void) with the Function CDCE913_writeByte(int registerAddress, int registerContent).

    Best regards,

    Julian

  • Thanks Julian, it works!

    However, doesn't the reg 0x16: 0x08 set the Pdiv2 to 8? Maybe you had different M and N.

    Thanks again for your assistance.

    Best regards,

    Abebe Hailu

  • Hello Abebe,

    you are right, the output div is 8 and VCO runs at 160MHz.

    Julian

  • Abebe,

    How can I connect EVM with Clock-Pro ?

    Are you able to achieve 20 MSPS ?

    Where we are supposed to write register settings Julian just mentioned ?

    Thanks.

    Tariq

  • Thanks very much Julian, now I understand how to manipulate the register settings.

    Tariq, I didn't use the Clock-Pro but it should be possible to do that by setting the Vddout to ground (since it seems that SICON is set to 1 by default in this EVMM). However, I did achieve 20MSPS by changing the values given by Julian in the registers. This is how I did it:

    1. Skip the function call CDCE913_setOutput(cdce913_output_2, Pdiv2);.

    2. Instead, use thefunction CDCE913_writeByte(int registerAddress, int registerContent). to set all the values stated in Julians post.  Like this:

       CDCE913_writeByte(0x02, 0x34);
       CDCE913_writeByte(0x10, 0x00);
       CDCE913_writeByte(0x11, 0x00);
       CDCE913_writeByte(0x12, 0x00);
       CDCE913_writeByte(0x13, 0x00);
       CDCE913_writeByte(0x14, 0x4D);
       CDCE913_writeByte(0x15, 0x02);
       CDCE913_writeByte(0x16, 0x08);
       CDCE913_writeByte(0x17, 0x00);
       CDCE913_writeByte(0x18, 0xB4);
       CDCE913_writeByte(0x19, 0x0A);
       CDCE913_writeByte(0x1A, 0xB2);
       CDCE913_writeByte(0x1B, 0xEA);
       CDCE913_writeByte(0x1C, 0x00);
       CDCE913_writeByte(0x1D, 0x40);
       CDCE913_writeByte(0x1E, 0x02);
       CDCE913_writeByte(0x1F, 0x08);
      

    You are supposed to write this in you main function. It will give you a sampling frequency of 20MSPS.

    I hope this somehow answers your question in this thread.

    Best regards,
    Abebe Hailu

  • Abebe,

    Thanks a lot.

    But how these register settings are generated ? How the same cane be done for other Y2 output ?

    Thanks.

    Tariq

  • Hello Tariq,

    i used http://www.ti.com/litv/exe/scac119d to generate the register settings. This program can be used without connection to an EVM.

    When the program starts up, a Wizard will appear. Within this Wizard you can select the number of outputs, input frequency and output frequencies. After you typed in the desired frequencies you can click on "generate setup" and select a solution. click ok.

    now you are able to see the register settings in the "Bit Viewer" or by saving the settings into a .hex file.

    best regards,

    Julian

  • Yes, it should be possible to do this for other Y2. To generate those you either try to use the Pro Clock yourself or you can kindly ask Julian for the settings for the specific Y2 output you want.

    Regards,

    Abebe

  • Thanks Julian and Abebe.

    One last thing I would like to ask:

    When we use BSL based code, there is no OS running on OMAP-L138, right ?

    Can we run Linux as OS on OMAP-L138 EVM ? If yes, can you refer to some document ?

    Thanks.

    Tariq