Propeller stand-alone
Rsadeika
Posts: 3,837
Somewhere along the line, I thought I read that the Propeller can be programmed, and used without the eeprom or the crystal. I also vaguely remember that the internal crystal is about 4 MHz, so how fast of baud rate could I achieve in this configuration, and how stable would this be. Having worked with the SX chip, the recomendation was not to use the internal crystal for any comm work, is this also true with the Propeller. Also, I have not seen an example program using this configuration, what would be the necessary lines of code for this.
Thanks
Ray
Thanks
Ray
Comments
It hasn't got an internal crystal. The internal oscillator isn't stable or accurate enough for RS-232.
Leon
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Amateur radio callsign: G1HSM
Suzuki SV1000S motorcycle
Post Edited (Leon) : 1/13/2008 7:06:12 PM GMT
It does not take much to add a crystal (which is 25 EuroCents), and you need no additional cap load.
The internal RC oscillator - running around 12 MHz BTW - is not stable as Leon already remarked. It will not even work for lowest bit rates as 1200 Baud.
For a stand alone version you need of course an EEPROM
If the oscillator is relatively stable during running and consistent across power-cycles it should be usable for reasonably accurate timing ( serial ) although each chip would require calibrating.
Even if only stable during running and not consistent across power-cycles it could be calibrated at each power-up. One could measure the byte/bit timing of a received byte to set the baud rate. That could be done at the start of every data transfer if there were oscillator drift long term but less short term.
If the internal oscillator did drift widely at run-time I wouldn't have thought the download protocol would have worked as well as it does.
-Phil
Frequently; PICAXE and PICmicro. Internal RC oscillators there are rated to +/-1% accuracy in the right conditions, and +/- 2% over most 'normal' voltage and temperature ranges. Some models aren't as well spec'd.
It's far from perfect but well within the +/-6% accuracy required for a serial stream. I've bit-banged 38400 baud with no noted problems.
Maybe the RC in the Propeller is "simply Smile" but I wouldn't have thought so, although I admit I haven't tried it. The proof's in the eating
Leon
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Amateur radio callsign: G1HSM
Suzuki SV1000S motorcycle
Ray
Because the Propeller is capable of such timing flexibility as regards its counters and PLLs, it may have been felt on the part of the developers that being able to adjust the system clock, too, was superfluous. This is to say that one should be able to come up with a FRQx and PLL setting that, once calibrated, will give a baudrate clock of equivalent accuracy to the adjustable system clocks in other controllers.
What remains to compare are the various clock stabilities over temperature, once the system clock or counters/PLLs have been calibrated.
-Phil
Steven
-Phil
Steven
A similar 'timing calibration mechanism' is to send a serial byte of known value so the Propeller can determine bit timing and then read a genuine serial byte sent after it. If the oscillator doesn't drift too much the byte can be read using that calibrated bit time. It's very easy to add an extra two bits to the front of each serial byte transmission to provide that bit time calibration for Propeller-to-Propeller communications. I think that should work, others aren't so confident.