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.

[参考译文] AM620-Q1:AM620-Q1 PRUSS 内核的一些使用问题

Guru**** 2466870 points
Other Parts Discussed in Thread: AM620-Q1

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1471696/am620-q1-some-usage-issues-with-the-am620-q1-pruss-core

器件型号:AM620-Q1
Thread 中讨论的其他器件: AM620

工具与软件:

我们正在使用 AM620-Q1进行编程、并想保留以下问题:
1. AM620中的 PRUSS 内核是否能够进行 BLDC 电机控制、需要以下资源进行控制:
 -- 6个 PWM 输出(3个互补的 PWM 对)
 -- 3个霍尔输入
 -- 4个 ADC 样本( ADC 采样时间和 PWM 输出需要中心对齐)
 - 1组电机编码器信号输入(EnDat 2.2 /eQEP)
 -1组 SPI 接口、用于配置驱动器芯片
 -- 2~3公共输入 IO
 -2~3公共输出 IO
 您能否提供满足上述条件的 C 语言示例?
2.在 AM620中、PRUSS 内核会向 A53内核发送一些数据。 如果我想要出色的实时性、我需要进行哪种内核间通信? 什么是延迟

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

    尊敬的 

    感谢您的提问。

    我已经为电机控制专家分配了主题。

    但目前他不在办公室、请预计会有一些延迟。

    此致

    Ashwani

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

    您好!

    请参阅 AM62x 器件的一般特性 在线数据表

    根据您的要求、我将重点介绍几个模块

    • -- 6个 PWM 输出(3个互补的 PWM 对)

    --> AM62x 有  

    摘录

    12.5.3.1.1 EPWM 特性

    每个 ePWM 模块支持以下特性:
    •具有周期和频率控制功能的专用16位时基计数器
    •两个可用于以下配置的 PWM 输出(EPWMxA 和 EPWMxB):
    –两个具有单边沿运行模式的独立 PWM 输出
    –两个具有双边沿对称操作模式的独立 PWM 输出
    –一个具有双边沿非对称操作模式的独立 PWM 输出
    •通过软件对 PWM 信号进行异步覆盖控制
    •相对于其他 ePWM 模块、支持针对滞后或超前操作的可编程相位控制
    •逐周期基础上的硬件锁定(同步)相位关系
    •具有独立上升沿和下降沿延迟控制的死区生成
    •故障情况下逐周期跳闸和一次性跳闸的可编程跳闸区域分配
    •跳闸条件可以强制 PWM 输出端出现高、低或高阻抗状态逻辑电平
    •允许事件触发 CPU 中断和 ADC 转换启动
    •可编程事件预分频可以最大限度地减少中断上的 CPU 开销
    •高频载波信号进行 PWM 斩波、这对于脉冲变压器栅极驱动非常有用

    • 3个霍尔输入:

    请在此处详细说明问题。 您是否想问 SOC 是否可以接收三个霍尔传感器的输出、如果是、请指定传感器的输出详细信息。 最好共享数据表或部件号

    • 4个 ADC 样本(ADC 采样时间和 PWM 输出需要中心对齐)
      • 请 更详细地解释要求/用例,以便我可以帮助实现用例。
      • AM62x 没有 ADC 外设、需要外部 ADC、但我们将对此进行更详细的讨论。
      • 我们还提供了 ADC 附加应用手册 、其中介绍了如何在 AM62x 上通过 SPI 连接外部 ADC 以及示例代码

     

    • 1组电机编码器信号输入(EnDat 2.2 /eQEP)
      • 我将让电机控制专家回答协议特定的详细信息
      • 数据表的"一般连接"部分说:  
        • AM62x 支持3个增强型正交编码器脉冲模块(eQEP)

    • GPIO
      • 请参阅下面的 TRM 摘录

    12.2.1.1 GPIO 概述
    通用输入/输出(GPIO)外设提供可以使用的专用通用引脚
    输入或输出的 GPIO。 当配置为输出时、用户可以对内部寄存器进行写入
    控制输出引脚上驱动的状态。 当配置为输入时、用户可以通过获取输入的状态
    读取内部寄存器的状态。
    此外、GPIO 外设可以产生不同的主机 CPU 中断和 DMA 同步事件
    中断/事件生成模式。
    器件具有一个或多个 GPIO 模块实例。 GPIO 引脚被分成组(16个引脚
    两个组、每模块9个组)、这意味着每个 GPIO 模块提供多达144个专用组
    具有输入和输出功能的通用引脚; 因此、通用接口支持高达432
    (3个实例×(9组× 16引脚))引脚。 由于 MCU_GPIO0_[23:143]、GPIO0_[87:143]和 GPIO1_[88:143]
    都被保留在该器件中、通用接口支持多达198个引脚。

    此致

    Anshu

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Unknown 说:
    1. AM620中的 PRUSS 内核是否能够进行 BLDC 电机控制、需要以下资源进行控制:
     -- 6个 PWM 输出(3个互补的 PWM 对)
     -- 3个霍尔输入
     -- 4个 ADC 样本( ADC 采样时间和 PWM 输出需要中心对齐)
     - 1组电机编码器信号输入(EnDat 2.2 /eQEP)
     -1组 SPI 接口、用于配置驱动器芯片
     -- 2~3公共输入 IO
     -2~3公共输出 IO
     能否提供满足上述条件的 C 语言示例?

    遗憾的是、该平台上没有现成的示例。 您可能需要查看 SDFM-AM243X 软件开发套件(MOTOR-CONTROL-SDK)| TI.com (在 AM64/AM243 R5F 内核上运行)编码器支持、通过 SDFM 进行电流感应。 使用 AM62X PRUSS、只能实现功能子集。 EPWM 和 eQEP 需要从 SoC 端使用、因为 PRUSS 没有任何硬件支持。

    Unknown 说:
    如果我想要出色的实时性、我需要进行哪种内核间通信? 延迟是什么[/报价]

    为了实现最低延迟、中断+共享存储器方案更好。  让消息缓冲器的读数靠近 CPU、即 PRU DMEM/SMEM (对于 PRU 读取缓冲器)和64KB OCRAM (对于 A53)。 延迟为200至400ns +中断延迟。

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

    如您所说"需要从 SoC 侧使用 ePWM 和 eQEP "。

    上述两个关键外设都连接到 soc 域、而不是 MCU 域。

    如果需要在 AM620中选择一个子系统进行 BLDC 控制、最好使用 A53内核还是 M4F?

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

    感谢您的详细分析,我将仔细检查您提供的信息

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    上述两个关键外设均连接到 soc 域、而不是 MCU 域。

    为此、请参阅 TRM 中的"1.3器件域内的模块分配和实例"一节。

    如果我需要在 AM620中选择一个子系统来进行 BLDC 控制、最好使用 A53内核还是 M4F?

    这取决于控制环路性能要求。

    此致

    Ashwani

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

    感谢您的答复。

    M4F 是否可以直接在主域中读取/设置外设(例如 ePWM、eQEP、eCAP 等)、而无需进行 A53内核转发?

    可以在哪个部分找到这部分描述? 要注意哪些事项? 谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    M4F 是否可以在不进行 A53内核转发的情况下直接读取/设置主域中的外设(例如 ePWM、eQEP、eCAP 等)?

    您要初始化外设还是仅访问寄存器?

    建议您按照表使用外设、因为外设中断连接可能不可用于其他域。

    访问外设寄存器不应该是问题、但会降低性能。

    此致

    Ashwani

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

    感谢您的答复。

    考虑到 PRUSS 没有足够的资源,我要切换到 M4F 内核进行 BLDC 控制,还需要使用 ePWM(Trigger)中断,还需要及时修改 EPWM 配置以进行霍尔相位改变和电流环路控制。
    如您所说、 ePWM 在另一个领域、我也担心实时问题。
    请帮助我在 AM6204中确认该情况
    1. GPIO 上升沿中断/ePWM  中断是否可以到达 M4F 内核? 延迟分别是多久?
    2.当 M4F 修改 ePWM 参数(占空比和霍尔选择)时、延迟是多少?

    谢谢