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.

[参考译文] TMDX654IDKEVM:PRU-ICSSG PPS 输出信号

Guru**** 2552260 points
Other Parts Discussed in Thread: TMDX654IDKEVM, AM6548

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1198136/tmdx654idkevm-pru-icssg-pps-output-signal

器件型号:TMDX654IDKEVM
主题中讨论的其他器件: AM6548

您好!

我需要 PPS 信号方面的支持。  PPS 信号是校准延迟所必需的。 并最终获取时钟同步精度。 我尝试了第一个简单的步骤来验证使用 PPS 的能力。

硬件:TMDX654IDKEVM PROC062A
SW:PROCESSOR-SDK-LINUX-RT-AM65X 08.02.00.01

检查一个 IDK 板上 PTP 器件的同步时钟的 PPS 信号。

1.开始扩展板上接口的时钟同步

# phc2sys -c eth1 -s eth3 -O 0

2.获取与接口相关的 PTP 设备
root@am65xx-evm:~# ethtool -T eth3
Time stamping parameters for eth3:
Capabilities:
        hardware-transmit
        software-transmit
        hardware-receive
        software-receive
        software-system-clock
        hardware-raw-clock
PTP Hardware Clock: 3
Hardware Transmit Timestamp Modes:
        off
        on
Hardware Receive Filter Modes:
        none
        all
$root@am65xx-evm:~# ethtool -T eth1
Time stamping parameters for eth1:
Capabilities:
        hardware-transmit
        software-transmit
        hardware-receive
        software-receive
        software-system-clock
        hardware-raw-clock
PTP Hardware Clock: 4
Hardware Transmit Timestamp Modes:
        off
        on
Hardware Receive Filter Modes:
        none
        all

3.启用 PPS 信号输出(扩展板上的 LD3和 LD5)
# echo 1 > /sys/class/ptp/ptp3/pps_enable
# echo 1 > /sys/class/ptp/ptp4/pps_enable

观察到的行为
PPS 信号已改变周期开始、可以通过闪烁的 LED 看到它。

问题
PPS 信号是否基于正确的 PTP 器件?

PPS 信号是否从 PTP 时钟的每个1s 绝对时间开始?



检查两个 IDK 板之间 PTP 器件的同步时钟的 PPS 信号。

1.通过扩展板上的接口连接两个 IDK 板。

2.获取与接口相关的 PTP 设备,两个板 eth3 - ptp3

root@am65xx-evm:~# ethtool -T eth3
Time stamping parameters for eth3:
Capabilities:
        hardware-transmit
        software-transmit
        hardware-receive
        software-receive
        software-system-clock
        hardware-raw-clock
PTP Hardware Clock: 3
Hardware Transmit Timestamp Modes:
        off
        on
Hardware Receive Filter Modes:
        none
        all

3.启动时钟主机
# ptp4l -f oc.cfg -i eth3 &

4.启动从器件同步
# ptp4l -f oc.cfg -i eth3 -s &

5.检查同步的状态
root@am65xx-evm:~# pmc -u -b 0 'GET TIME_STATUS_NP'
sending: GET TIME_STATUS_NP
        70ff76.fffe.1d6230-0 seq 0 RESPONSE MANAGEMENT TIME_STATUS_NP 
                master_offset              -2
                ingress_time               1648099864499217328
                *** +0.000000000
                scaledLastGmPhaseChange    0
                gmTimeBaseIndicator        0
                lastGmPhaseChange          0x0000'0000000000000000.0000
                gmPresent                  true
                gmIdentity                 70ff76.fffe.1d60c8

6.在两个电路板上启用 PPS 信号输出
# echo 1 > /sys/class/ptp/ptp3/pps_enable

观察到的行为
尽管从管理器获得了同步状态、但 LED 会通过在第一个电路板和第二个电路板之间存在一些肉眼可见的延迟来表示 PPS 信号。
事件没有校准的进出延迟、我希望同步精度不如亲眼目睹。

问题
为什么 PPS 信号不同步?

您能支持我们澄清观察到的行为吗?

L·卢卡斯

