Go Down

Topic: Parallax Propeller II comming 2011 (Read 2468 times) previous topic - next topic

Dukelancelot

Nov 09, 2010, 09:53 pm Last Edit: Nov 10, 2010, 01:05 am by Dukelancelot Reason: 1
The next generation of the Propeller chip is currently under development by Parallax. Nothing is certain about this chip so far, but Parallax has told the community about a lot of features they are expecting to included  8 COGs, 128K Hub RAM (tentatively Beau Schwabe has said 256K is still a possibility), 128 KB ROM, 92 I/Os, and 160Mhz.

Early on they had talked about going with 16 COGs, but due to silicon size and other considerations they have gone back to 8. This may change, or they might do another version later with 16.

In order to have 128 KB RAM and 128KB ROM, they had to expand. They decided to go all the way to 32bit.

ADC/DAC  "EVERY one of the 92 pins will have one these babies in it, along with a comparator, a delta-sigma ADC, a delta-sigma DAC, a high speed signal/video 75-ohm DAC, pull-ups/downs, slew control, float/weak/strong HIGH/LOW combos, schmitt input w/feedback, crystal oscillator, and a few other things"




The only downside that it runs at 1.8v


And here is the Propeller 2 Preliminary Feature List.


General:

   * 32-bit, general purpose multi-core microcontroller
   * 8 identical processors (cogs)
   * Planned 128-pin SMT package(1)

Clock Speed:

   * 160 MHz planned maximum clock speed(1)
   * Internal RC: 20 kHz or 20 MHz (cannot use PLL)
   * External oscillator: DC to 160 MHz (without PLL) or 10 MHz to 32 MHz (with PLL) for system clock speed of 160 MHz maximum(1)
   * PLL modes: 2x, 4x, 8x, 16x input clock multiplier

Performance Metrics:

   * 4-stage pipeline
   * Most instructions are single cycle
   * 1.28 BIPS (160 MIPS x 8 cogs) maximum instruction execution rate(1); assumes that all cogs are running, their pipelines are always full, and only single-cycle instructions are being executed

Memory:

   * Main memory: 128 KB RAM(2) + 32 KB ROM planned
   * Cog memory: 2 KB (512 longs) cog RAM
   * Optional external 32-bit addressable SDRAM for run-time data workspace; code space is not extendable
   * Non-volatile application and data storage via external SPI EEPROM or SD card
   * Cogs can access Main Memory at each hub access window in units of 1 byte, 1 word, 1 long, or 4 contiguous quad-aligned longs.
   * Hub access window arrives for each cog in a round-robin fashion every 8 cycles.

Power Specifications:

   * Core voltage: 1.8 VDC
   * I/O pin voltage: 1.8 VDC-3.3 VDC
   * Current source or sink per I/O: 40 mA
   * Total current draw @ 1.8 VDC Core, 3.3 VDC I/O, 25° C: TBD

 

I/O:

   * 92 I/O pins total: 84 fully general purpose I/O + 8 additional general purpose I/O available after boot-up
   * Each I/O pin is planned(1) to have internal:
         o Input ADC
         o Output DAC
         o True or inverted input/output
         o Differential input/output
         o Comparator
         o Schmitt input

Counter Modules:

   * 2 counter modules, each with 2 integrated waveform generators, per cog

Math:

   * Hardware multiplier and divider
   * Hardware CORDIC system

Video Generation:

   * Each cog has independent video generation hardware capable of VGA, Standard PAL/NTSC, and HD up to 1080p (at 30 Hz).

Code Protection and Encryption:

   * Propeller application and data optionally encrypted in non-volatile storage

Supported Languages:

   * Propeller 2 Spin and Propeller 2 Assembly
   * Propeller 2 Assembly is not fully backwards compatible with Propeller 1 Assembly
   * Some Propeller 1 Spin code may need to be ported to the Propeller 2

   *And all I/Os can be used for SPI and I2C.

I also learned today that each cog can be used as a UART.  So that is 8 UARTs Cool

1.28 BIPS, All I can say is wow.

Imahilus

I see lots of different and conflicting mentions of ROM and RAM values...

