hardware question - propeller not spinning...
dougm
Posts: 11
I built a sort of general IO board for the propeller but I can't seem to get it to connect. I based my design almost entirely on the datasheet for the propstick but using the LQFP.
At first the crystal wasn't spinning so I replaced it with an oscillator and have confirmed that 5Mhz is being driven into XI. Then I noticed that the ResN pin wasn't getting pulled up, so I added a 1K pull-up to that line. It does get pulled up when the software attempts to connect (using the DTR pin on the FT232).
The FT232 appears to be working fine now. I did have to fix it so that VCC was connected to +5 rather than +3.3, but it shows up as a COM port, and I see activity when the Propeller tool attempts to connect.
So I was wondering if you experts could take a quick look at my schematic and see if anything looks amiss?
Thank you,
DougM
At first the crystal wasn't spinning so I replaced it with an oscillator and have confirmed that 5Mhz is being driven into XI. Then I noticed that the ResN pin wasn't getting pulled up, so I added a 1K pull-up to that line. It does get pulled up when the software attempts to connect (using the DTR pin on the FT232).
The FT232 appears to be working fine now. I did have to fix it so that VCC was connected to +5 rather than +3.3, but it shows up as a COM port, and I see activity when the Propeller tool attempts to connect.
So I was wondering if you experts could take a quick look at my schematic and see if anything looks amiss?
Thank you,
DougM
Comments
Oh, now I see.. it is so faint. I will try to read it, but may not be successful.
When I look at the datasheet of the PropStick i see an (big) difference at the circuit around the 32K Eprom in compare with your circuit. Why you have chance this good working section. When I build an circuit around de propeller chip by following the circuit (of the propstick) it's always working.
Greeting AV
I am not up to speed on USB interfaces. You could by pass that and use a RS232 to attempt to confirm that the Propeller is functional and the USB is your problem or vice versa.
There are other elements of the schematic that I don't understand. Maybe someone else will.
A couple of notes:
The eeprom chip isn't populated yet so we can eliminate that.
5 and 3.3v are measuring correctly. I do have 100n decoupling caps on each active component (except the ADC oddly) as well as several caps on the 3.3V reg.
I will try talking to it directly using logic level serial by bypassing the FT232 and let you know if it works.
If you are willing to send me a schematic if your working design I would be happy to see if I can figure out where mine is different.
Thank you,
DougM
Here's my PSM3 schematics for these items.
SSD1921_Test9c_FT232.pdf
SSD1921_Test9c_Prop.pdf
Couple differences:
I'm using the QFP44 instead of DIP, but that shouldn't matter.
I use FT232 with 5V I/O so that it can control 5V power, but that shouldn't matter too much either.
I also found the schematic for RevB of the quickstart board and there are several differences in the USB circuitry, so I'll look at your schematic and that one and see if I can find the issue. I also note that as mentioned above each VDD line needs its own decoupling cap which unfortunately sounds like a new rev of the board.
Thanks for your help all, I've got some stuff to chew on.
DougM
But all of the Parallax Propeller production boards have schematics that are open-source for your reference. Designs vary quite a bit. I generally avoid USB entirely if I build something and use the 40pin DIP.
For DIP version, I usually put a 10uF Ta cap on either side.
You should be able to solder those to your PCB pretty easily as is since VDD and GND pins are close together...
I'd be checking solder joints around the BOEn and RESn pins, the reset button itself, etc.
I don't think that this decoupling cap on every pin should be sprouted like dogma, as it often is. The DIP version only has 2 pins for power so one on each pin only amounts to 2 caps yet it's the same chip. If you have good and tight power and ground planes or pours then you don't really need all these caps, sure, have them if you want, but you don't need them. If the layout is good then you have very low resistance and impedance between these pins and even with a single cap well placed it will perform better than many designs I see with wayward and badly placed decoupling caps snaking their way back to the pin.
BTW, I notice your EEPROM is set to write-protect, but I guess that is intentional then for when you do place it? The reset line should be reading high so make sure you have your 3.3V rail within range. 1K is an awfully low value to use for an optional reset pullup.
@Ray: 10uf tants make very lousy decouplers, one is normally included for "droop" and possible regulator stability issues, especially with LDOs but this type of cap is useless for any high frequency response.
EDIT: Here's a simple schematic that you can access from an online Prop itself:
low-inductance path. This can be achieved with a single cap even if you have power and ground planes
under the chip and decoupling on the back. If you don't want to mount caps on the back of the board
then its hard to route low-inductance paths between pairs unless sets of I/O pins are unused.
I removed the USB chip and connected directly to TX/RX (inverting tx with rx and vice versa along the way) with a standard TTL level serial converter. I see the TX LED blink when it tries to enumerate the propeller.
I re-checked the library to make sure the pinouts agree with the datasheet and the footprint.
I removed the transistor that was controlling the RESn line and checked to see that it floated it up (it does) and also manually pulled it up
So essentially the whole thing has been reduced to the chip, an oscillator and TX/RX lines and still it doesn't work.
Has anyone ever received a bad chip? I bought the un-marked #P8X32A-Q44-U
Is this chip super finicky about power conditioning?
Thanks,
DougM
I doubt it, since Parallax tests all of the chips before selling them.
-Phil
But Phil, the fried PLL has been traced to bad grounding with heavy or inductive loads using the Prop's pins as not so happy go-betweens. The worst that not having a decoupler could do is make the Prop behave unreliably, but it can't fry it.
@dougm, I've never had a dud Prop, a dud board or dud assembly perhaps, but the Prop's are pretty hard to kill. On some boards I have an LED pulled-up on the SCL line, it's handy as a status indicator plus when the Prop starts up it attempts to boot from the EEPROM so you will see the LED flash for a moment. Try that but if it doesn't come up then check your supply volts, with a scope if possible to make sure the supply isn't drooping while the chip is trying to come out of reset. If you don't have a scope then put your meter on AC range which should read effectively zero, but if there is ripple it will show up. Other than that a photo or two will help.
The general wisdom of the forum would indicate that it's somewhat easier than that. For example:
IOW, a noisy power supply and inadequate bypassing can be enough to cause problems. I'm sure I could find other references...
That said, though, I do not believe a bad PLL alone is the OP's problem.
-Phil
The noise actually being a product of CMOS switching transients but the regulator is never fast enough to try and compensate (esp LDOs) so as to overshoot but that is why we have small ceramic decouplers there, they are fast enough. Supply spikes can only do damage when they have sufficient current which is not the case as that current has to come from somewhere and the clamping effect of a whole silicon substrate soon dampens any hopefuls. Typically the worst effects of inadequate decoupling is the operational reliability of the device especially at higher frequencies. Many times those "spikes" that are observed are improperly grounded scope probes etc, the test instrument is only as good as the operator.
But as you said too, I don't believe it's a bad PLL, because even when this is fried it is still possible to program and run the chip without a PLL. I don't know what the OP's problem is, I can't put my finger on it, but I'm sure he has
I have physically removed all components from the PCB except the chip, the 3.3v reg, the caps and the oscillator.
Peter's test of putting an LED on the SCL line indicates that the thing is working - the SCL line kicks maybe 50ms after I power on the chip.
I've triple-checked that the serial lines are going to the right pins.
Here is a piccie of the offending board. I can also post the Eagle .brd file if you'd like.
.
The only thing I haven't done is test with a different PC, but this PC connects to a PropStick without a problem.
Thank you for your help.
DougM
You also need to connect the DTR line, I hope your serial converter provides this signal. The TTL levels must be 3.3V (there are also converters with 5V levels which can damage the Propeller).
The DTR should be connected via the Transistor circuit. But for a first test I think it works also with a direct connection to RESn input or a simple capacitor (1..10nF) between DTR and RESn.
To connect to the Propeller no external oscillator is needed, the boot code uses the internal oscillator. It's also normal that you get not oscillation at the crystal pins until a code is downladed which enables the XTAL mode.
The Propeller is not picky about the supply voltage, good bypass caps are mainly important if you switch indcutive loads.
Andy
-Phil
Genetix, I'm not near anything that generates significant electrical noise, and the PropStick works ok.
Thanks to the couple of people who noted that the oscillator does not run at first startup, that's one thing off my list. :-)
I'm going to have a beer and noodle on this for a while, will let you know what I get to when I get back to it.
Thank you!
DougM
BTW, the +5V directly into the Prop may not actually kill it as the current although higher than allowed is still low enough but I do know that this higher voltage will appear on the supply rail during reset when the Prop's current draw is low and I have observed that the Prop doesn't boot properly in these circumstances.
Well, there is a tendency to get a lot of different opinions from the Propeller Forum. I just prefer to go with what Parallax does in production as problems quickly get noticed, mentioned, and resolved.
Regarding the capacitors on each pair of power inputs... Dogma or not, at least provide SMD pads for all four pairs on the 44 pin board. You may get by with less, there was a thread years ago that explained the real value of following this well-accepted design.
Extra pads for bypass capacitors is often done in industrial production. They then populate the board minimally and observe performance. If it is good, they leave them empty. If there is a problem, they don't have to go to a second run of board productions. It is an excellent cost and time saving approach.
And 10uf by-pass caps are absurdly large for this situation. The concept is to trap transient spikes that are at a much higher pulse than a 10uf might resolve. 0.1uf or even 0.01uf are in the ball park... any value inbetween is okay as well as a starting point. Higher are lower values may need a scope to verify utility.
Some of us get into 'bigger is better' mode without actually understanding that capacitors need to fit the task that they are expected to do... and different tasks require a different approach to selection of size, voltage, and the quality of the capacitor.
Tantalum is not always the best solution, and certainly not always a necessary solution. The topic of which kind of capacitor to use is vast. If you want high quality .. often mylar or polypropylene are preferred as an alternative to tant. But by-pass capacitors tend to do nicely as ceramics.
As much as I love Parallax I can't say that all of their designs could be held up as exemplars, I've seen 1,000uf caps "just to be sure" on the outputs of regulators and I've seen all four caps faithfully fitted but ineffective due to routing and power/ground planes. I would rather omit a cap and route tight to minimise the effective resistance and inductance of the path which is the whole point of decoupling due to shoot-through, core, and I/O current noise.
The other big thing that gets left on it's ownsome is the ridiculous HC49 gull-wing dipole antenna "SMD" crystal that ends up out away from the chip or has all those noisy I/O lines squeezing past it ready to inject their little spikes right into what is effectively a high-impedance amplifier that becomes the master clock for the whole shebang. Considering that there have been much better alternatives for many years I can't understand why anyone would stick with these parts. When I've used them in the past I'd shield them with ground planes and use guard tracks etc but they are just way too big otherwise. Now don't get me started on breadboard practices.... plug-in and otherwise....
I just tried to make the case for providing extra pads to eliminate the need to redesign and reorder a set of boards.
++++++++++
Sticking with old parts might just be a remaining inventory issue. I am only guessing, but it does get expensive to stay up-to-date with everything and buy smaller lots of components.
@Peter J
I do consider your opinions thoughtful and informative, but I tend to fall back on referring to the Parallax schematics and related Forum discussions.
Parallax has indeed gotten distracted at times and rushed to issue a board that was not fully sorted out. Maybe they should just have you as a paid consultant for pre-release review?
There are other vendors with boards; such as Gangster Gadget, Mikronauts, and so on. They might publish alternative schematic material of a superior design.