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.

PROCESSOR-SDK-AMIC120: modification to use PRU1 for ENDAT

Part Number: PROCESSOR-SDK-AMIC120
Other Parts Discussed in Thread: AMIC120

Dear Champs,

My customer is trying to connect 2 different EnDAT encoders with different resolution and I recommended to implement one EnDAT encoder on PRU1 by referring to below e2e.

Could you please provide a guide how they can modify PRU FW to run it on PRU1 of ICSS0?

But, my customer failed to implement it on PRU1 of ICSS0 and they could not see any clock signal in the pin.

They loaded FW on PRU1 of ICSS0 as below.

~~~~~~~~~~~~

PRUICSS_setPRUBuffer(pruIcss0Handle, 1, (Uint32 *)EnDatFirmware, sizeof(EnDatFirmware));
:
PRUICSS_pruExecProgram(pruIcss0Handle, 1);

PRUICSS_pruEnable(pruIcss0Handle, 1);

~~~~~~~~~~~~~~~~~~~

In the PRU FW, they checked the register name having 'ICSS_CFG_PRU0_ENDAT...' prefix and changed it to 'ICSS_CFG_PRU1_ENDAT..'.

They are using EnDAT channel 2 and they confirmed the pinmux were as below.

CTRL_CONF_DSS_VSYNC: 0x13000005(B23, pr0_pru1_gpo6)
CTRL_CONF_DSS_HSYNC: 0x13000005(A23, pr0_pru1_gpo7)
CTRL_CONF_DSS_PCLK: 0x13000005(A22, pr0_pru1_gpo8)

CTRL_CONF_CAM1_DATA3: 0x13070005(AE22, pr0_pru1_gpi11)

Please let me know what should be modified further to implement EnDAT on PRU1 of ICSS0.

Thanks and Best Regards,

SI.

  • Dear Champs,

    My customer tried to debug this issue and found error return(-1) in endat_wait_initialization() function.

    at this time, they found FW was stopped in below.

    it seemed the failed to communicate with EnDAT encoder as there is no clock signal from AMIC120.

    Please let me know how they can generate clock signal from PRU1 of ICSS0.

    Thanks and Best Regards,

    SI.

    endat_wait_initialization()

  • SI,

    FW needs to be built for PRU1. Pls see attached FW which was ported to work on PRU1.

    endat_main.asm

    Further, EnDAT driver application also needs to be modified to make sure all the register settings are done for PRU1.