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.

[参考译文] TMS570LC4357:N2HET:获取编码器信号时出现问题。

Guru**** 2468610 points
Other Parts Discussed in Thread: HALCOGEN

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1055252/tms570lc4357-n2het-issue-in-fetching-the-encoder-signals

器件型号:TMS570LC4357
主题中讨论的其他器件:HALCOGEN

大家好、团队、

我尝试在项目中获取电机的编码器信号。
以下是我为读取主电机编码器信号而编写的语句:-

capGetSignal (hetRAM2、cap0、&enc_a_master);//enc_b_master // CAP0 = N2HET2_19 *//*工作*/
capGetSignal (hetRAM2、cap1、&enc_b_master);//enc_a_master // CAP1 = N2HET2_20 *//*不起作用*/

在这里、第一条语句正常工作、但 N2HET2_20不工作。

请参阅以下随附的 HET2 halcogen 配置的屏幕截图:
请告诉我配置是否正确或是否缺少任何内容。

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

    您好!

    您是否使用 HalCoGen 生成的 N2HET 代码? 输入信号是否应用于 N2HET2[19]和 N2HET2[20]端子?

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

    对于输入信号捕捉、N2HET2[n]和 N2HET2[n+1]配对、N2HET2[n]被用来捕捉脉冲宽度、而 N2HET2[n+1]被用来捕捉周期。 需要为引脚 n 和引脚 n+1启用 HR 共享。 引脚 n 的 HR 结构用于脉宽、引脚 n+1的 HR 结构用于测量周期。  

     在您的配置中、引脚19 (引脚18和引脚19) 和引脚20 (引脚20和引脚21)的 HR 共享被禁用。 但在生成的代码中、  

    capGetSignal (hetRAM2、cap0、enc_a_master);-->读取引脚19处输入信号的周期,并读取引脚18处输入信号的脉宽。 引脚18上没有输入、因此占空比为0%。 您将得到正确的周期、但占空比错误。

    capGetSignal (hetRAM2、cap1、&enc_a_master);-->读取引脚21上的信号周期和引脚20上的信号脉冲宽度。 由于引脚21上没有输入、您将获得错误的占空比和错误的周期。

    请启用 HR 共享、并使用偶数引脚(引脚18和引脚20)进行捕获。

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

    您好、QJ Wang、

    感谢您的回答。

    为了捕捉连接到 N2HET2[19]和 N2HET2[20]的信号、是否有必要使 N2HET2[18]和 N2HET2[21]外设引脚保持自由?

    以下是我们的硬件连接、

    我们已将正交编码器 A 通道连接到引脚 P4的 N2HET2[19]、将编码器 B 通道连接到引脚 T5的 N2HET2[20]。

    我们的要求是获得脉冲数和编码器信号的周期。  我们在 HalCogen 中进行了配置、如前面 的屏幕截图所示、根据您的建议、我们已启用 HR 共享并将方向更改为输入。

    在我们的硬件中、引脚 T6中的 N2HET2[21]被连接以实现一些其他功能。 我们是否应该使  N2HET2[21] 引脚保持开路以获得周期?

      

    这种连接是否会导致从 N2HET2[21]获取周期时出现任何问题?

     

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="487100" URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1055252/tms570lc4357-n2het-issue-in-fetching-the-encoder-signals/3915149 #3915149"]是否需要保持 N2HET2[18]和 N2HET2[21]外设引脚空闲、以便捕获连接到 N2HET2[19]和 N2HET2[20]的信号?

    N2HET 支持高分辨率和低分辨率。 对于 HR、分辨率是 HR 时钟的一个周期、但对于低分辨率、分辨率是一个 LRP。  

    H2NET 有一个限制: 对于每个引脚、每个循环 分辨率周期最多可以执行一条高分辨率指令。 例如、您需要测量引脚 N2HET2[18]处输入信号的周期和占空比、并且需要两条 PCNT 指令。 一条指令用于测量周期、另一条指令用于测量脉冲宽度(上升沿到上升沿、或下降沿到下降沿)。 由于存在这种限制、N2HET2[18}的一个 PCNT 只能使用 HR 功能。

    为了让第二个 PCNT 使用 HR 功能、我们可以启用"HR Structure Sharing (HR 结构共享)"。 N2HET2[18]的 HR 结构和 N2HET2[19]的 HR 结构可被用于测量引脚 N2HET2[18]上的输入信号。 输入信号必须位于 N2HET2[18](偶数)。 N2HET2[19]引脚可被用作 GIO 或其它功能性、但是不能用作 N2HET。

    对于 N2HET2[21]、其 HR 结构可由引脚 N2HET2[20]使用、但 N2HET2[21]不能使用 N2HET2[20]的 HR 结构。 要测量 N2HET2[21]上的输入信号、只有一个 PCNT 可以使用 HR 功能。 但问题是 HALCOGen 生成的代码假定输入信号为偶数引脚(18、20、22、...)。 您必须为您的特殊用例修改代码。

    端子 P4是否也用于 N2HET 或 LIN?

    您的分辨率要求是什么?

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

    您好、QJ Wang、

    在 P4中、我们使用 N2HET2[19]连接了编码器 A 通道。 在 T5中、我们连接了编码器 B 通道并使用 N2HET2[20]。

    编码器 B 通道(N2HET2[20])工作正常。 我们期望编码器通道上的最大频率约为2MHz。

    我们期望在编码器 B 通道(N2HET2[20])中获得的精度相同。

    请求您支持此案例代码中所需的修改。   

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

    您好、QJ Wang、

    正如您在上面的线程中提到的、我们所看到的分辨率是、支持修改代码以从 N2HET2[19]引脚读取周期。

    请求您的支持以修改代码。

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

    HALCOGen 生成的 N2HET 代码不适用于您的硬件设置。 您需要修改设置的代码。

    您的应用中使用了多少个 N2HET 引脚?  

    2.使用哪些引脚来捕捉输入信号? 哪些引脚用于输出 PWM 信号? 我想估计需要多少指令。

    3.对于信号捕获,您要计算周期和占空比还是仅计算周期? 如果只需要周期、则无需更改硬件。 如果要计算周期和占空比、并且需要高分辨率、则需要更改硬件。 例如、将 ENC_A_M 连接到 N2HET2[22]、并将 MOT_REL_S_B_A 连接到 N2HET2[24]。

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

    您好、QJ Wang、

    我们仅查找周期计算、不需要占空比。

    下面是 N2HET 的硬件连接

    (函数-引脚-->硬件函数,说明)  

    N2HET2[18]- N4 ->继电器打开、这个引脚被用作一个数字输出来控制继电器。

    N2HET2[19]- P4 ->编码器 A 信号、该引脚用于捕获来自编码器 A 信号的周期。

    N2HET2[20]- T5 ->编码器 B 信号、 该引脚用于捕获来自编码器 B 信号的周期。

    N2HET2[21]- T6 -> 打开继电器、此引脚用作数字输出来控制继电器。

    PWM 生成硬件连接

    (函数-引脚-->硬件函数,说明)

    EPWM1A - D9  -> LIN1、用于电机驱动器的低侧逻辑输入-1。

    EPWM1B - D10 -> HIN1、 用于电机驱动器的高侧逻辑输入-1。

    EPWM2A - M1  -> LIN2、用于电机驱动器的低侧逻辑输入-2。

    EPWM2B - K18 -> HIN2、  用于电机驱动器的高侧逻辑输入-2。

    EPWM3A - W5 -> LIN3、用于电机驱动器的低侧逻辑输入-3。

    EPWM3B - V6   -> HIN3、  用于电机驱动器的高侧逻辑输入-3。

    请根据  上述硬件连接请求您支持对驱动器级代码进行必要的更改、以便计算 N2HET2[19]和 N2HET2[20]中连接的编码器信号的周期。

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

    尊敬的 Aswin:

    N2HET2[18]和 N2HET2[21]上的输出信号波形如何? 您可以将这两个引脚配置为 GIO 引脚以控制继电器。

    以下代码可被用于捕捉 N2HET2[19]和 N2HET2[20]上的信号:

    ;使用 PCNT 的输入周期测量
    ;清除 HRSHARE 寄存器位9;测量引脚19上输入信号的 RISE2RISE
    ;清除 HRSHARE 寄存器位10;测量引脚20上输入信号的 RISE2RISE

    l00 PCNT{type=RISE2RISE、PIN=19};
    L01 PCNT{type=RISE2RISE、PIN=20};
    L04 BR{NEX=L00、COND_ADDR=L00、EVENT=NOCOND};

    请使用 HET IDE 来调试代码。

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

    您好、QJ Wang、

    N2HET2[18]和 N2HET2[21]是数字输出引脚、在适当的代码过程中被控制。

    感谢您更改驱动器级代码以捕获引脚19和20上的信号。

    我们正在根据您的输入进行实施、并将更新您的状态。

    感谢您的支持。

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

    您好、QJ Wang、

    QJ:N2HET2[18]和 N2HET2[21]处的输出信号波形如何?  

    我们在硬件中将编码器通道 A  的输入从 N2HET2[19]连接到 N2HET2[18]、并将其配置为 HR 共享。

    ENC_A_M 到 N2HET2[19] MCU 引脚的 PCB 中的旧走线被提起、并且没有到 MCU 的连接。

    但对于 连接 ENC_A_M 到 N2HET2[18] MCU 引脚、我们仍然面临3.3V 至1.1V 的压降。 编码器 A 通道没有稳定的3.3V 信号。

    经过压降测试的几 种情况:

    1.3.3V ok ->如果没有 MCU、当测量从基板通过连接到 MCU 的连接器发出的编码器信号时、编码器 A 信号 可以达到3.3V。

    2.3.3V OK ->使用 MCU 并擦除整个闪存、但没有固件、测量信号可以达到3.3V。

    3.3V 不正常->使用 MCU 并将  ENC_A_M 配置为 N2HET2[18] MCU 引脚(作为输入)、并将 HR 共享启用为 N2HET2[19] 引脚(作为输出)。 观察到3.3V 至1.1V 的压降。

    这会导致编码器信号压降的原因是什么?  

    请提供建议。

    感谢您的支持。

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

    您好 QJ、

    对此进行了任何更新?

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

    您好、Haribabu、

    [引用 userid="494457 URL"~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1055252/tms570lc4357-n2het-issue-in-fetching-the-encoder-signals/3983946 #3983946"]3. 3.3V 不正常->使用 MCU 并将  ENC_A_M 配置为 N2HET2[18] MCU 引脚(作为输入)、并将 HR 共享启用为 N2HET2[19] 引脚(作为输出)。 观察到3.3V 至1.1V 的压降。[/quot]

    如果禁用 HR 共享、电压电平是多少? 如果启用了 HR 共享、则只有这两个引脚可用作 N2HET 引脚。 如果内部下拉电阻器已启用、您能否禁用它?

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

    您好 QJ、

    通过下拉-> N2HET18中的压降启用 HR 共享

    通过上拉-> N2HET18中的压降启用 HR 共享

    在 N2HET18中禁用 HR 共享、而不进行上拉/下拉->压降

    启用 HR 共享、无上拉/下拉-> N2HET 18中的压降

      

    但是、如果没有 MCU/FW、则信号线路中没有压降。

    请提供建议。

    谢谢