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.

Question about VCP2 of 6670

Other Parts Discussed in Thread: TMS320C6670, TMS320C6474

I'm learning the VCP2 of TMS320C6670, I have two questions:

1、In the datasheet SPRS689D:   XEVNT is 11; REVNT is 10(page152 ).

      In the document SPRUGV6A: XEVNT is 29; REVNT is 28(page 50).

      Then, which one is right?

2、I have completed  the VCP2 code of 6670, by imitating the code of  TMS320C6474.

      Firstly,  I load the "6670.gel" for open the PSC of VCP2 in emulator ,  then run the code.

      I think , after run the line "VCP2_start (hVcp2);", the content of "vcpConfig" should be copied to "vcpConfig111",

      but , only the vcp status reg turned to "waiting for IC transmission", The EDMA3 hadn't work :

 The main code(I want to use VCP2_A):

 main{

    VCP2_ConfigIc vcpConfig;

    VCP2_ConfigIc vcpConfig111;//for test XEVNT

    VCP2_genParams (&vcpBaseParams, &vcpParams);

    VCP2_genIc (&vcpParams, &vcpConfig);

    vcp2_configEdma (inputBM, outputHD);

    VCP2_setPacked32Endian (hVcp2);

    VCP2_reset (hVcp2);

    VCP2_emuDisable (hVcp2);

    VCP2_start (hVcp2);

 }

Uint16  vcp2_configEdma (    Uint32 inputBM,    Uint32 outputHD)

{

   CSL_edma3Init (&context);

    hModule = CSL_edma3Open (&edmaObj, 2, NULL, &status);

    chParam.regionNum = CSL_EDMA3_REGION_GLOBAL;
    chParam.chaNum = 11; //CSL_EDMA3_CHA_VCP2XEVT :11

    hChannel = CSL_edma3ChannelOpen (&ChObj, 2, &chParam, &chStatus);

    CSL_edma3HwChannelSetupParam (hChannel,  0);

    CSL_SOK != CSL_edma3HwChannelSetupQue (hChannel,  CSL_EDMA3_QUE_0);

    hParam[0] = CSL_edma3GetParamHandle (hChannel, 0, &status);
    hParam[1] = CSL_edma3GetParamHandle (hChannel, 1, &status);
    hParam[2] = CSL_edma3GetParamHandle (hChannel1,2, &status);
    hParam[3] = CSL_edma3GetParamHandle (hChannel1,3, &status);

      // set The Param 0 of CC2 for copy vcpConfig to vcpConfig111......

    CSL_edma3ParamSetup (hParam[0], &myParamSetup);

    //set linking ......

     ..........

}

 

 

 

  • Hi Liang,

    1. The definitions given in the C6670 datasheet (SPRS689D) are correct i.e. VCPAXEVT is 11 and  VCPAREVT is 10. The values in the VCP2 user guide (SPRUGV6A) appear to have been left from legacy devices and are incorrect. We will update the VCP2 user guide to resolve this issue.  Thanks for bringing this error to our notice and in the meantime please refer to the corresponding device datasheet for the correct event definitions.

    2. For the second problem, I would request you to send your test project along-with the instructions to build it to help us look into the issue. Thanks.

    Regards

    -Nitin

  • Hi Nitin:

        Thanks for answer my question。The problem has been solved,a new problem emerges:

        I‘m trying VCP2_A,VCP2_B, VCP2_C,VCP2_D,using the API: "VCP2_init".

        hVcp2 = VCP2_init(&vcp2Obj, CSL_VCP2_0, &status);

       But the "CSL_VCP2_0" is not defined in the head file of the csl。By trying, I find  CSL_VCP2_0 means VCP2_A,

       defined as 0.Then what are VCP2_B, VCP2_C and VCP2_D defined?