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.

[参考译文] AM263X-MCAL SDK:在 AM2634 上使用 CPSW 以太网方式实现 SNTP 服务器

Guru**** 2873830 points

Other Parts Discussed in Thread: AM2634

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1627412/am263x-mcal-sdk-sntp-server-implementation-on-am2634-using-its-cpsw-over-ethernet

器件型号:AM263X-MCAL SDK
主题中讨论的其他器件: AM2634

尊敬的团队:

我正在通过 LP-263 板使用 AM2634、想知道是否可以在此平台上运行 SNTP 服务器。

目前、我已通过 UART 将 GPS 模块 (MAXF10S) 连接到 AM2634、该模块提供时间、日期和位置信息。

我的要求是实施 SNTP 服务器、该服务器可以为请求 SNTP 客户端提供准确的时间信息。

您能否确认在 AM2634 上是否可以这样做? 如果是、这在 RTOS 和非 RTOS 配置中都是可行的吗? 我也希望就执行这项工作的最佳办法提出建议。

此致、
Sai Kiran

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

    尊敬的 Sai:  

    这里有一个与设计相关的问题。 请帮助我了解情景。

    当网络中的设备通过以太网向 AM263 请求时间时、您是否计划提供响应、即在该时间点从 GPS 模块获取该响应后的当前时间和日期?  

    或者、您是否计划在 AM263 中始终有空闲时间的设计实现、当请求到来时、无需在该时间点询问 GPS 模块即可立即响应?

    此致、

    Aswin

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

    尊敬的 Aswin:

    感谢您的问题。

    我们正计划实施第二种方法。 AM2634 将通过 UART 持续从 GPS 模块 (MAXF10S) 获取时间和日期信息、并在本地进行维护。

    这可确保 AM2634 内当前时间始终很容易获得。 因此、每当网络中的设备通过以太网请求时间(SNTP 请求)时、此时无需查询 GPS 模块即可立即发送响应。

    此方法有助于减少响应延迟并确保及时回复 SNTP 客户端。

    如果您有任何进一步的建议、或者我们是否应考虑采用替代方法、请告诉我。

    此致、
    Sai Kiran

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

    尊敬的 Sai:

    MCU + SDK 提供 LWIP 栈。 LWIP 堆栈有 SNTP 客户端选项、但我看不到任何在 LWIP 堆栈中启用 SNTP 服务器的标志。 SDK 不提供任何特定软件来启用 SNTP。

    但在您的情况下、我认为在 AM263 上创建一个监听 NTP 客户端的 UDP 监听器就足够了。 UDP 侦听器将侦听请求、当请求发出时、AM263 需要使用数据对其进行响应。 我在这里提到了 UDP、因为我看到 NTP 请求通过 UDP 传输到特定端口。

    您还计划使用 MCU + SDK 或 MCAL 吗?

    此致、

    Aswin

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

    尊敬的 Aswin:


    我知道 MCU+ SDK 提供了 lwIP 协议栈。 但是、我找不到任何与 SNTP 相关的示例或函数。 MCAL 是否提供任何驱动程序或对 SNTP 的支持?


    我熟悉 MCU+ SDK 驱动程序。 您能简要介绍一下 MCAL 提供的 API 吗? 它是包含 MCU+ SDK 的所有内容、还是有所不同? 据我所知、MCAL 主要包含与 AUTOSAR 和工业协议栈相关的驱动程序、如果出错、请纠正我。


    此外、如您所述、如果没有直接提供 SNTP 支持、我们可能需要使用 UDP(端口 123)来实现。

    在这种情况下、我认为我们需要:


    1.侦听 UDP 上的 SNTP 请求
    2.解析传入的 SNTP 客户端数据包格式
    3.构建并发送正确的 SNTP 服务器响应数据包
    请确认我的理解是否正确。

    如果是手动解析,我们可以使用任何 GitHub SNTP 可用库,如果你知道的话,建议一个。


    此致、
    Sai Kiran

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

    尊敬的 Aswin:

    我们能否就此得到答复?

    此致、
    Sai Kiran

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

    尊敬的 Sai Kiran:

    因为我是 OOO、所以对回应的延误表示歉意。

    [报价 userid=“688460" url="“ url="~“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1627412/am263x-mcal-sdk-sntp-server-implementation-on-am2634-using-its-cpsw-over-ethernet/6274623

    请确认我的理解是否正确。

    [/报价]

    是的、这种理解是正确的。 这就是我在前面的答复中作为实施示例所解释的。

    [报价 userid=“688460" url="“ url="~“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1627412/am263x-mcal-sdk-sntp-server-implementation-on-am2634-using-its-cpsw-over-ethernet/6274623

    G、MCAL 主要包含与 AUTOSAR 和工业协议栈相关的驱动程序、如果我出错、请纠正我。

    [/报价]

    是的、正确。 MCAL 不像 MCU + SDK 那样提供 lwiP 支持。 MCAL 的是设备驱动程序。

    AUTOSAR 定义了自己的 TCP/IP 服务标准。

    如果是手动解析的情况,我们可以使用任何 GitHub SNTP 可用库,如果您知道的话,建议您使用。

    我进行了快速搜索并找到了一个实现 SNTP 服务器的示例。 只是在此处列出

    github.com/.../server.go

    但我认为这里的主要目标是修复数据包格式。 我找到这里说明的数据包格式

    https://www.ietf.org/rfc/rfc2030.txt

    此致、

    Aswin

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

    尊敬的 Aswin:

    是的、这一理解是正确的。 这就是我在之前的答复中作为示例实施所解释的。

    我懂了。

    [引述 userid=“642990" url="“ url="~“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1627412/am263x-mcal-sdk-sntp-server-implementation-on-am2634-using-its-cpsw-over-ethernet/6282646

    我进行了快速搜索并找到了一个实现 SNTP 服务器的示例。 只是在此处列出

    github.com/.../server.go

    但我认为这里的主要目标是修复数据包格式。 我找到这里说明的数据包格式

    https://www.ietf.org/rfc/rfc2030.txt

    [/报价]

    根据我回顾的参考资料、我了解:

    当前的 SNTP 服务器代码在 GO 下实现。
    RFC 2030 对应于较旧版本的 SNTP。
    RFC 4330 和 RFC 2030 在很大程度上是相同的、因此我认为您分享的 GitHub 代码应该适用于两者。
    我们目前的要求是符合最新的 SNTP 版本 4 (RFC 4330)。

    您能否告知是否需要进行任何更改以确保实施完全符合 RFC 4330?

    此致、
    Sai Kiran

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

    尊敬的 Sai Kiran:

    感谢您详细回答有关 RFC 4330 合规性的后续问题。 我之前分享的代码实际上是我在 GitHub 上找到的一个示例、用于帮助说明 SNTP 概念。

    由于您正在寻找与 RFC 4330 的特定合规性、我强烈建议您向具备 SNTP/NTP 协议专业知识的人员征求意见。

    我还要提到的是、TI 目前在软件产品中未提供 SNTP 服务器实施、因此可能需要将其作为自定义解决方案进行处理。

    此致、

    Aswin

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

    尊敬的 Aswin:

    感谢您对 SNTP 主题的宝贵建议。 非常感谢您的指导。

    此致、
    Sai Kiran