William Wong's view of the Propeller
Harley
Posts: 997
FYI
From today's Electronic Design Update, an article at
www.elecdesign.com/Articles/ArticleID/13329/13329.html
reviewed/critiqued the Propeller. I couldn't tell if he was off-base or not on any of his points.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Harley Shanko
h.a.s. designn
From today's Electronic Design Update, an article at
www.elecdesign.com/Articles/ArticleID/13329/13329.html
reviewed/critiqued the Propeller. I couldn't tell if he was off-base or not on any of his points.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Harley Shanko
h.a.s. designn
Comments
-Phil
Ray
Check out the comments at the bottom of the page.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Propeller + Hardware - extra bits for the bit bucket =· 1 Coffeeless KaosKidd
Post Edited (Kaos Kidd) : 8/30/2006 8:03:42 PM GMT
I agree with Phil, he makes it sound alot more complicated than it really is.
Sounds like he made up some of his own terms, "Cog Code" for example. I know he's refering to assembly, but someone writing an article about microcontrollers, should know what Assembly is.
And some comments were just plain wrong, for example on page 2 he states "The high level Spin code is designed to be slow but more flexible." - Designed to be slow? I sure that's what Chip had in mind while he was designing this, "how can I make this as slow as possible???" He does go on to state that "Because it is interpreted, it is much slower than cog code" That is true, and obvious. Any interpreted code is slowed that pure assembly code.
I just feel that this article would turn off otherwise prospective Propeller users.
Just my feelings,
Brian
Felt I was being scammed on the Prop for some of the things he said. Like a number of wrong things being said, or at least not being described correctly. Good to hear a few other's opinions.
Yes, if I were just hearing of the Prop from his article, I might just be turned off.
About the time I read of the Propeller, I also read about some other companies IC with many more than 8, was it 25 or 256, processors. Which was intriguing until hearing the package was a BGA. That is NOT for the hobbyist! Was so pleased the Propeller also came in DIP form.
For sure, Wong isn't always right! Not even 2 Wongs can make a right!
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Harley Shanko
h.a.s. designn
That is just plain false. No?
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
- - - PLJack - - -
Perfection in design is not achieved when there is nothing left to add.
It is achieved when there is nothing left to take away.
They spend so long going on about what you can read straight from the website/datasheet they always seem to miss the point. The first line should be:
"imagine a processor that would allow you to knock up a digital oscillocope with keyboard mouse and VGA grahics in a weekend, allow fast assembly and powerful and structured high level programming, that didn't require interrupts and was completely software configurable for a huge array of hardware. Imagine that and you are imagining Parallax's new 8 processor power house the propeller!"
You can use that Parallax [noparse]:)[/noparse]
Graham
I read the post BEFORE having any idea about the propeller, I bought one.
What I can tell you, some things are quite easy to implament, some can not be done.
One thing I would have trouble with is a failsafe.
A failsafe is a timer that is reset by a bit of code.
One easy way to do this is have a 555/6 timer IC that has an output to the reset pin of a CPU.
The timer gets refreshed by an output from a line of code on a physical port.
If the system hangs, it reboots.
This is very common in telephone applications where there are usually 2 CPU units running in tandom.
Now there are 8 CPU units in a propeller, but how would you failsafe without a full reboot of the entire chip?
With that said, I have found the propeller chip to be an exciting chip to work (play?) with!
The fact that the high level code is much like BASIC in ease of use makes programming, well, easy.
I am just beginning to explore the propeller, lets see what happens in a few months.
A Cog running a watchdog timer (failsafe) as assembler would be very safe to monitor the other cogs. A failure due to a bug in the code is much more likely than the hardware having issues.
Many controllers have built in watchdog timers which run seperately from the main CPU. Same principle applies to having a cog act as a watchdog.
%0000_0010 cents
-Martin
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Martin Hebel
Southern Illinois University Carbondale - Electronic Systems Technologies
Personal Links with plenty of BASIC Stamp info
StampPlot - Graphical Data Acquisition and Control
On most controllers, if the watchdog times out, the uC is reset starting all over. The same applies here. But also, it is possible to have a cog reload without affecting other cogs.
%0000_0001 more cents
-MH
Second paragraph:
said...
This can make debugging a bit difficult if two processors accidentally use the same pin at the same time in a different fashion
That is just plain false. No?
I don't think that's false. It would be possible. But a good programmer would not write code allowing that.
His statement is like saying it's a bad design for a car to have both a gas pedal and a brake pedal, because if two feet accidentally used both pedals at the same time, it could make driving difficult.
Brian
I think it was a silly statement. Firstly if the cog were not supposed to be using the same pin then it would be very easy to spot, if one cog was making the pin high while the other thought it should be low then that's just the program being wong [noparse]:)[/noparse] it would seem no harder to fix than any other bug as you would see the pin was high when it shouldn't be and could then isolate what is making it high.
Asuming you are passing variables for the pins used rather than using magic numbers it is no worse than using a function with a convential processor.
Graham
There are two 32-bit registers for controlling the I/O pins for each COG that get OR'ed with the other COG's.
Suppose one COG sets I/O # 16 to an OUTPUT...
dira[noparse][[/noparse]16] := 1 'Direction Register for this COG looks like this... %00000000_00000001_00000000_00000000
Now suppose another COG comes along and wants to make the same pin an INPUT...
dira[noparse][[/noparse]16] := 0 'Direction Register for this COG looks like this... %00000000_00000000_00000000_00000000
Although the program will compile, the COG wanting to make the pin an input has lost the battle. Because the two
registers are OR'ed together and the end result sets the pin to an OUTPUT.
The same goes for setting the pin HIGH or LOW. The COG that defines the pin HIGH will over-ride any attempt from
another COG to set the same pin LOW.·· ...In a situation of defining a pin HIGH or LOW the individual COG must also
define the pin as an OUTPUT.· Otherwise the HIGH/LOW state will not be allowed to pass out of the individual·COG.
It simply boils down to being aware of this and designing your application appropriately.
Reference Page 26 and 27 Propeller Manual v1.0
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Beau Schwabe
IC Layout Engineer
Parallax, Inc.
Post Edited (Beau Schwabe (Parallax)) : 9/1/2006 5:57:45 PM GMT
I loved writing the review and I love playing with the Propeller - if I am going to write a review of a product, I want to make sure I know something about it. I don't claim to be an expert, but I try to learn and to teach others what I know. There are two points that I found hard to explain to others when I have talked (or wrote) about the Propeller, one was the change in thinking that must occur when working with eight processors without interrupts. The other was the general hardware design of the micro (i.e. not specific pins for serial ports, I2C, PWM, etc).
For most people, the light bulb will go on eventually. Keep working at learning the Propeller!
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Timothy D. Swieter
tdswieter.com
One little spark is all it takes for an idea to explode
It is alway's interesting to read what other people think about a new product.
I am a little biased here due to the fact that we resell the Propeller and the trusty old
Basic Stamps here Downunder· ... but to give you an inside view of what we as people hear and··see
when we show the Propeller (to prospective customers) in action I thought it is worth sharing
Sorry there is not much technical content...
Now we have knocked up a few demo circuits to show the unique capabilities of the Propeller.
Things like the Video out ... counting high freq pulses on multiple pins, sampling an analog waveform
with multiple A/D chips to show REAL TIME SAMPLING..
All pretty boring stuff to a group of engineers sitting around a table ...right ... your wrong...
As all you Propeller heads know this can all be done no big drama at all...
We on a daily bases get comments like " Parallax where/who·are they "· Why did Parallax come
out with such an incredible device.. not people like Our friends at MicroChip or Atmel...???
Most people that really know what they are on about and are out and about doing real stuff
really appreciate the thought that has gone into this device.
All this device needs is a slightly dif way of thinking...
All this articles in mags are all pretty boring really ... get one.. read the manual and play.
As Ed in the UK say's "Expect to be blown away ... I like that..."
I just got a surprise as well .. Its Father's day here .. lots of pressies..3/9/6
Cheers
Ronald Nollet in OZ.
·