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/TIDA-010016:TIDA-010016

Guru**** 1812430 points
Other Parts Discussed in Thread: TIOL111, SN65HVS882
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/simulation-hardware-system-design-tools-group/sim-hw-system-design/f/simulation-hardware-system-design-tools-forum/864730/ccs-tida-010016-tida-010016

器件型号:TIDA-010016
主题中讨论的其他器件:TIOL111SN65HVS882

工具/软件:Code Composer Studio

您好!

同时、我已成功地在新项目中集成了 IO Link 主站固件。

下一步是准备 从 idkAM437x 评估目标迁移到自有硬件。

因此、我已经检查了引脚分配。 我没有找到 IO-Link PinMux 文件。

是否提供此功能?

检查代码中的信号引脚,我发现分配了 GPIO4_14 (和/或注释了吗?) IOLink_GpioInit()函数处两次。

和 gpioPinConfigs[]结构包含2个用于 AM437x_IDK_YEL1_LED 的输出引脚。 您能对此进行澄清吗?

此致、

Thomas

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

    尊敬的 Thomas:

    我认为那里没有专门的文件来澄清完整的引脚分配。

    对于 IO-Link、基本上有两个相关器件、一个是从 SoC 到 TIOL111收发器的 IO-Link RX、TX 和 TX_EN 线。 这些引脚是 PRU 引脚、需要按照 PRU 代码中的分配方式进行分配。  您可以在 PDK 文件夹(pdk_AM437X_1_0_14\packages/ti\drv\iolink\firmware\icss_iolink\src\include\io_link_master)中的 defines.inc 中找到该选项。  

    以下是此文档的副本:

    ; RX 和 TX 引脚定义
    ;PRU 的 GPI/GPO 引脚(R30)
    ;这些引脚的速度比 GPIO 引脚快得多,可以在单个 PRU 周期内写入
    .asg "0"、rx0_pin;N24 J16引脚31
    .asg "1"、rx1_pin;N22 J16引脚33
    .asg "2"、rx2_pin;h23 J16引脚35
    .asg "3"、rx3_pin;M24 J16引脚32
    .asg "4"、RX4_Pin;L23 J16引脚34
    .asg "5"、rx5_pin;K23 J16引脚36
    .asg "6"、rx6_pin;M25 J16引脚52
    .asg "7"、rx7_pin;L24 J16引脚54
    
    .asg "8"、tx0_pin;B1 J16引脚56
    .asg "9"、tx1_pin;B2 J16引脚37
    .asg "10"、Tx2_pin;C2 J16引脚38
    .asg "11"、TX3_Pin;C1 J16引脚58
    .asg "19"、TX4_Pin;蓝线引脚5
    .asg "12"、TX5_Pin;蓝线引脚53
    .asg "13"、TX6_Pin;蓝线引脚55
    .asg "18"、Tx7_Pin;蓝线引脚57 

    下一个相关引脚是在 IOLINK_memoryMap.h 中定义的 TX_EN 信号:

    /* TX 启用 GPIO 端口硬件地址*/
    #define channel0TxEnGpioAddr (0x48320000U)//这是 GPIO4
    #define channel1TxEnGpioAddr (0x48322000U)// GPIO5
    #define 480el2TxEnpedr (0x4832U)
    
    
    
    
    #define channel2TxEnpedr
    
    (0x4824000TxEnpedr)#define TxC2000G (0x48240004 TxEnpedr)#define G0004 #define C2000G (0x4824000D)#define G000N C2000G (0x48240004 TxEnpedr)#define G000N
    (1U << 10U)
    #define channel1TxEnGpioPin (1U << 4U)
    #define channel2TxEnGpioPin (1U << 6U)
    #define channel3TxEnGpioPin (1U << 23U)
    #define channel4TxEnGpioPin (1U << 12U)
    (1U < 12U)#define channel2TxEnpinel2Tx2Tx2U
    (1U < 12U
    )(1U < 12U)(1U < 12U)(1U Enpinel2TxEnpioPin < 12U)(1U < 6U)#define Cannel2U)(1U 

    最后一部分是用于启用和诊断的 L+高侧驱动器的 IO 、您已经在 gpioPinConfigs[]结构中找到了这些驱动器。

    GPIO4_14只应配置一次、并在 gpioPinConfigs[]中进行配置。

    /*输出引脚:TPS4H160 H_SEH 18*/
    GPIO_DEVICE_CONFIG (4U + 1U、14u)| GPIO_CFG_OUTPUT

    您使用的是哪个 PDK 版本、因此我可以检查它吗?

    您是对的、 AM437x_IDK_YEL1_LED 的注释重复。 这似乎是复制/粘贴错误。

    此致、

    Steffen

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

    Steffen、

    我正在使用 PDK_AM437X_1_0_15。 感谢您的快速回复!

    Thomas

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

    Thomas、

    感谢您提供这些信息。 AM437x_IDK_YEL1_LED 的条目之一实际上是该 LED 连接到 GPIO4_16。 第二个条目是 GPIO3_1、它连接 到 SN65HVS882 LD 引脚。 这在 IO-Link 示例中未使用。

    重复的 GPIO4_14注释与高侧开关相关(文件 ioLink_powerSwitchTask.c 第333和336行)。 GPIO4_14连接到其中一条用于诊断的选择线路。 在中、应将第二个条目注释为 GPIO4_15、并连接到其中一个故障引脚。

    我将尝试在 PDK 中对此进行更正、感谢您指出!

    此致、

    Steffen