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.

AM2432: AM2432 and BISSC encoder working with PRU

Part Number: AM2432

Hi,

Customer is working on AM2432 and BISSC encoder working with PRU. The sampling time (request) is 16kHz, but response time is every 8kHz. Also timing in frame is too long (ACK 17us, timeout 23us). 

The CRC counter increments every time, and cycle complete status (after request) hasn't always ready.

Tested other encoders and response is close to 16kHz.

With comparison the same encoder with project with FPGA - the request time is every 16kHz (62.5us) and frame timing is less than in PRU. 

Do you have any suggestions to fix this issue?

Info:

Length Data Single Turn is 23 bit.

Length CRC is 6 bit.

Baud Rate 2 Mhz.

ICSSG core clock frequency 300Mhz

 

PRU 

26.JPG

FPGA

26CD2.JPG

  • Hi

    The sampling time (request) is 16kHz, but response time is every 8kHz. Also timing in frame is too long (ACK 17us, timeout 23us). 

    What do you mean by sampling time is 16 kHz and response time is 8 kHz. Shouldn't it be same?

    Do you see the clock for BISS-C clock at 2 MHz as per configuration?

    Regards

    Dhaval

  • The sampling request runs at 16 kHz, meaning a position request (p_pruicss_xchg->u8_cycle_trigger[0] = 0x1) is triggered every 62.5 µs (task timing) and for some encoders (BiSS-C), I observed that the response time corresponds to the actual measurement delay between clock activations signal, but for current model the response isn't correspond (8kHz). Yes I see the same clock according to configuration.

  • Hi, 

    I have few questions

    1. What's the timeout duration of encoder?
    2. What's IEP configuration you are using?
    3. Which SDK version are you using?
    4. Which example you are using multi channel load share or single channel?

    Regards
    Arnav

  • Hi Arnav

    1. The timeout measured is 23 micro seconds.


    2. We are using ICSSG1 with core clock 300Mhz
    3. We are basing on the the example code from SDK motor_control_sdk_am243x_09_01_00_06.
    4. We are using the single channel example.

    Thank you,
    Sahar

  • Hi Sahar,

    1. In SDK we have configured a fixed static timeout of 40 us. This value can be edited in driver file by changing this value 

       pruicss_xchg->delay_40us  = ((icssgclk*40)/1000000); please configure it according to your requirement. Also please rebuild the driver after making the change.  

    2. In motor_control_sdk_am243x_09_01_00_06 we didn't had a periodic trigger mode, Can you share more details on how are you periodically triggering position request every 62.5 us?

    Also please share the capture files of working and non working case for timing data.

    Regards
    Arnav
  • Sahar, 
    can you also try to run bissc at higher baud rate to check if this is a cycle time related issue?

    Regards
    Arnav