GPIO08 和GPIO09 读取高电平失败

thor T4000 jetpack7.1 读取高电平失败,pinmux设置如下:

原理图:

Hi caoxiaoqing,

Are you using the devkit or custom board for Thor?

What do you mean about “读取高电平失败”?
How do you connect these 2 GPIOs? It seems you want to use them as Input pins.

你好,

使用的是custom board, 这两个GPIO任何一个作为input,当从外面连接一个3.3V的电压,GPIO08 -> gpioget 0 21 输出的值是0,正常情况应该是1

Could you try running the following command instead?

$ sudo su
# gpioget `gpiofind "PDD.03"`

Please try configuring the Req. Initial State as Int PU for the Input pin.

Have you also verified the signal’s actual state using an oscilloscope or a logic analyzer?

你好,pinmux进行了修改Int PU,终端输出的还是0:

输入信号的电压是3.3V,这个信号在其它正常的GPIO input是正常的

There is an auto-sensing bidirectional level shifter on this signal on the Jetson Thor module. To flip the direction to be an input to the SoC, the driving side (your 3.3V side) should have drive strength of at least 2mA. What is the drive strength on this signal in your design?

我们将R325和R332修改为了800Ω,测试还是读不到高电平,另外pinmux是:

What voltage is on the NV_GPI0 pin?

GPI0_IN接3.3V时, NV_GPI0电压是1.8V;

GPI0_IN悬空时, NV_GPI0电压是0V。

This I/O is 3.3V so the 1.8V level on the carrier board is not high enough to reach the Vih minimum voltage of 2.145V on the level shifter. The Thor SoC I/O for this pin is 1.8V but the module has a level shifter to make the signal 3.3V to the carrier. This is noted by the “GPIO 3V3 Bidrectional” comment for this pin in the pinmux table. You could try reworking the R325 resistor to pull to 3.3V instead of 1.8V. GPIO09 (GP22/SOC_GPIO22 on the SoC) is also 3.3V.