e2e.ti.com/.../3113.oc.cfg

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Unknown 说:
    输入的 PPS 信号是否基于正确的 PTP 设备?

    根据您的打印输出、eth1为/dev/ptp3、eth3为/dev/ptp4.

    Unknown 说:
    PPS 信号是否以 PTP 时钟的每1秒绝对时间开始?

    我建议使用 testptp,但看起来直接你的文件写入工作也. testptp 已在文件系统中、您也可以自行编译。 下面是一些示例。

    #turn 1 PPS on
    /usr/bin/kselftests/ptp/testptp -d /dev/ptp4 -P 1
    #turn 1 PPS off
    /usr/bin/kselftests/ptp/testptp -d /dev/ptp4 -P 0
    #turn 2 PPS on
    /usr/bin/kselftests/ptp/testptp -d /dev/ptp4 -p 500000000
    #turn 2 PPS off
    /usr/bin/kselftests/ptp/testptp -d /dev/ptp4 -p 0
    
    
    

    Unknown 说:
    检查两块 IDK 板之间 PTP 器件的同步时钟的 PPS 信号。

    我正在着手访问双板 AM65x IDK 设置。 我没有运行您正在运行的确切顺序、尤其是您的第6步吸引了我的注意。 您能尝试一下吗?  

    /usr/bin/kselftests/ptp/testptp -d /dev/ptp3 -P 1

    但是。 这可能是别的东西,但至少值得一看。

     佩卡

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我已经使用建议的工具 /usr/bin/kselftests/ptp/testptp 在上测试了 PPS 控制 一个板

    "-P 1"选项会启用输出、但即使时钟由 php2sys 同步、周期的开始仍然会发生变化。

    "-p 500000000"选项有时会立即启用输出、有时需要几秒钟时间、有时不会在1分钟后启用、并且信号不同步。 所以这是不起作用的。


    我尚未在原帖中那样的两个同步板上使用建议的工具测试 PPS 控制。

    此致、
    L·卢卡斯

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    "-p 500000000"选项有时会立即启用输出,有时需要几秒钟时间,有时不会在1分钟后进行,而且信号不同步。 所以这是不起作用的。
    [/报价]

    testptp 正在等待 pps 信号错误收敛、然后再切换 LED。 它用作您的应用所基于的开放源码示例。

    周期的开始仍然移动,即使时钟通过 php2sys
    同步

    速率(1 PPS)似乎准确/同步。 我正在检查有关偏移原因的选项和参数、对我来说、目前还不清楚这只是一个参数还是只是一个随机偏移。  

    今天、我还要设置2倍的 IDK 设置。

     佩卡

    [/quote]
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Pekka:

    我还通过 testptp 来控制 PPS 的两个同步板的 PPS 信号之间的可见偏移。 通过文件系统或通过 syscall (testptp)常规启用 PPS 之间应该没有区别。

    速率(1 PPS)似乎准确/同步。 我正在检查有关偏移原因的选项和参数、对我来说、目前还不清楚这只是一个参数还是只是一个随机偏移。  [/报价]

    您是否有关于所观察到的信号间偏移的一些更新。 为了实现同步精度测量以及相关的入口和出口延迟校准、必须提供正确的 PPS 信号。 因此、额外的偏移就其目的而言是不可接受的。

    此致、
    卢卡斯

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我现在设置了两个 AM6548 IDK、二者均运行应在本周发布的8.6 SDK 候选版本。 在 LAN 中、我还有一个 AM64x 电路板、使用基于 CPSW3G 的以太网。 因此、在三个电路板(也即2x IDK)上尝试一些排列。 通常看起来 ptp4l 可行、但 IDK 上的 pps 同步与之不可行。 因此以上所有操作都是可重复的、并且在运行时间再长一点之后、LED (LD2或 LD5)的 pps 闪烁在偏移或速率上与来自 PTP 的时钟不同步。 最初可以看到、这只是一个偏移问题、但采用双电路板设置时、闪烁会发生漂移、所以速率也是如此。

    我认为问题出在时钟同步部分、因此 phc2sys (或 ts2phc)使用、以及哪个引脚连接到 LED。 我怀疑 LED 闪烁来自每个 ICSSG 中用于时间戳的 IEP 计时器、只是单调递增、不同步或调优。

     佩卡

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您能否检查您是否也看到了此错误、

    root@am65xx-evm:~# systemctl status sync-clocks.service
    * sync-clocks.service - Synchronize System and HW clocks
         Loaded: loaded (/etc/systemd/system/sync-clocks.service; enabled; vendor preset: disabled)
         Active: failed (Result: exit-code) since Sat 2023-03-25 14:50:13 UTC; 1 weeks 0 days ago
        Process: 841 ExecStart=/sbin/hwclock --systohc (code=exited, status=1/FAILURE)
       Main PID: 841 (code=exited, status=1/FAILURE)
    
    Mar 25 14:50:13 am65xx-evm systemd[1]: Starting Synchronize System and HW clocks...
    Mar 25 14:50:13 am65xx-evm hwclock[841]: hwclock: Cannot access the Hardware Clock via any known method.
    Mar 25 14:50:13 am65xx-evm hwclock[841]: hwclock: Use the --verbose option to see the details of our sea>
    Mar 25 14:50:13 am65xx-evm systemd[1]: sync-clocks.service: Main process exited, code=exited, status=1/F>
    Mar 25 14:50:13 am65xx-evm systemd[1]: sync-clocks.service: Failed with result 'exit-code'.
    Mar 25 14:50:13 am65xx-evm systemd[1]: Failed to start Synchronize System and HW clocks.
    root@am65xx-evm:~# 
    

     佩卡

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我认为它毕竟不相关、但无论如何、与其他 AM6x SDK 相比、这吸引了我的眼球。

     佩卡

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

     对于 Linux SDK 08.02.00.01和 myLearning、我有相同的错误 sync-clock.service  08.06.00.47。我没有测试其他版本。

    #08.06.00.47
    root@am65xx-evm:~# systemctl status sync-clocks.service
    * sync-clocks.service - Synchronize System and HW clocks
         Loaded: loaded (/etc/systemd/system/sync-clocks.service; enabled; vendor preset: disabled)
         Active: failed (Result: exit-code) since Sat 2023-03-25 14:50:13 UTC; 5min ago
        Process: 831 ExecStart=/sbin/hwclock --systohc (code=exited, status=1/FAILURE)
       Main PID: 831 (code=exited, status=1/FAILURE)
    
    Mar 25 14:50:13 am65xx-evm systemd[1]: Starting Synchronize System and HW clocks...
    Mar 25 14:50:13 am65xx-evm hwclock[831]: hwclock: Cannot access the Hardware Clock via any known method.
    Mar 25 14:50:13 am65xx-evm hwclock[831]: hwclock: Use the --verbose option to see the details of our search for an access method.
    Mar 25 14:50:13 am65xx-evm systemd[1]: sync-clocks.service: Main process exited, code=exited, status=1/FAILURE
    Mar 25 14:50:13 am65xx-evm systemd[1]: sync-clocks.service: Failed with result 'exit-code'.
    Mar 25 14:50:13 am65xx-evm systemd[1]: Failed to start Synchronize System and HW clocks.
    root@am65xx-evm:~# /sbin/hwclock --verbose
    hwclock from util-linux 2.35.1
    System Time: 1679756133.436164
    Trying to open: /dev/rtc0
    Trying to open: /dev/rtc
    Trying to open: /dev/misc/rtc
    No usable clock interface found.
    hwclock: Cannot access the Hardware Clock via any known method.
    
    
    #08.02.00.01
    root@am65xx-evm:~# systemctl status sync-clocks.service
    * sync-clocks.service - Synchronize System and HW clocks
         Loaded: loaded (/etc/systemd/system/sync-clocks.service; enabled; vendor preset: disabled)
         Active: failed (Result: exit-code) since Thu 2022-03-24 05:18:37 UTC; 35s ago
        Process: 1038 ExecStart=/sbin/hwclock --systohc (code=exited, status=1/FAILURE)
       Main PID: 1038 (code=exited, status=1/FAILURE)
    
    Mar 24 05:18:37 am65xx-evm systemd[1]: Starting Synchronize System and HW clocks...
    Mar 24 05:18:37 am65xx-evm hwclock[1038]: hwclock: Cannot access the Hardware Clock via any known method.
    Mar 24 05:18:37 am65xx-evm hwclock[1038]: hwclock: Use the --verbose option to see the details of our search for an access method.
    Mar 24 05:18:37 am65xx-evm systemd[1]: sync-clocks.service: Main process exited, code=exited, status=1/FAILURE
    Mar 24 05:18:37 am65xx-evm systemd[1]: sync-clocks.service: Failed with result 'exit-code'.
    Mar 24 05:18:37 am65xx-evm systemd[1]: Failed to start Synchronize System and HW clocks.
    root@am65xx-evm:~# /sbin/hwclock --verbose
    hwclock from util-linux 2.35.1
    System Time: 1648099177.508796
    Trying to open: /dev/rtc0
    Trying to open: /dev/rtc
    Trying to open: /dev/misc/rtc
    No usable clock interface found.
    hwclock: Cannot access the Hardware Clock via any known method.


    是不相关的。 这是与缺少 RTC 器件有关的另一个问题。

    此致、
    卢卡斯

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    (我在这里发帖是为了使该主题不会自动关闭。 我们仍对修复感兴趣。)

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    已提交软件错误、我还没有修复计划。

     佩卡

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    错误 ID 为 LCPD-34790 (显示在发行说明中)、当前计划为9.1。 修复程序继续进行后、假设它足够简单、我将在此处发布更改。

     佩卡

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我  在发行说明中没有看到 LCPD-34790:

    software-dl.ti.com/.../Release_Specific_Release_Notes.html

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    LCPD-34790是8.6中的问题,已提交,计划在9.1中修复。 发行说明列出了已修复的问题,但不会更新发现的新问题。

     佩卡