Also curious..
Quote
What you've made with Arduino.

Where did the arduino fit into all this?  :P

puzzlebobble

I have a propellor I, the Propstick USB version. I work in cardiac electrophysiology and am no expert at microprocessors or electronics. It is nice, particularly the number of hubs but I keep coming back to Arduino. Nothing yet I've tried to program can't be done with a bit of thinking on a single core. I think the Propellor has a number of problems:

1) The programming language, "spin", is rubbish compared to the C/C++ of Arduino. Yes, you can use assembly but it's a pain. Also, I believe using "spin" the individual hubs are actually slower than an Arduino.
2) The IDE's not as good either. (and only runs on Windows).
3)  The programming library is not as helpful. Maybe it is there but it is not as well organised.
4) the forum is not as good. It is not well laid out and here there are people who know there stuff who are generous with their time. It doesn't have the same community.


mowcius

Quote
The programming language, "spin", is rubbish compared to the C/C++ of Arduino. Yes, you can use assembly but it's a pain. Also, I believe using "spin" the individual hubs are actually slower than an Arduino.

Some people have got C++ working with the propellor and it can use all 8 cogs, no idea how well it works though...

Mowcius

Dukelancelot

Quote
Quote:
The programming language, "spin", is rubbish compared to the C/C++ of Arduino. Yes, you can use assembly but it's a pain. Also, I believe using "spin" the individual hubs are actually slower than an Arduino.

Quote

Some people have got C++ working with the propellor and it can use all 8 cogs, no idea how well it works though...

Mowcius



Yes, there are two C compilers one is free (made by some users) and one is cost $80(Made by Parallax).

both are excellent.

Quote
3)  The programming library is not as helpful. Maybe it is there but it is not as well organised.

It is smaller but it has every thing you need I.E gyros, accelerometer ,encoders, motor drivers.


Quote
4) the forum is not as good. It is not well laid out and here there are people who know there stuff who are generous with their time. It doesn't have the same community.


I would personally disagree it's smaller 20,000 but that doesn't mean it's not as good, there are lots of people with over 4000 posts.
I also think it's laid out just fine, maybe better than the Ardunio forum.

Quote
I have a propellor I, the Propstick USB version. I work in cardiac electrophysiology and am no expert at microprocessors or electronics.

Well than you don't need a 8 core 32-bit processor.
A Arduino can't display 1080P video or make a full speed (12-Mbit/s) USB Host or have 8 simultaneous USARTs.



 

wyager

Those are some very impressive stats... 1.28 BIPS? That's a good 80 times faster than the arduino. And all the things each and every pin can do? Wow... I wish arduino would move to ARM sometime in the future... *hint hint*

Coding Badly

Quote
but Parallax has told the community about a lot of features

Please post a link.

Adz

I have robodruino, arduino, bs2 and 2 propeller chips(education kit+development board) , I think they are all great, really apreciate to hear a new improved model is on the way.

However,  I have never had a parallax product tell me I cannot upload my code to it and give me no definable reason why.

This is what happened with my robodruino today and I was dismayed to find no clear solution or explination to the following error on the forum. I have tried all the solutions offered I can find with no success as many others have commented. Serial port loops seem to have caused many problems for others in the same situation.

I hope the "community" here can finally clarify why this keeps occurring with no answers for noobs from Adruino Gurus?

The following Error is extremely frustrating to many users of this forum as a quick search shows.

Problem uploading to board.

avrdude: stk500_getsync(): not in sync: resp=0x00
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51


wyager

Adz, do you really think this is the thread to ask that question? The first paragraph is the only one related to this thread (maybe the second). There's a very high chance it's just you, and a small chance something is broken. 99% chance one of the following will fix it.
Make sure you have the right board selected in the arduino program. (328 or 168)
Make sure you have the right port selected.
Disconnect everything and reprogram.
Try doing a manual reset before programming.

If I've learned anything from working with micros, it's ALWAYS (my) user error and it helps no one to get angry or point the finger.

Adz


Ran Talbott

Quote
I wish arduino would move to ARM sometime in the future... *hint hint*


Well, there's the Maple,  which is Arduinoish.

Go Up