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.

TM4C1290NCPDT Some Port Pins Issue

Other Parts Discussed in Thread: TM4C1290NCPDT, TM4C1294NCPDT

I am using TIVA TM4C1290NCPDT MCU.

I am having issue related to port pins 53 (PG4),54 (PG5),56 (PG7),57 (PQ5).

I define them to GPIO output and give high logic but pins are always Zero and pin number 55 (PG6),58 (PQ6) are not connected pins in layout and but it shows continuity to ground.

And also no other functionality is working on these pins. I have checked for SSI. In all configuration the pin status is 0 VDC. I have also define those pins as Input and also make internal pull up but still these pins status is 0 VDC.

But the 5(PQ0), 102(PQ4), 49(PG0), 50(PG1) is working properly.

So i think it must be internal problem of MCU in that particular region of MCU.

I got 5 other samples of this MCU from TI. And all are having the same problem.

The Exact Details of MCU is YF TM4C129 4NCPDT13 48ATYHW G4.

So need any suggestions regarding these issue??

  • Ritesh_Panchal said:
    but pins are always Zero and pin number 55 (PG6),58 (PQ6) are not connected pins in layout and but it shows continuity to ground.

    Are you measuring them in software and the pins are always Zero?

    Or are you measuring them in hardware with an oscilloscope?

    Some pins are tied to ground when not used in the board layout. Are you using the Connected Launchpad or a custom board? Then when we are sure what board you are using can you write a new program and make it very small, but that shows the problem just for pin 53 (PG4)?

  • David,

     

    David Hubbard said:
    Are you measuring them in software and the pins are always Zero?

    For pin number 55 (PG6),58 (PQ6), in off condition with mounted on our custom PCB or without mounted, these pins shows continuity with GND pin of MCU measuring using a Digital Multimeter.

    And for 53 (PG4),54 (PG5),56 (PG7),57 (PQ5) pins, with MCU mounted on our custom PCB with running code, these pins showing 0VDC without any spikes. And this i am measuring with an oscilloscope.

    I also made many separate program just defining these pins as GPIO or just as SPI but in all case these pins showing Zero measuring with an oscilloscope. 

  • Thank you for clarifying.

    Can you also clarify this question? You say the markings on the chip are TM4C1294NCPDT13 48ATYHW G4. That is not a TM4C1290NCPDT. Maybe you meant to type a 0?

    Assuming it was a 0 you meant:

    NMI is pin 128

    JTAG/SWD pins are 97,98,99,100

    So this is not a GPIO Commit (GPIOCR) or GPIO Lock (GPIOLOCK) register problem.

    Alternate functions for pins 53-58 are:

    53: PG4, I2C3SCL, SSI2XDAT1, U0CTS

    54: PG5, I2C3SDA, SSI2XDAT0, U0RTS

    55: PG6, I2C4SCL, SSI2Fss

    56: PG7, I2C4SDA, SSI2Clk

    57: PQ5, U1Tx

    58: PQ6, U1DTR

    So the following short program should assert a high logic level on all those pins. I apologize, I do not have the toolchain for the TM4C1290NCPDT installed, so this code could have errors with include files, constant names, or sysclock setup, and I would not realize it. But the GPIO setup should work as follows:

    #include <stdbool.h>
    #include <stdint.h>
    
    #include "inc/hw_gpio.h"
    #include "inc/hw_memmap.h"
    #include "inc/hw_types.h"
    #include "driverlib/pin_map.h"
    #include "driverlib/rom.h"
    #include "driverlib/sysctl.h"
    #include "driverlib/gpio.h"
    
    int main(void) {
    	uint32_t sysclock;
    	do {
    		sysclock = ROM_SysCtlClockFreqSet(SYSCTL_XTAL_25MHZ | SYSCTL_OSC_MAIN | SYSCTL_USE_PLL | SYSCTL_CFG_VCO_480, 120*1000*1000);
    	} while (!sysclock);
    
    	ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOG);
    	ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOQ);
    
    	while (!ROM_SysCtlPeripheralReady(SYSCTL_PERIPH_GPIOG)) ;
    	while (!ROM_SysCtlPeripheralReady(SYSCTL_PERIPH_GPIOQ)) ;
    
    	ROM_GPIOPinTypeGPIOOutput(GPIO_PORTG_BASE, GPIO_PIN_4 | GPIO_PIN_5 | GPIO_PIN_6 | GPIO_PIN_7);
    
    	ROM_GPIOPinTypeGPIOOutput(GPIO_PORTQ_BASE, GPIO_PIN_5 | GPIO_PIN_6);
    
    	ROM_GPIOPinWrite(GPIO_PORTG_BASE,
    		GPIO_PIN_4 | GPIO_PIN_5 | GPIO_PIN_6 | GPIO_PIN_7,
    		GPIO_PIN_4 | GPIO_PIN_5 | GPIO_PIN_6 | GPIO_PIN_7);
    
    	ROM_GPIOPinWrite(GPIO_PORTQ_BASE,
    		GPIO_PIN_5 | GPIO_PIN_6,
    		GPIO_PIN_5 | GPIO_PIN_6);
    
    
    	// stop here, forever
    	for (;;);
    }

  • Now i realize the this is my mistake.

    The part i am using is TM4C1294NCPDT. And in this MCU pins 53 (PG4),54 (PG5),56 (PG7),57 (PQ5) are dedicated to Ethernet. And in TM4C1290NCPDT these pins have general functions. So that's why i am facing the problem.

    Actually i ordered TM4C1290NCPDT MCU. But when i received the MCU in hurry i didn't noticed exactly the part no on the MCU. I just see NCPDT and start evaluating. And other things works fine so never notice the exact part no.

    So i think by mistake TI Ahmedabad guys accidentally sent me the wrong part.

    But thanks for notifying the my mistake. You really saved my lots of effort.