element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
RoadTests & Reviews
  • Products
  • More
RoadTests & Reviews
RoadTest Forum Parallax Propeller, why is it so overlooked?
  • Blog
  • RoadTest Forum
  • Documents
  • RoadTests
  • Reviews
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join RoadTests & Reviews to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • Replies 35 replies
  • Subscribers 2567 subscribers
  • Views 8214 views
  • Users 0 members are here
  • parallax
  • microcontroller
  • propeller
Related

Parallax Propeller, why is it so overlooked?

rwgast
rwgast over 10 years ago

So the parallax propeller is a 32bit 8 core micro. It is what I learned to electronics/embedded coding with! Its basically like having 8 AVR chips in one and never needing an interrupt. Currently im taking the time to learn PASM or Propeller Assembly. I curious as to why there aren't more of these out in the wild? Im also learning ARM and would one day like to switch from electrical to embedded as a career.... but I feel like I am wasting my time with this chip even though its great especially for industrial and robotics multitasking at the bear metal level. I never see a propeller chip in a job discretion or in a product. To me the prop is very close to a software defined CPLD as is maybe the XMOS.

 

What do you all think about the propeller chip?

  • Sign in to reply
  • Cancel

Top Replies

  • clem57
    clem57 over 10 years ago +3
    It is too hard for some non programmers to understand internals here. Hence more ARM programmers. C
  • michaelkellett
    michaelkellett over 10 years ago +3
    The Propeller chip is unpopular for so may reasons: it is very limited compared with ARM Cortex and far from cheap. The 8 processor model is difficult to design with and this puts people off but there…
  • screamingtiger
    screamingtiger over 10 years ago in reply to rwgast +2
    Im not sure what the issue is, but not having a compiler as well as flaunting a new , much more powerful version doesn't help. THough they have yet to release it and its been like 4 years at least! Arm…
Parents
  • michaelkellett
    michaelkellett over 10 years ago

    The Propeller chip is unpopular for so may reasons: it is very limited compared with ARM Cortex and far from cheap.

     

    The 8 processor model is difficult to design with and this puts people off but there are worse features to come - each processor has a very limited amount of memory (512 words is tiny) and access to a bigger common memory (still only a tiny 8k words) is time sliced and so very slow. The next big issue is that the chip has effectively no on-chip peripherals. A typical cheap ARM Cortex will have SPI, I2C, UARTS, timers, USB etc etc.

    Several companies have attempted to dump peripherals and code them all in software - it's never popular because it's hard work and difficult to support in practice and always gives worse performance than dedicated peripheral functions. XMOS are currently plowing this furrow and have found a few niche applications but aren't breaking into the mainstream (they've inherited too much attitude from Inmos so I don't think they ever will make the big time.)

     

    So while the Propeller is interesting, and can give good performance if you get a job that is a really good fit, it isn't  a patch on general purpose micros for general purpose jobs - and they make up most of the market. For niche stuff DSPs are much better at DSP, FPGAs are much better at massively // and can be clocked so much faster etc etc.

     

    So right now I can buy an ARM Cortex with a 180MHz clock 1Mbyte Flash, >192kBytes RAM, on chip USB, Ethernet, Encryption/Decryption etc etc for about the same price - the Propeller just doesn't offer anything expect less stuff and more hassle.

     

    MK

    • Cancel
    • Vote Up +3 Vote Down
    • Sign in to reply
    • Cancel
  • crjeder
    crjeder over 9 years ago in reply to michaelkellett

    So right now I can buy an ARM Cortex with a 180MHz clock 1Mbyte Flash, >192kBytes RAM, on chip USB, Ethernet, Encryption/Decryption etc etc for about the same price - the Propeller just doesn't offer anything expect less stuff and more hassle.

    .. and run a propeller emulation on it with 1:1 speed (probably - I am guessing here)

     

    Several companies have attempted to dump peripherals and code them all in software - it's never popular because it's hard work and difficult to support in practice and always gives worse performance than dedicated peripheral functions.

    Performance should not be an issue, at least not for statdard perpiphals (SPI, PWM, UART, I2C ...) those are all simple protocols. Indeed simple enough to implement them whith a few gates in hardware... that's how they were designed.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • michaelkellett
    michaelkellett over 9 years ago in reply to crjeder

    I'm not quite sure what you are getting at re. peripherals - are you saying that SPI, UART etc are better off in hardware or software ?

     

    MK

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • crjeder
    crjeder over 9 years ago in reply to michaelkellett

    IMHO there should not be any difference, SPI et al are slow compared to the processor speed and not very time critical. So a software implementation is not harmful to the performance. I doubt that this is the reason for software peripheral not being adopted widely.

    A chip manufacturer probably asks: "What do I gain by dropping the hardware implementation of serial peripheral?" Because they already have implemented them in hardware the answer would probably be "Not much!"

    I. E. it does not free significant chip surface. That's why I think they simply stick with hardware implementations. But if you design a completely new chip, you may think about it - as xmos did. Maybe that saved them the whole IO remapping / multiplexing and made the whole design simpler. (but I am again guessing here, I am not a chip designer).

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • michaelkellett
    michaelkellett over 9 years ago in reply to crjeder

    Doing bit bang SPI in software absolutely cripples processor performance - especially when operating as a slave. You need to be watching for clock edges all the time which you can do with an edge detector peripheral and interrupts or by sitting in a loop. One way the processor gets loads of interrupts (at least one for every SPI clock edge) and the other it's 100% dedicated to the task. XMOS get round these issues by having multiple cores and some special support logic. A normal single core processor could not handle SPI at anything like the half or quarter of core clock speed offered by many SPI peripherals.

     

    Modern processors often go one step further than just an SPI peripheral and use DMA as well so not only does the uP core not need to know about clock edges but it need not know or care about exactly when each byte is transferred.

     

    (I've said SPI but applies to other interfaces as well.)

     

    MK

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • screamingtiger
    screamingtiger over 9 years ago in reply to michaelkellett

    Anything in hardware is going to be 1000 times faster than in software.  However if implemented in software you can fix bugs, update standards etc...

    One locked into hardware its written in stone.

     

    The Pic32 has a bug in the I2C that cannot be fixed.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Cancel
  • crjeder
    crjeder over 9 years ago in reply to michaelkellett

    Hmmm. I have to admit that I have not bitbanged a SPI signal but a WS2812. Timing tolerances are normally high enough to simplify the code. In case of the SPI slave I'd asume the masters and slaves clock to be accurate enough to not drift significantly. Then it's enough to have a interupt every SPI clock cycle to sample the input since it is not important to detect the edges only a "hig" or a "low" bit. Or do I overlook something here?

     

    Thanks for your patience!

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Reply
  • crjeder
    crjeder over 9 years ago in reply to michaelkellett

    Hmmm. I have to admit that I have not bitbanged a SPI signal but a WS2812. Timing tolerances are normally high enough to simplify the code. In case of the SPI slave I'd asume the masters and slaves clock to be accurate enough to not drift significantly. Then it's enough to have a interupt every SPI clock cycle to sample the input since it is not important to detect the edges only a "hig" or a "low" bit. Or do I overlook something here?

     

    Thanks for your patience!

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Children
No Data
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube