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.
工具/软件: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