Dangerous Prototypes

Dangerous Prototypes => Bus Pirate Development => Topic started by: udif on June 30, 2010, 04:37:33 pm

Title: More I/O pins?
Post by: udif on June 30, 2010, 04:37:33 pm
Before I start looking at the JTAG automatic pinout detection code, I realized that in order for this to be useful, I need as many generic I/Os as I can get.
I believe the code tries different combinations of pinout assignments for TDI,TDO,TCK,TMS therefore each pin needs to be dynamically modified to be either an input or output.
The usual scenario probably has much more than 4 unidentified pins, therefore the more pins available, the easier it is to detect JTAG (as long as you don't blow up the board by connecting it carelessly to some high voltage source).

Can all the usual I/O pins be programmed either a input or output? (MISO, MOSI, CLK, CS, AUX) Any HW limitation that constraints any of these to input only or output only?
It also seems that maybe if I turn off VREGEN I might be able to reuse SWV33 (probably not due to the LEDs) and SWV50 .
What is the behavior of the MIC5205 when it is not enabled? is the output in high impedance?
What about PGC, PGD? can I reuse those for generic I/O?

Where can I find TP0,1,2 that I see on the v3 board schematics? Ideally I would rather use only existing pins on the BP, but soldering additional wires to test points is possible.
From what I can judge they are not connected to any pads other than the IC1 pads themselves (pins 6,7,9).
Title: Re: More I/O pins?
Post by: ian on July 01, 2010, 10:20:12 am
Yes, all the I/O pins can be input or output, and are 5volt tolerant. All but AUX also have a pullup resistor.

I'm not sure about the MIC5205 when not powered, I'd assume hi-z, but it could be something else.

PGC and PGD can be used as IOs, but I forget if they are 5volt tolerant (probably on 3v3). Sjaak used them to interface an extra EEPROM from the Bus Pirate.

TP0,1,2 are unused and unconnected to anything. The plan was to use them to trigger a manufacturing self-test, but it got pretty crowded in there and we use a different self-test trigger available from binmode.
Title: Re: More I/O pins?
Post by: Sjaak on July 01, 2010, 10:47:23 am
i don't know if they 5v tolerant, i used a 3v3 eeprom :) i assumed not because of the 3v3 pin next to it. the datasheet will tell. Iirc both can be input or output. The defines for the pins are in basic.*

If used as output a simple diode will do, otherwise it needs some more twiddling. Sparkfun has small breakouts that do levelshifting, but no bidirectional ones.
Title: Re: More I/O pins?
Post by: tayken on July 06, 2010, 06:28:43 pm
You might want to try TXB0108. I was working with Gumstix computer and all I/O pins were 1.8v and found this while searching. I actually didn't use this part but it was used in many projects.

( ! ) Fatal error: Uncaught exception 'Elk_Exception' with message 'Please try again. If you come back to this error screen, report the error to an administrator.' in /var/www/dangerousprototypes/forum/sources/database/Db-mysql.class.php on line 696
( ! ) Elk_Exception: Please try again. If you come back to this error screen, report the error to an administrator. in /var/www/dangerousprototypes/forum/sources/database/Db-mysql.class.php on line 696
Call Stack
#TimeMemoryFunctionLocation
10.00932044080session_write_close ( )...(null):0
20.00962175656ElkArte\sources\subs\SessionHandler\DatabaseHandler->write( )...(null):0
30.00962176432Database_MySQL->query( ).../DatabaseHandler.php:119
40.05592315144Database_MySQL->error( ).../Db-mysql.class.php:273