欢迎观看我们 EtherCAT 系列的下一个视频。 之前,我们了解了 F2838x 器件对 EtherCAT 的 支持概况。 在本视频中,我们将介绍 F2838x 器件上的 EtherCAT 应用程序概况。 让我们开始吧。 在开发 EtherCAT 固件时, 了解应用程序的 一般流程非常重要。 此处我们将查看 一个 F2838x EtherCAT 应用程序示例,其中 连接管理器,即 CM 将运行 EtherCAT 协议栈, 而 CPU1 将执行电机 控制算法。 CPU1 作为主 CPU 始终处理器件时钟 和硬件初始化。 其中包括为 EtherCAT 配置 GPIO 等任务。 完成后,CPU1 分配将由 CM 拥有的 EtherCAT IP, 然后将 CM 从复位 状态释放以启动 其应用程序。 然后 CM 将处理 EtherCAT IP 初始化、协议栈 代码初始化以及任何其他 应用程序初始化任务。 这现在使 CPU1 和 CM 进入其主循环执行。 CPU1 开始运行 其电机控制算法, 很可能在等待 EtherCAT 命令, 指示 CPU1 开始控制电机。 在 CM 方面,CM 开始运行 EtherCAT 从站堆栈。 EtherCAT 软件和硬件 将保持在 EtherCAT 初始化状态,直到 EtherCAT 主站请求 从站切换状态。 现在 F2838x EtherCAT 从站控制器已准备就绪, 从站控制器可以 连接到 EtherCAT 主站。 EtherCAT 主站在 协议栈中有自己的 初始化,该初始化 完成后将扫描网络 以识别从站。 此后,假设 EtherCAT 从站没有问题,主站会 将 EtherCAT 从站转换为 工作模式。 现在,EtherCAT 主站 将通过 PLC 应用程序或用户 GUI 配置开始将数据 发送到网络。 在该示例中, EtherCAT 主站 发送电机命令和数据, F2838x 在 CM EtherCAT 应用程序中捕获该数据。 然后,CM 通过 IPC 将该数据发送到 CPU1, 以使用它来控制电机。 该命令可以指示 电机开始旋转。 数据可能包含 电机应该实现的转速。 然后任何状态数据 从 CPU1 发送到 CM, CM 将该数据插入 EtherCAT 帧以发回 EtherCAT 主站。 EtherCAT 主站随后将使用 该状态数据,无论其实现 方式如何,都是如此。 现在,让我们来看看 F2838x EtherCAT 软件栈, 如果您编写我们在 C2000ware 中提供的任何 EtherCAT 示例, 您就会发现它。 该堆栈的底部是 微控制器的硬件。 下一层是我们的 驱动程序库提供的 F2838x 器件驱动程序。 这些驱动程序包括 从系统控制设置到 EtherCAT 子系统交互 再到使用 IPC 的所有内容。 EtherCAT 硬件抽象层 或 HAL 驱动程序 特定于 CPU,提供 用于初始化 EtherCAT 子系统的 API 以及用于 在 PDI 上执行 读取和写入的 API。 此处所需的 API 由 EtherCAT 从站 实现规范定义。 接下来是 EtherCAT 应用程序硬件文件。 该头文件将 HAL 驱动程序函数映射到 EtherCAT 从站堆栈 定义的 API 命名方案。 接下来,EtherCAT 应用程序系统文件 是特定于 CPU 的应用 程序系统源文件和头文件。 这些主要是 CPU1 需要的, 因为 C28x 采用字寻址方式, EtherCAT 协议栈以 字节为单位处理所有内容。 此处的包装函数 包装了 memcpy 或 memset 等运行时函数, 以将协议栈提供的字节 长度转换为这些函数 要处理的字长。 该层包含 EtherCAT 从站堆栈代码和任何 协议代码。 这是由 Beckhoff 提供 并由其从站堆栈代码, 即 SSC 工具生成的 从站堆栈代码。 该代码包含协议 代码中的主要从站 状态机,例如 基于 EtherCAT 的 CAN, 这是我们在所有 EtherCAT 示例中使用的协议代码。 最后,我们有顶层, 它是从站应用程序。 这包含调用 EtherCAT 协议栈的主循环以及 EtherCAT 从站堆栈代码 所需的处理程序。 这些处理程序包括 在 EtherCAT 状态 更改时调用的处理程序。 此外,可能需要 特定于协议的设置, 具体取决于协议。 例如,基于 EtherCAT 的 CAN 需要定义一个对象字典。 Beckhoff 提供的 从站堆栈源代码 不作为 C2000ware 的 一部分或 C2000 发布的 任何 EtherCAT 示例提供。 开发人员需要通过 Beckhoff 提供的工具 生成这些文件。 以下是生成这些 文件的概略步骤。 请注意,EtherCAT 软件用户指南和 C2000ware 中提供了 更详细的步骤。 第一步是下载 C2000ware, 其中包含所有 F2838x 驱动程序和示例。 接下来,在 libraries\ communications\Ethercat 下 找到 F2838x EtherCAT 配套资料目录。 接下来,运行位于该处的 可执行文件 以提取所需的 配置 XML。 下一步是访问 EtherCAT.org 并下载 Beckhoff Slave Stack Code Tool。 截至本视频发布时, 已使用版本 5.12 开发和测试了 F2838x EtherCAT 配套资料。 打开 Slave Stack Code Tool 并导入 之前提取的 SSC 配置 XML。 该文件为生成的 堆栈代码提供必要的 配置信息,以便 与 F2838x 以及 提供的示例 一起正常工作。 导入后,将有一个 下拉菜单显示四个 选项,其中两个 不同的选项用于 CPU1, 两个不同的选项用于 CM。 其中两个包含 示例应用程序, 另外两个仅生成从站 堆栈代码,没有示例代码。 如果您计划运行示例, 则应选择包含 示例的选项。 最后,SSC 工具 生成堆栈源代码 以及 EtherCAT 从站 信息或 ESI 文件。 该 ESI 文件提供给 EtherCAT 主站,使主站 能够了解此特定 从站的功能。 EtherCAT 主站也 使用该文件对从站 节点的 EEPROM 进行编程。 在结束本视频之前, 以下是截至本视频发布时 可用于 C2000 开发的 EtherCAT 资源的当前细分。 首先,有用于评估的 F28388D controlCARD。 该板包括两个 EtherCAT PHY 接头 和 EEPROM 以及运行我们的 EtherCAT 示例所需的一切。 您可以通过显示的 链接订购控制卡。 接下来,我们有 F2838x 器件技术 参考手册或 TRM。 有关 EtherCAT 的 一章详细介绍了 该器件的 EtherCAT 子系统, 包括其各种功能块、物理层 详细信息、器件的 外设接口以及 子系统寄存器。 您可以从 F28388D 产品页面下载 TRM。 下载 C2000ware 后, 在 EtherCAT 目录中, 您将找到 EtherCAT 软件用户指南。 该指南详细介绍了 高级 EtherCAT 应用程序 开发以及运行所提供 示例的详细步骤、 一般操作过程、 常见故障排除技巧 以及 CPU1 和 CM HAL API 的详细信息。 此外,在 C2000ware 的 该目录中还有前面讨论过的 EtherCAT 堆栈生成 和配置 XML,它与 SSC 工具结合使用 以生成从站堆栈代码。 在 C2000ware 中,您还会 找到 CPU1 和 CM 的 EtherCAT Echoback 示例。 这些示例演示了 具有不同大小通信 数据的主站到 从站再到主站的 基本通信。 这些示例是为 F2838x 器件 构建您自己的 EtherCAT 应用程序的绝佳参考。 最后,对于 EtherCAT 用作我们电机控制应用的 一部分的示例, 您需要从 TI.com 下载电机控制 SDK。 下载后,导航到 列出的位置以找到 EtherCAT Connected FCL Sensored PMSM IDDK 示例。 该示例演示了 如何通过 EtherCAT 主站控制电机的 转速或位置。 CPU1 将运行电机控制循环, 而 CM 将运行 EtherCAT 从站堆栈。 使用 EtherCAT 主站, 例如 TwinCAT,您可以 配置要发送到 从站的转速/位置 命令和转速/位置 参考数据。 F2838x 器件上的 EtherCAT 应用程序 概况介绍到此结束。 请通过所示的资源 了解 F2838x 上的 EtherCAT。 谢谢观看。