Propeller boot time observations
Don M
Posts: 1,653
I am starting to experiment with 2 Props connected together. The Slave Prop (Propeller DNA board) is powered from the Main Prop (Quickstart board).
I was having some problems in waiting from a message coming from the Slave so I connected my logic analyzer to the SDA and CLK pins on each board and observed the boot up time. I noticed that when there is a USB connection the boot up time for the Prop is considerably longer than if it is not connected to the USB and just powered by an external source.
Here is a screen shot when just using external power source:
And here are 2 screen shots- one each of them connected to USB while the other one isn't:
It takes 7 seconds to boot up with the USB connected versus 1 1/4 seconds without.
Why is that?
I thought that maybe PST or the Prop Tool were trying to connect somehow but I quit both of those programs and results are still the same. Must have something to do with the PC USB port?
Edit: The bottom 2 lines on the trace are the QS board and the middle 2 are the DNA board.
I was having some problems in waiting from a message coming from the Slave so I connected my logic analyzer to the SDA and CLK pins on each board and observed the boot up time. I noticed that when there is a USB connection the boot up time for the Prop is considerably longer than if it is not connected to the USB and just powered by an external source.
Here is a screen shot when just using external power source:
And here are 2 screen shots- one each of them connected to USB while the other one isn't:
It takes 7 seconds to boot up with the USB connected versus 1 1/4 seconds without.
Why is that?
I thought that maybe PST or the Prop Tool were trying to connect somehow but I quit both of those programs and results are still the same. Must have something to do with the PC USB port?
Edit: The bottom 2 lines on the trace are the QS board and the middle 2 are the DNA board.
Comments
Could that be it?
That's a little stranger, but the delayed start is easier to understand.
I think if the boot see's a long LOW on TXD/RXD it decides there is no point waiting for PC info, and so can skip faster to i2c.
If the lines hint at someone connected, then it needs to wait for link action.
Once it has decided to do i2c boot, you would expect that to not care about the pin states ?
I think the boot code was posted somewhere..
Ground to ground and +5V to +5V. I thought about looking at the reset pin with another channel. When I get a few minutes I'll take a look.
I don't think the issue has to do with the fact I have 2 boards connected together. Even if you use just a single board and compare the traces of DC powered connected versus having the USB powered debug port connected the result is still the same.
The middle 2 traces are the SDA & CLK. The very bottom trace (7) is the Reset line.
http://forums.parallax.com/showthread.php/135067-Serial-Quirk?p=1043169&viewfull=1#post1043169
I believe that thread is discussing the problem with using pin 30 for output on a board with an FT232 on it. Something the DNA is immune to I must add.
Don's problem is happening every time the board is plugged into USB, correct? I've always had Windows reset the FT232 multiple times when first connecting and just passed it off as a Windows "quirk". It would be interesting to see if Linux does this too.
The issue is not board specific. I believe it has to do with interaction of USB port and FTDI chip. And maybe Windows. I don't know. When I get a few moments I'll try it with my MAC.
So the boot up is fast using other than the Windows PC. FWIW I am using goSerial on the Mac.
BTW this issue only shows when first powering up the board via the USB connection. If it's already powered and you press the reset button on the board it boots up fast. So it has something to do with the enumeration process with Windows.