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.

GP[1] on TMS320DM6437

Other Parts Discussed in Thread: TMS320DM6437

Hi all

I can't read GP[1] on my TMS320DM6437. The pin is set up as an input  (GPIO_DIR01 = 0xFFFFFFFF), and I'm pretty sure the pin multiplexing is set up right also. We're booting without PCI enabled (PCIEN pin is wired to ground, and the bootmode configuration register confirms this reading 0x00104104). GP[0] can be read without problems.

Anthony Berthet from the European support centre suggested I recheck my PINMUX settings for violations on the reserved bits (this caused a problem in this case) but I'm sure this is not the issue on my settings(CFG_PINMUX0 = 0x00140101; CFG_PINMUX1 = 0x01004140).

I have this problem across multible PCBs, all of which are working perfectly fine otherwise.

Does anyone have any suggestions?

Thanks

Leon de Wit

 

  • Can't read as in the IN_DATA01 register is always stuck at a certain level for that bit but an external test point says otherwise?

  • Hi Matt

    Thanks for the response. This is exactly what I mean yes.The bit in IN_DATA01 stays 0 irrespective of whether 0 or 3V3 volts is applied to that GPIO pin.

    Leon

  • Well, your pinmux settings look fine.  My only guesses are to check the 3.3V powerdown register to make sure you haven't powered down that gpio block, and to check for a hardware contention on your board.  Have you physically measured the voltage at the pin?

  • Hi Matt

    I've set

    CFG_VDD3P3V_PWDN = 0x00000000;

    so everything should be on. As far as contention is concerned, I've removed the button circuitry and hard wired the pin to 3V3 (measured), but still no luck.

  • Well, that's bizarre.  Can you remove the 3v3 signal, switch the pin to an output, and see the signal change state on the external wire (or at least at the input register)?

  • Hi Matt

    Using that pin as an output does not work. With a 5k6 pullup it measures about 0V7, while with a 3k9 pullup it shows about 2V8 irrespective of whether the pin was set high or low.

    GP[0], right next to the problem GP[1] pin, works as expected when set as either an input or output.

    Any thoughts?

  • Another note: The input register changes values as expected when the output is set.

  • Well, I guess you could make a final test by disabling all peripherals, setting all gpio to input, then see if you can change that pin.  If not, it sure smells like a hardware problem, or some register setting that I am unfamiliar with.  Have you checked your layout for any potential things that might short to that pin?

  • I agree that this sounds like a hardware problem. The question for me is whether the issue is on or off chip. The track leading from the test point where I'm measuring to the DSP ball runs alongside another GPIO track, which is working fine. There's not much else on that layer it could possibly short to.

    Another issue I've considered is possible ESD damage. Since we have this problem across several boards, this would indicate a procedural problem somewhere along our process. I'm at a loss to explain how this would be happening though.

    I'm still talking to the technical support centre to see if there's no 'special' setup combination I'm using that could be causing the issue. I've tried with settings vitually identical to my DVM though (on which this works) but to no avail.