I have a custom board with an MIMXRT1062 on it and I'm seeing strange behavior on only one pin. That pin, GPIO_AD_B1_12 is acting like it isn't connected to the PCB:
All other pins in the GPIO_AD_B1 bank work perfectly through all those tests. I have 5 boards. One 3 of them, all the pins works fine. On 2 of them, I get this bad behavior just on this one pin. While this could be an assembly issue, the boards were electrically tested and the iMXRT processor was x-rayed after assembly. Pressing down on the chip does not temporarily fix the problem. Given that I'm seeing identical problem on the same 1 pin across 2 boards. a bad solder joint seems somewhat unlikely, so I'm trying to rule out other possibilities.
Is there anything special about the GPIO_AD_B1_12 pin?
Is there a Fuse setting that would redirect the H12 pad away from normal GPIO functionality?
Is there some pin read at boot that might configure this pad to be repurposed?
Any ideas on what could cause this behavior other than a bad solder connection on the pad to the PCB?
For reference, here is how I configure the pin for different settings:
IOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B1_12 = 0x15; // Set pad as GPIO
IOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B1_12 |= 0x80 // Set bit 15 for 100k pull up
IOMUXC_SW_PAD_CTL_PAD_GPIO_AD_B1_12 &= ~0xC0 // Clear bits 14 and 15 for 100k pull down
GPIO1_GDIR = 0x1000; //Set pin as output
GPIO1_GDIR = 0x0000; //Set pin as input
GPIO1_DR_SET = 0x1000; //Set pin high
GPIO1_DR_CLEAR = 0x1000; //Set pin low
Thanks!
Solved! Go to Solution.
I was able to confirm that the issue was a bad solder joint. Thanks for the help.
Hi,
Thank you for your interest in NXP Semiconductor products and for the opportunity to serve you.
It seems a bit weird and I guess the issue is related to hardware.
In addition, I'd like to suggest you use the below code line to configure the GPIO_AD_B1_12 pin as GPIO1_IO28.
IOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B1_12 = 0x5; // Set pad as GPIO
Have a great day,
TIC
-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!
- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------
Thanks for the quick reply. I changed from 0x15 to
IOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B1_12 = 0x5; // Set pad as GPIO
and it made no difference.
Hi,
Thanks for your reply.
According to your statement, I think the GPIO_AD_B1_12 pin is floating, in other words, the pad is not assembled well.
I'd like to suggest you use the GPIO_AD_B1_12 as ADC2_IN1to to check whether ADC2 detects the analog signal that connects to the pad.
Have a great day,
TIC
-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!
- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------
Thanks, that's a really good idea. The boards are currently out for inspection of their solder connections. Assuming they doesn't find anything, I'll do this test when I get the boards back.
Thanks,
I was able to confirm that the issue was a bad solder joint. Thanks for the help.
Hi,
Since the board was X-Rayed, could you please tell me how you were able to confirm the bad solder joint fault?