Hello,
we have purchased two ColdFire development boards last winter, and we have developed our custom host/expansion board. Everything runs nicely except for a curious problem we have when trying to use some PSC pins as GPIO. I hope somebody could give me some insight to the problem...
Details:
pins affected : PSC0CTS, PSC3RTS, PSC3CTS
PDDR_PSC3PSC2 : 0x02 (rts3 and cts3 as inputs)
PDDR_PSC1PSC0 : 0xC4 (cts as input)
The circuit connected to these GPIO lines of the M5485CFE board is _only_ the drain of a NMOS device (BSS138N), the gate is our external I/O line, source is GND. Nothing else.
Onboard the CFE, there is an external pull-up 4.7k resistor on all these lines; we are using this for applying polarization to the drain.
- When we power up the system, we get unreliable/unexpected voltage levels on the GPIO line. Mostly disturbing is the line is at 0V when the gate is low (=>nmos open => line should get voltage from pull-up).
- Removing the NMOS device reads '1', forcing '0' reads '0' (input current in this case is 0.7mA, which is 3.3V/the pull-up value).
- Sometimes, when applying vGS>0 (nmos active => v should be 0), the NMOS blows up open, as if we applied too much current. We are applying 12V, VGS for the device is rated at +/-20V.
- Now the hard part: removing the CFE board from the system and adding a pull-up resistor (instead of the CFE-supplied one, that is obviously missing), the NMOS works great, no blowups, expected results...
- (FWIW, running the same pins as output is perfectly ok too. Never tested the RTS/CTS functionality, but that doesn't matter to us anyhow.)
We don't know what could be the problem. Any clue that might help us investigate is appreciated... Thanks!!
Luca
|