PDA

View Full Version : Should Prop pin 39 or 40 have a pull-up resistor?



Harley
01-10-2009, 04:52 AM
This probably has been covered before, but from Parallax documentation on ProtoBoard and PropPlug/Clip I'm trying to figure out if either line needs to be pulled up.

The PropPlug/Clip document shows Rx on pin 40 with the other end of the line marked Tx on the Plug/Clip, with a black filled triangle 'pointing' into the Prop. Pin 39 is marked Tx with the other end marked Rx, with triangle 'pointing' out of the Prop. No pull-up resistor shown.

And the ProtoBoard no pull-up resistors are shown. Yet somewhere back in time I seem to have heard/read that at least one line should be pulled up.

I'm finding a pcb I have made, without any pull-ups on these lines, seems to work fine if I have a PropPlug on the programming header, but is flakey without; not properly initializing most times.

Is there any documentation that defines further what should have been included on the Parallax schematics?

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Harley Shanko

Phil Pilgrim (PhiPi)
01-10-2009, 05:11 AM
A 1K pullup on A30 (pin 39) will help to prevent the Propeller from resetting sporadically when the Prop Plug is plugged in but not connected to a PC. In this case, your program should still refrain from toggling A30.

-Phil

Harley
01-10-2009, 05:28 AM
Thanks Phil,

Something that bothers me is how can the Tx line, Rx at A31, be left floating? Might noise on that bother the Prop on/after initialization?

And, I don't see why A30, the Prop Tx line marked Rx at the PropPlug end, needs to be pulled up when when no PropPlug is installed.

I'm about to pull up both lines on both Props (on a two-Prop board), but would like to understand why NO pullups seem to exist in Parallax documentations for the Propeller. Seems 10K resistors are adequate.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Harley Shanko

Phil Pilgrim (PhiPi)
01-10-2009, 05:42 AM
Harley,

Please reread my post. The pullup is needed if the Prop Plug is installed and if it's not connected to a PC. The 1K value is to ensure that the FTDI chip on the Prop Plug gets constant power through it's Rx pin during reset, absent a Vcc supply from the PC. This prevents it from toggling its #DTR pin after the Propeller comes out of reset, which will cause it to be reset again. It's an ugly workaround, granted, but it solves an issue stemming from the Prop Plug's design. If you never disconnect your Prop Plug from the PC while leaving it connected to the Prop, you don't need the pullup.

-Phil

Harley
01-10-2009, 06:01 AM
Sorry Phil, maybe I didn't explain my situation well enough. The problem is seen on power up or reset of the Propellers without any PropPlug connected. I have two Props on the pcb; Prop#1 is the master, drives the Tv output, and outputs a 5 MHz clock for Prop#2.

If I don't have a PropPlug on the Prop#1 programming header, initialization usually doesn't work right. But if I plug a PropPlug in on Prop#1, then initialization is OK and Prop#1 runs and outputs to a TV/monitor, for debug purposes. Doesn't seem to help any if a PropPlug is on Prop#2. So I'm figuring this problem has to do something with 'maybe' some sort of pullup on Prop#1 is required, at least, should be in to prevent the A31 line from floating on power-up/reset without a PropPlug. Clearer?

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Harley Shanko

Phil Pilgrim (PhiPi)
01-10-2009, 06:10 AM
Ah, so. Does your program on Prop #1, by any chance, start a serial driver that's looking for input on A31? One thing the Prop Plug does it to hold A31 in a marking (high) state (absent input from the PC). Without the Prop Plug (or a pullup) a serial driver may be seeing a constant break condition, which could affect its behavior.

-Phil

Harley
01-10-2009, 06:19 AM
OK. Thanks Phil. Will persue this 'A31 without pull-up' condition further. What you explained might just be the problem.

To my knowledge my program shouldn't be looking for anything to do with the A30/A31 pin usage in normal, stand alone (no programming device connected) use. I do use other pin pairs for comm with Prop#2 and a separate pcb, but that shouldn't affect A30/A31.

Thanks.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Harley Shanko

Harley
01-10-2009, 07:51 AM
Phil,

Adding a 10K pullup to A31 helped Prop#1 to initialize OK. But now, if I add a PropPlug to Prop#2, it won't initialize properly. So will try a pullup on Prop#2 also.

Strange effect now. Wouldn't init OK with no PropPlugs on without 10K on Prop#1; does now. But add a PropPlug on Prop#2 fails to init.

Dinner time so something for tomorrow. Thanks Phil for the suggestions.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Harley Shanko