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.

C6657 and uPP

Hello forum,

i implemented the uPP-example given from this forum.

Now i want to monitor results via Tools-> Graph.

Converted is a sine wave with ~200kHz, clock is 2.5 MHz. (parameters will be adjusted later)

in the .cfg-File i added a line "Program.sectMap["uPPrcv_1"]                 = "L2SRAM" ", i also can link this section to "DDR3", results are the same.

Parameters are:

#define xferSize    (8192)    // max: 8192
#define lineCnt        (1)        // note: xferSize should be evenly divisible by lineCnt.

#pragma DATA_SECTION(rcvBuffer_1,".far:uPPrcv_1");
#pragma DATA_ALIGN(rcvBuffer_1,64);
int16_t rcvBuffer_1[xferSize];

    // init regs: CTL, ICR, IVR, TCR
    uPP = uppDevParams_DEFAULT;
    uPP.A.direction = UPP_DIR_RCV;
    uPP.A.dataRate = UPP_DR_SDR;
    uPP.A.dataWidthVal = dataWidth;    <----- 16
    uPP.A.idleValueVal = 0xAAAA;
    uPP.A.clkDivVal = 0x1;            // use clock div between 0 and 0xF
    uPP.A.rcvThresh = UPP_TT_256B;
    uPP.A.useStart=0;
    uPP.A.useEnable=0;
    uPP.A.dataPacking=UPP_DP_LJUST_0FILL;
    uPP.A.dataWidthVal=15;

while(1)

{

gpioClearOutput(GPIO_15);    /*enable external Clock*/

         CSL_FINST(uppRegs->UPPCR, UPP_UPPCR_EN, DISABLE);

upp_dma_prog(UPP_DMA_CHAN_I, (void *)rcvBuffer_1, lineCnt, ((xferSize / lineCnt)), NULL);

/*here i clear all interupt flags because they were set all the time*/

         CSL_FINST(uppRegs->UPIER,UPP_UPISR_EOWQ,TRUE);    /*Clear end-of-Window Flag channel Q*/
         CSL_FINST(uppRegs->UPIER,UPP_UPISR_EOWI,TRUE); /*Clear end-of-Window Flag channel I*/
         CSL_FINST(uppRegs->UPIER,UPP_UPISR_EOLI,TRUE);    /*Clear end-of-line Flag channel I*/
         CSL_FINST(uppRegs->UPIER,UPP_UPISR_EOLQ,TRUE);    /*Clear end-of-line Flag channel Q*/

CSL_FINST(uppRegs->UPPCR, UPP_UPPCR_EN, ENABLE);

         do{
                 intStatus = uppRegs->UPIER;
         }while (!(intStatus & upp_int_EOWI));

gpioSetOutput(GPIO_15);/*Disable external Clock-Generation*/

}

Normally i would expect a continous blue pattern in the figure below, but i only see this :

When i change the amplitude of the input signal, i also can see these changes in the above y-axis.

My question is:

Why do i have intermissionsin between the sinus-signal?

Thanks in advance for any answer.

Regards Martin