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.

[参考译文] CCS/AM5728:Profibus FDL 层

Guru**** 2589280 points
Other Parts Discussed in Thread: PROFIBUS, AM5728

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/632672/ccs-am5728-profibus-fdl-layer

器件型号:AM5728
Thread 中讨论的其他器件:Profibus

工具/软件:Code Composer Studio

您好!

我目前正在使用 AM5728、我想使用 Profibus 协议的 FDL 层。 我尝试了"PRU-ICSS-Profibus 主设备-01.00.01.00"固件、但 FDL 层没有 API。

我阅读这些文件:

 PROFIBUS_MASTER_FDL_API.pdf

 PROFIBUS_STACK_API.pdf

- Profibus 主设备 API 文档

 Profibus_Master_Datasheet.pdf

但是、没有有关 FDL API 的说明可以帮助我(通过使用"PRU-ICSS-Profibus 主设备-01.00.01.00"固件)直接使用该 API。

有人能帮我了解如何使用这一层吗? 是否有其他固件可为我提供帮助?

谢谢、

此致

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    软件团队已收到通知。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    大家好、很抱歉、我的回复延迟了、我外出旅行。 关于您的问题、不确定您是否已在 C:\TI\PRU-ICSS-Profibus 主设备_01.00.01.00\protocols\Profibus 主设备\docs 中检查 API 文档。 在 API_Documentation.html 中、您将看到"相关页面"选项卡中包含"与 FDL 固件集成"链接。 请查看并告知我们、您是否正在查找该信息。
    谢谢、
    Paula
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的回答。

    是的、我已经阅读过此文档、但我认为它不是最新的。

    例如,    函数 InitApplicationBlocks()、GetApplicationBlock()、FreeApplicationBlock (appl_blk * PTR)和 ActivateApplicationBlock (appl_blk * ptr、struct _queue * q)在提供的库中似乎不可用。 我能不能知道这些函数在哪里可用?  

    我需要了解 FDL 层的工作原理。 我有很多问题没有得到解答,例如:

    -如何初始化 appl_blk?

    -如何将 appl_blk 插入请求队列?

    -在哪个确认队列中,我可以找到请求的 appl_blk?

    -如何封装内存结构(4字节 x 4字节或连续)?

    -不同队列的功能是什么? 然后、所有队列和 appl_blks 之间处理的逻辑是什么?

    -在哪些寄存器地址可以看到 TReadReg 和 TWriteReg 的演变? 我在  Sitara_TRM_Revised April 2017.pdf PROFIBUS_MASTER_FDL_API.pdf 文档中看到 TReadReg TWriteReg 映射到 PRUICSS 本地数据存储器的 RAM1中。 ARM 可通过 PRUICSS 全局存储器对其进行访问、 但所有值似乎都在0处自由化。

    - Req_empty (TWriteReg ->Mode1RegisterRes)的值是什么?

    谢谢、

    此致

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,请检查我们的存储库代码,我在 TMG 堆栈文件文件夹中看到 InitApplicationBlocks()、GetApplicationBlock()、FreeApplicationBlock (appl_blk * ptR)和 ActivateApplicationBlock (appl_blk * ptr、struct _queue * q)。 如您所知、我们仅提供预编译库、而不是堆栈文件... 您应该能够使用这些 API、但是、我们认识到、在我们的文档中可能缺少一些有关如何支持其他第三方堆栈的信息、就像我们假定的 TMG 堆栈那样。 我将向我们的开发人员开一个 TT、以便在此光学镜片下查看文档和 CCS 应用项目。

    另一方面、您可以使用 CSS +仿真器检查 PRU-ICSS 本地数据存储器、并按照以下说明进行操作:

    PRU 调试:在 CCS 的调试模式中、连接 CortexA、加载程序并运行它。 然后、您可以连接 PRU 内核并将其挂起。 您将在"Disassembly"窗口中看到 PRU 的程序、也可以在"Memory"窗口"Program_Memory"、"Data_Memory"和"PRU_Device_Memory"中进行浏览。

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

    您好!

    感谢您提供这些信息、我将尝试一下。

    此致

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    当我们试图了解固件的工作原理时、我们担心会花费太多的时间、因此下面是更具体的问题。

    基本上,我们的问题是:我们希望通过以下方式使用 am572x Sitara 的 Profibus:
    -仅使用 FDL 层。
    Sitara 将在总线上充当主站,但总线上可能有多个主站:
    => Sitara 必须能够管理令牌轮换
    => Sitara 必须能够处理从其他主站接收到的 SDN 或 SDA 消息
    -Profibus 功能应集成在我们自己的操作系统中

    TI 所宣传的 Profibus 架构在 PRU-ICSS 中包含 FDL 固件、而由 Arm 内核管理的 DP 层似乎适合我们的需求。

    我们认为我们可以使用提供的 TI PRU-ICSS Profibus 主固件:
    1) 1)我们可以在自己的操作系统中独立于 DP 堆栈使用固件。 当然、我们假设我们必须为操作系统编写正确的包装程序
    2)该固件支持管理令牌旋转
    3)该固件设法将 SDN 或 SDA 请求从其他设备接收到的数据传递到 Arm 内核

    既然您对环境有了更好的了解、那么您还能建议我们告诉我们假设1、2和3是否正确、以及如何连接 Profibus PRU-ICSS 固件?

    通过查看缓冲器和汇编文件、我们最终会得到这些答案。 但是、我们确实需要快速回答、因为如果1、2或3证明是错误的、这意味着我们需要在非常严格的计划内开发或外包全新的 Profibus 固件。

    谢谢、

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

    大家好、我来确认一下我们的 Profibus 专家、很快就会回来。

    谢谢、

    Paula

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

    大家好、很抱歉我的延迟回复。 我们的一些 工业开发人员 本周外出办公。 从 TI 的 Profibus 白皮书 中、我看到支持多主机模式。 但无论如何、请给我们几天时间、直到我得到确认。

    谢谢、

    Paula

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

    您好!

    感谢您的回答,但您知道何时收到确认吗?

    此致

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

    大家好、下周开始。

    谢谢、

    Paula

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

    大家好、很遗憾、我收到了我们的 Profibus 主设备不支持多主设备模式(包括令牌管理)的信息。 我将要求更正该白皮书。

    谢谢、

    Paula

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

    大家好、感谢您提供的这些信息、即使它非常令人失望。  

    am572x 是唯一不具备此功能的 Sitara、还是所有 Sitara 处理器都不具备此功能?

    am572x PRU-ICSS 上是否存在阻止此功能工作的技术限制?

    TI 如何帮助我们在 am572x 上使用此功能?

    此致

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

    大家好、我们 Sitara 的 Profibus 主设备系列目前没有一款具有此功能的设备。 然而,这方面没有技术限制,但需要一些发展努力。

    我们 目前不分发 Profibus 主固件源代码、因此 、很遗憾您需要自行开发。 下面我添加了一些链接、其中包含 PRU-ICSS 代码开发示例和文档。 这 可能有助于作为起点。

    http://processors.wiki.ti.com/index.php/Sitara_PRU_ICSS_Starting

    http://processors.wiki.ti.com/index.php/PRU-ICSS  

    您还可以联系当地的 TI FAE、以便在探索某种类型的开发协议时获取源代码。 这里没有任何承诺、但也许您可以尝试看看 是否有任何合作选择。

    谢谢、

    Paula