Program to test Prop Stability?
rwgast_logicdesign
Posts: 1,464
Ok so Ive built my prop board with all tips given to me by the respected hardware guys here. For right now its all on a bread board, I plan to build a final version after I finish reading the PCB layout guide and get my copper clad to etch, but Im going to be leaving this bread board together for my prototyping platform.
Im no expert propeller coder yet, actually I dont know much at all Im still kind of rewiring the board cleaner and getting all the decoupling stuff along with the crystal as close to the pins as I can on a bread board. I wrote a simple LED flasher in spin to make sure it worked and watch the difference in blink speed when I switch crystals and set there frequency in the program. So far I have had the prop to 112mhz with a 14mhz xtal at pll 8x. Im wondering if there is some simple code out there to load up all the cores to test for stability? Also is there a way to get the frequency the prop is running at via spin code or PASM? The status thing in prop tool just reports back the pll times the xtal freqency from the code no matter what crystal is on the board, im looking for a way to get more accurate I can easily do the multiplication myself.
Also a bit unrealted but while rearranging the board this morning I accidently hit one side of my dip propeller with 4.65 volts instead of 3.3, everything seems fine except my floating pins are out putting .75 volts I remmber the empty pins outputting 0, but I could be mistaken....
Im no expert propeller coder yet, actually I dont know much at all Im still kind of rewiring the board cleaner and getting all the decoupling stuff along with the crystal as close to the pins as I can on a bread board. I wrote a simple LED flasher in spin to make sure it worked and watch the difference in blink speed when I switch crystals and set there frequency in the program. So far I have had the prop to 112mhz with a 14mhz xtal at pll 8x. Im wondering if there is some simple code out there to load up all the cores to test for stability? Also is there a way to get the frequency the prop is running at via spin code or PASM? The status thing in prop tool just reports back the pll times the xtal freqency from the code no matter what crystal is on the board, im looking for a way to get more accurate I can easily do the multiplication myself.
Also a bit unrealted but while rearranging the board this morning I accidently hit one side of my dip propeller with 4.65 volts instead of 3.3, everything seems fine except my floating pins are out putting .75 volts I remmber the empty pins outputting 0, but I could be mistaken....
Comments
4.65V is well over the Absolute Maximum voltage rating of the Propeller (4.0V). You may have lucked out or whatever internal stuff has been damaged hasn't shown up yet.
Running the chip at more than 100 MHz is another source for bugs. As you are still learning I would reduce bugsources as much as I can.
Developing things on a bread-board is OK as long as you don't deal with really high-frequency-signals (more than 1MHz).
For this kind of developing I soldered a 40-DIP-socket on a PCB with 0,1-inch singular dots. Chrystal, capacitors and EEPROM are placed on this board.
So it is a really low-cost self-soldered board.
Pins 0-7, 8-15, 16-23, 24-31 are connected to 150 Ohm current-limiting resistors to each pin. This limits the IO-pin-current to max 20 mA.
The other end of the 150-resistors is connected to a 0,1-inch socket. So only the IO-pins are connectable.
The prop-chip is supplied by a voltage-regulator type L200.
This regulator has the advantage that the current can be limited too. Voltage is adjusted to 3.3V and current to 250 mA which keeps the sum-current through
the propeller-chip under the maximum of 300mA.
With this setup only the IO-pins are connectable to the bread-board. Connecting wrong voltages to supply-pins not possible any more. The only thing you still have to care about
is connecting voltages bigger than 3.3V to propeller-IO-pins. To keep this danger away I would use chips that work at 3.3V whenever possible. For all 5V devices I would solder current-limiting resistors
(4,7 kOhm) to each wire that will be connected to the prop.
best regards
Stefan
I agree with Stefan on running the prop at more than 100 mhz. IMHO, you are just asking for problems doing this. I suspect the rest of the community feels the same way. If you REALLY HAVE TO overclock, I recommend starting with a stock crystal, and moving up to a known working OC crystal. Then push further. Moving the crystal and decoupling caps to another board is NOT recommended.
I am using a prop in a breadboard, at stock 80 mhz. It runs fine. I don't have an OC crystal, but would not expect it to work in a breadboard.
Save yourself a bunch of trouble and stick to stock speeds. Once you get a better grasp on the concepts involved then worry about overclocking.
And as far as designing my own hardware it all goes back to learning from the ground up. Im also trying to design an edicational type micro to sell eventually. I havent said much about this becuase even though ive gotten the hardware side down mostly im afraid of my project becoming vapor ware becuase the software i need to write may be more complex than i think it is, sometimes stuff like this happens. Im also worried about the acuall production side, and the lack of funding when the whole thing is done might cause alot of problems.
Anyways for my plans at this moment I acually have no need to OC and would be fine with the built in ocilliator @ 12-20mhz, but i cant use rc_fast becuase i cant afford the speed drifiting and a crystal provides tighter time. I am however looking to the future and implementing all the techniques i have been told about in order to design a solid bored that is stable when OC. I am currently running a 5mhz xtal, as my standard set up on the bread broard. Lately ive been cleaning up the mess i originally built and am planning on putting the decoupling system and xtal on perfboard as i stated. I decided to do this becuase it will get the caps and xtal closer to the prop, but mostly im doing this becuase becuase the breadbpard is so cramped the if the caps are jiggled just a little they push the metal xtal casing against the props pins. In the original build i did the jumper wires were all to long, some components were to far, and i set up the decoupling caps to go from the props power pins to the breadboards ground plain. The point is with this build everything worked out first time assembeling with no crystall. I had some issues with my acuall breadboard but my design ran great. I then started adding crystals to my breadboard to test things out.
Ok the point is even with that messy first proto type i was able to throw a 5mhz xtal in, then a 6.25mhz xtal. For each xtal I set up the apropiate spin commands for pll and xtal frequency in my CON section, then i pasted a test program in the editor to make an LED flash with dira and waitcnt. Ok with no xtal code ran fine, bumped prop to 80mhz had to slow the waitcnt way down lol, with a 6.25mhz xtal my rythmically challenged mind forced me to use a metranome to verify the LED was pulsing faster and I hadnt sucomb to the placebo effect. I then noticed if i swapped the xtals during run time the led still sped up and slowed down without changing the code.. next i put a 14mhz xtal in, obviouslly pll16@224mhz wasnt going to even boot but i had to try... Next i set the pll to 8 which would be 112mhz and the bored powered up and LED flashed. The fishy thing is that when I pulled the xtal this time the LED kept flashing and it seemed to be about the speed of the internal oscillator, but im not to sure since i accidently broke one of the xtal leads shortly after. I would like to experiment with another 14 and a 16 at pll 8. Im pretty sure with enough tweaking, and hardware/pcb design research I can easily get my design working at these clocks. I dont intened to release my initial project with anything more than a 5mhz xtal. Like i said there is no need for it. I just want to make sure in the future I have these options. Im also addicted to OC whatever I can, and throwing turbos and or nitrous in whatever car I can.. Just something I do. My old desktop was a quad extreme at 4.2 ghz daily on a homade water system and 4.8 under dry ice, with OCed video cards and ram. I chose to run at 3.9 daily in the end the point is I just had to get it as fast as i could and i had to make sure i could run 3d mark for 24 hours before i could justify calling it a capable daily speed.
Im havin a blast with the prop so far. Ive recently readjusted the decoupling caps that were from power pin to ground plain to go across the props ground and power pin. Ive also added a second 3.3V regulator close to the prop and its soley dedicated to the props power pins, nothing else. So now my prop has an exact perfectly steady 3.3v rail driving it. I shortend all the wires down. When i rearrange the caps and xtal to a perfboard im going to add a 4.7uf between the .1uf and 10uf caps. So my testing platform is getting a pretty good design. My problem is Im not a good prop coder yet idk much at all, as a matter of fact when i compare my prop coding knolege to my pc knowlege i might as well no nothing... I understand the prop decently i just havent done enough coding or read enough material to know much. However i do know that blinking a LED doesnt mean the chip is stable. Im also a bit leary beliving the chip is always running at the pll x xtal every test i do, after a few experments with pulling xtals and running wrong freq numbers on purpose.
So what i am asking is the people out there like clusso sepheia micronaughts founder, how do u test stability and verify frequency before claming your boards run props at this speed or that speed? I jist want to know how to test my stuff when i tweak it for the better! I know u guys have some way of knowing if ur oc is bad
I have one test that runs on 15MHz that are reliable compared to original Video running 5MHz.
And I have made my own video that calculated to original give correct difference in running time.
With Video showing original demos pictures BUT faster.
That demo was made by Linus Akesson -- only thing that I changed was PLL and frequency in his original binary file.
I would just like to clarify a few things before I spend all this time building stuff to get this demo working.
#1 the turbulance demo found here http://www.linusakesson.net/scene/turbulence/index.php
is what your reffering too right? I just looked for his site and this was the only prop based project i found.
#2 this demo uses vga and sound, i havent built either of those capabilities yet. I have all the components on hand for vga, but im not sure about audio. If i run the demo without audio hardware the prop will still compute the audio i just wont hear anything correct?
Lastly, in order to set up the xtal speed im going to have to build his plasma assembler in linux to compile the demo?
Yes it is this demo.
If You find original forum thread that describe it --- You will even find my modified version of BINARY file that can run PLL8.
Ps. I found this demo be very good to test reliability of (over clocked) Propeller.
I would reckon a PCB circuit can have more stray capacitance - a big issue is lack of a ground plane. With a ground plane most stray capacitance is to ground rather than other signals, reducing cross talk issues. Also (and perhaps most important) the stray _inductance_ (self and mutual) of a breadboarded circuit will be much higher than a well laid-out PCB. The combination of high stray inductance and no ground plane is not good for transient and high-frequency behaviour. Having said that most digital logic circuits seem to work fine on a breadboard if you have decoupling and keep leads nice and short.
Perhaps there are breadboards than have a groundplane built-in, I've not seen one yet though.
Eight Talking COGS.
Jim
The PROP96 OLED claimed some crazy OC ability but it only worked if you didn't set the "C" flag.
Thank you Duane, excuse my ignorance but what is prop96?
The Prop96 was a OLED display with an integrated Propeller chip, not sold any more:
http://www.youtube.com/watch?v=l_yzYST3xO8
I have a few, and some came with a 10mhz xtal and some came with a 8 mhz.
Jim
I don't think the PASM tutorial link was in this thread. I believe I have a link to it in my index.
The Prop96 was nice little OLED board that included a Prop and a uSD card. It had an 8MHz crystal that they (4D-Systems) said should work with a PLL 16X giving it a clock frequency of 128MHz. It was claimed their superior PCB design let the board obtain these clock speeds and one of the reps from the company became surprisingly insulting when it was suggested there product didn't live up to there claims.
I know the Prop96 lost me many hours as I tried to figure out what I was doing wrong when it turned out the company had made incorrect claims about the products performance. I was new to the Prop and it still bugs me (not a whole lot though).
Rayman has some information on his website about this board. It was a great little board and display when used with a PLL 8X. The the OLED was supposed to be shutdown before being turned off and mine died about a week after I dug it out of storage last year. I think I had a error in my code that caused the Prop to crash leaving he OLED un-shutdown (I think it was really dumb the display had to be "shutdown").
One of the programs that made the Prop96 crash was FullDuplexSerial when the "c" flag was set. (The 4D-Systems rep had blame for everyone but their own board when it would crash. (Did I mention this was irritating?))
Edit: Link to deSilva's and Potatohead's tutorials.