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.

MCU-PLUS-SDK-AM263X: Enet Layer2 Timesync example

Part Number: MCU-PLUS-SDK-AM263X

Hi,

1. I'm working on AM263x EVM with SDK 8.2, and followed the instructions in the document to practice timesync example.

But I didn't get the prospective result, it seems not follow the IEEE 1588v2 PTP timesync flow and the target always repeat the packets get from host.

2. After print timestamp few times, we got some error messages and the target stop sending packets

Can you help to clarify these questions, thanks!

Regards,

Josh

  • Hi Josh,

    Are you using AM263x control card? 

    Also how are you generating PTP packets? Is it using packet generating tool?

    Regards,

    Prasad

  • Hi Prasad,

    Thanks for your quick reply.

    Here is my HW environment

    And I generate PTP packet using ptp4l tool in ubuntu.

    joshhsiao@joshhsiao-Ubuntu:~$ sudo ptp4l -P -2 -S -f /etc/linuxptp/ptp4l.conf -i enp0s3 -m -q -p -l 7 /dev/ptp0


    My ptp4l configuration file list below:

    joshhsiao@joshhsiao-Ubuntu:/media/Shared_Folder$ cat /etc/linuxptp/ptp4l.conf
    [global]
    #
    # Default Data Set
    #
    twoStepFlag 1
    slaveOnly 0
    priority1 128
    priority2 128
    domainNumber 0
    clockClass 248
    clockAccuracy 0xFE
    offsetScaledLogVariance 0xFFFF
    free_running 0
    freq_est_interval 1
    dscp_event 0
    dscp_general 0
    #
    # Port Data Set
    #
    logAnnounceInterval 1
    logSyncInterval 0
    logMinDelayReqInterval 0
    logMinPdelayReqInterval 0
    announceReceiptTimeout 3
    syncReceiptTimeout 0
    delayAsymmetry 0
    fault_reset_interval 4
    neighborPropDelayThresh 20000000
    #
    # Run time options
    #
    assume_two_step 0
    logging_level 6
    path_trace_enabled 0
    follow_up_info 0
    hybrid_e2e 0
    tx_timestamp_timeout 1
    use_syslog 1
    verbose 0
    summary_interval 0
    kernel_leap 1
    check_fup_sync 0
    #
    # Servo Options
    #
    pi_proportional_const 0.0
    pi_integral_const 0.0
    pi_proportional_scale 0.0
    pi_proportional_exponent -0.3
    pi_proportional_norm_max 0.7
    pi_integral_scale 0.0
    pi_integral_exponent 0.4
    pi_integral_norm_max 0.3
    step_threshold 0.0
    first_step_threshold 0.00002
    max_frequency 900000000
    clock_servo pi
    sanity_freq_limit 200000000
    ntpshm_segment 0
    #
    # Transport options
    #
    transportSpecific 0x0
    #ptp_dst_mac 01:1B:19:00:00:00
    ptp_dst_mac 01:80:C2:00:00:0E
    p2p_dst_mac 01:80:C2:00:00:0E
    udp_ttl 1
    udp6_scope 0x0E
    uds_address /var/run/ptp4l
    #
    # Default interface options
    #
    network_transport UDPv4
    delay_mechanism E2E
    time_stamping hardware
    tsproc_mode filter
    delay_filter moving_median
    delay_filter_length 10
    egressLatency 0
    ingressLatency 0
    boundary_clock_jbod 0
    #
    # Clock description
    #
    productDescription ;;
    revisionData ;;
    manufacturerIdentity 00:00:00
    userDescription ;
    timeSource 0xA0

    This is the default config file and I only modified the MAC address.

    I also tried the config file that only contain below settings:

    [global]
    ptp_dst_mac 01:80:C2:00:00:0E
    p2p_dst_mac 01:80:C2:00:00:0E
     

    But the result is the same.

     

    Thanks for your help!

    Regards,

    Josh

  • Hi Josh,

    Timesync example in MCU+ SDK is simple layer 2 example without PTP stack. This example only shows timestamping of RX and TX packets.

    You can't use it with full PTP stack hence might be seeing the issues. 

    TI doesn't provide PTP stack in our SDK and recommend customers to 3P's for PTP and other TSN stacks.

    Regards,

    Prasad