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.

[参考译文] TMS320F28379D:为什么 GPIO32没有任何配置。

Guru**** 2595805 points
Other Parts Discussed in Thread: TIDM-1008

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1063970/tms320f28379d-why-gpio32-nothing-config-anyting

器件型号:TMS320F28379D
主题中讨论的其他器件:TIDM-1008

我将使用 Tamagawa Engota 和 IDDK2.2。 我注意到、在 cl_f2838x_tmsdxiddk_cpu1.c 中、GPIO32设置无需等待完成。 因此、我决定将 GPIO32设置为 H 电平。
我将以下代码添加到 configureGPIO();。 这是一个简单的错误吗? 或者它是打算做什么?


// GPIO32->TamagawaAbsEnc
GPIO_setMasterCore (32、GPIO_CORE_CPU1);
GPIO_setPadConfig (32、GPIO_PIN_TYPE_STD);
GPIO_setPinConfig (GPIO_32_GPIO32);
GPIO_setDirectionMode (32、GPIO_DIR_MODE_OUT);
GPIO_writePin (32、1);

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

    我认为您要查找的代码位于 FCL_tformat_f2838x_config.c 中 这里有一个名为 tformat_setupGPIO()的函数、该函数将 GPIO32配置为 GPIO 输出。 请注意、代码中的注释是错误的、但查看 FCL_tformat_f2838x_config.h 中的 GPIO 编号#defines、您将看到实际的引脚。

    惠特尼

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

    非常感谢您的快速回答。
    我的 rfotmat_setupGPIO();已定义看起来是 GPIO139、但已定义的 ENC_POWEREN 为32。

    void tformat_setupGPIO (void)

    //
    // GPIO7是 SPI Clk 从器件
    //
    GPIO_setMasterCore (ENC_CLK_PWM_PIN、GPIO_CORE_CPU1);
    GPIO_setPinConfig (ENC_CLK_PWM_CFG);

    //
    // GPIO63是 SPISIMOB
    //
    GPIO_setMasterCore (ENC_SPI_SIMO_PIN、GPIO_CORE_CPU1);
    GPIO_setPinConfig (ENC_SPI_SIMO_CFG);
    GPIO_setQualificationMode (ENC_SPI_SIMO_PIN、GPIO_QUAL_异 步);

    //
    // GPIO64是 SPISOMIB
    //
    GPIO_setMasterCore (ENC_SPI_SOMI_PIN、GPIO_CORE_CPU1);
    GPIO_setPinConfig (ENC_SPI_SOMI_CFG);
    GPIO_setQualificationMode (ENC_SPI_SOMI_PIN、GPIO_QUAL_异 步);

    //
    // GPIO65是 SPICLKB
    //
    GPIO_setMasterCore (ENC_SPI_CLK_PIN、GPIO_CORE_CPU1);
    GPIO_setPinConfig (ENC_SPI_CLK_CFG);
    GPIO_setQualificationMode (ENC_SPI_CLK_PIN、GPIO_QUAL_异 步);

    //
    // GPIO66是 SPISTEB
    //
    GPIO_setMasterCore (ENC_SPI_STE_PIN、GPIO_CORE_CPU1);
    GPIO_setPinConfig (ENC_SPI_STE_CFG);
    GPIO_setQualificationMode (ENC_SPI_STE_PIN、GPIO_QUAL_异 步);

    //
    // GPIO9是 tformat TxEN
    //
    GPIO_setMasterCore (ENC_TXEN_PIN、GPIO_CORE_CPU1);
    GPIO_setPinConfig (ENC_TXEN_CFG);//输出 x 条

    //
    // GPIO139为 PwrEN
    //
    GPIO_setMasterCore (ENC_PWREN_PIN、GPIO_CORE_CPU1);
    GPIO_setDirectionMode (ENC_PWREN_PIN、GPIO_DIR_MODE_OUT);

    似乎还有另一个原因导致编码器无法打开。

    似乎没有写入输出值 H。


    非常感谢。

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

    我将把您的线程转发给我们的编码器专家、以帮助您进行调试。 遗憾的是、他们在外出度假时、可能无法返回到1月初。 感谢您的耐心等待。

    惠特尼

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

    感谢您的回答。
    我已经连接了 Tamagawa TS5700N8501、一旦我将 GPIO32设置为 H 电平、它就会断电。 当我将稳压电源直接连接到编码器时、流耗为120mA。 根据编码器的数据表、典型值为125mA 最大值150mA、因此编码器没有任何问题。 电源模块 M3和 M9可能没有足够的电流为该编码器提供负载。 我将尝试通过外部稳压电源直接为编码器提供5V 电压、并且仅使用 GND 作为公共电源。 还有其他更好的方法吗?

    使用 www.DeepL.com/Translator 翻译(免费版)

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

    大家好、我们已经看到编码器可能需要直接供电并使用公共接地、而不是通过 Booster Pack 或 IDDK 供电。  您的解决方案看起来不错。  

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

    感谢您的回答、Lori Heustess Tqamagawa TS5700N8501在电源线上具有较大的输入电容。
    因此、当程序运行时打开电源时、大电流将瞬间流动、从而导致电源电压下降、CPU 复位。
    但是、我认为应通过跳线永久打开和关闭 ENDAT 的电源线、而不是通过软件打开和关闭。

    如果它从一开始就打开、它将按照复位序列加电和复位关闭。 电源不应控制软件、而应控制跳线硬件。

    还有另一个严重问题。
    EnDat 模块不接收应由 PWM4生成的时钟信号、而是在实际代码中设置 PWM4跳闸事件。
    至少在我前面的 IDDK2.2中、ENDAT 模块不接收任何时钟脉冲。
    跳线 J10-ON、J18、1-2ON 跳闸事件如何与 Tamagawa Seiki 编码器的通信相关?
    我认为我不需要跳闸事件来与编码器通信、我认为需要为 PWM4设置的是生成 PWM 脉冲、而不是将其与跳闸事件相关联。 如果我错了、请详细解释。

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

    您好!

    [引用 userid="35575757575" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/C2000-microcontrollers-forume/1063970/tms320f28379d-how-gpio32-note-config-anyting/39444#39444"] EnDat 模块不会接收到实际的跳闸代码、而是由 PWM4生成的、而是引用 PWM4在事件中生成的实际时钟[引用的]。

    一个澄清是、CLB 输出覆盖 ePWM4输出。  我们仅使用 PWM 的跳闸功能在 CLB 接管引脚之前设置引脚电平。  PWM 外设本身不会切换引脚。  请告诉我这是否有助于澄清问题。

    此致

    Lori

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

    感谢你的答复。
    那么、为什么我的 IDDK2.2板根本无法与编码器通信? 显然、第一个控制字段发送的内容是什么。 但我没有得到任何回复。
    目前、ENDAT 的 CLK 引脚在示波器上仍为 L 电平。
    此外、SPI 是 MSB 优先、但 McBSP 是否首先将其转换为 LSB?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="35575757575" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/C2000-microcontrollers-forume/1063970/tms320f28379d-why-GPIO32-note-config-anything/3945752#3945752"]目前,ENDAT 的 CLK 引脚仍处于示波器电平[引用/引用范围]。

    我知道 EnDat 在 TIDM-1008硬件上工作正常。 (https://www.ti.com/tool/TIDM-1008)。  IDDK 上可能存在引脚分配差异。  软件的发布版本是否有任何变化?  

    [引用 userid="35755" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/C2000-microcontrollers-forume/1063970/tms320f28379d-why-gpio32-note-config-anything/quoting#3945752"]此外,SPI 是 MSB 优先级,但它首先转换 McBSP/lbs[?]

    T-format 和 EnDat 使用 SPI。  我不确定 McBSP 问题的出现在哪里?

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

    大家好、我经常问这个问题。
    我尝试删除并重新安装 MotorControlSDK3.03、但似乎有问题? 我发现 PM_tformat_lib 的 pm_tformat_source.c 中的所有 CLBXBAR 都已注释掉。 定义了一个 XBAR 输入和一个输出、但根据 TIDUE74C、应存在两个 XBAR 输出。 此更改的目的是什么?
    调试尚未完成?

    void tformat_initCLBXBAR(){.

    // XBAR_setCLBMuxConfig (XBAR_AUXSIG0、XBAR_CLB_MUX01_INPUTXBAR1);
    // XBAR_enableCLBMUX (XBAR_AUXSIG0、XBAR_MUX01);
    // XBAR_setOutputMuxConfig (XBAR_OUTPUT6、XBAR_OUT_MUX13_CLB4_OUT4);// XBAR_setOutputMuxConfig (XBAR_OUT_MUX13_CLB4_OUT4);// XBAR_setOutputMuxConfig (XBAR_OUT_MUX13_OUT4)
    // XBAR_enableOutputMux (XBAR_OUTPUT6、XBAR_MUX13);

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="35575757575" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/C2000-microcontrollers-forume/1063970/tms320f28379d-why-gpio32-note-config-anyting/3947281#3947281]PM 发现所有 CLBXBARs_out_source 格式都是注释掉的 tpm 格式。 定义了一个 XBAR 输入和一个输出、但根据 TIDUE74C、应存在两个 XBAR 输出。[/QUERP]

    当库仅以二进制形式提供而不是源代码形式提供时、此函数会从左边。   之所以这样做、是因为只能使用二进制源代码来修改 XBAR 配置。  代码已注释掉、但应完全删除。  

    此后、XBAR 配置已移至如下所示的系统示例代码:

    in tformat.c:
    
    tformat_init():
    
    
        //
        //XBAR configuration for tformat operation
        //
        tformat_configXBAR();
        
        
    ....
    
    void tformat_configXBAR(void)
    {
        //
        // Connect InputXbar-INPUT1 to GPIO63 - SPISIMO
        //
    
        XBAR_setInputPin(XBAR_INPUT1, 63);
    
        XBAR_setCLBMuxConfig(XBAR_AUXSIG0, XBAR_CLB_MUX01_INPUTXBAR1);
        XBAR_enableCLBMux(XBAR_AUXSIG0, XBAR_MUX01);
        XBAR_setOutputMuxConfig(XBAR_OUTPUT6, XBAR_OUT_MUX13_CLB4_OUT4);
        XBAR_enableOutputMux(XBAR_OUTPUT6, XBAR_MUX13);
    }

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

    我有一个反复出现的问题。
    我已确认 Tformat 编码器接口可与 TIDM1011配合使用。 因此、我们对 IDDK2.2的差异进行了彻底的比较。 引脚分配发生了可编程的变化、我们确认了这一变化是正确的。 通过比较原理图、我发现在 TIDM1011中、SPISTE 在150KΩ μ s 处降至 GND、而在 IDDK2.2中、SPISTE 在0Ω μ s 处降至 GND。 您认为、我应该让 J13保持开路还是将150KΩ Ω 电阻添加到 GND?

    使用 www.DeepL.com/Translator 翻译(免费版)

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

    使用150K 电阻器时、它是一个弱下拉电阻、 如果 GND 损坏、则容易受到噪声或 GND 抖动的影响、但如果需要、它将提供将引脚用作输出的选项。 很显然、0欧姆下拉电阻将很强。 相反、我会考虑使用2K 下拉作为折衷。

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

    我的问题不是 SPISTE 应短接至 GND、而是电平应是空闲的。 我不是说下拉、而是使用150KΩ Ω 的端接电阻器或消除对端接电阻器的需求。

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

    请查看 TRM 以了解可能的此类操作。 选择 SPI 外设时需要用到它。

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

    除了 Ramesh 的评论之外、编码器解决方案的 SPI 配置为从器件并由 CLB 控制(计时)。  它的发送一直被使能(因此 SPISTEn 为低电平)。

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

    RS485驱动器 IC 的硬件在启用传输时不接受任何接收。 它不能始终为"L"。 传输完成后、必须将其设置为"H"、否则不会接收到任何内容。

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

    SPISTE 是内部 SPI 外设的使能端。  RS485线路驱动器与   TIDM1011文档中的 TxEn 信号相连。   

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

    我用绑定的板替换了379D 板、将 J13设置为150KΩ Ω、然后重新创建了项目。 请告诉我 TMS320F28388板和 IDDK2.2的这一部分之间是否有任何差异。 或者我的 TMS320F388板是否损坏?

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

    您好!

    不幸的是、我不确定哪些工作正常、哪些工作不适合您。  请检查我的理解-  

    针对 f28379xD 构建的 iddk 项目上的 T-format -工作正常吗?

    针对 f28388x 构建的 iddk 项目上的 T-format -不起作用?

    使用示波器-您在数据线上看到了什么活动?

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

    你好。
    f280379D 板用于与编码器通信。
    f280388D 板无法与编码器通信。
    以上是目前的情况。
    我将尝试获取一个新的 f280388D 板、看看是否发生了同样的情况。
    虽然也有一个20Mhz 时钟设置、但我的 f280388D 电路板上的时钟为2MHz。 似乎有20Mhz 时钟设置、但我将其保留为默认设置。 我将时钟分频比相加、看看它是否正确。
    此外、请检查子卡上的原理图以查看其是否正确。

    使用 www.DeepL.com/Translator 翻译(免费版)

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

    你好。
    我有一个新的320F28388D 子卡。
    我更换了它、当我尝试它时、它与编码器正确通信。 J13设置为150KΩ Ω。
    我不知道电路板为什么会损坏。
    现在、我可以继续我的开发。 非常感谢。

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

    感谢您的告知。   

    此致

    Lori